ooo-build r12464 - in trunk: . patches/dev300 patches/vba



Author: pflin
Date: Mon May  5 06:16:54 2008
New Revision: 12464
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12464&view=rev

Log:
	* patches/vba/vba-hyperlink-service.diff,
	* patches/vba/vba-workbook-worksheet-events-dev300.diff:
	  updated based on m10.
	* patches/test/vba/vba-event-mouseclick.diff:  made event handler as
	  a XEnhancedMouseClickHandler.



Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply
   trunk/patches/vba/vba-hyperlink-service.diff
   trunk/patches/vba/vba-workbook-worksheet-events-dev300.diff

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Mon May  5 06:16:54 2008
@@ -1377,9 +1377,8 @@
 
 vba-support-export-palette.diff, i#68900
 
-vba-workbook-worksheet-events.diff
+vba-workbook-worksheet-events-dev300.diff
 vba-workbook-worksheet-events-buildfix.diff
-vba-workbook-worksheet-events2.diff
 
 # superceeded by vbaevens-service-sources.diff
 # leave here for a while 'till we are sure all is ok
@@ -1451,6 +1450,7 @@
 vba-stringtodouble.diff, n#359943, noelpwer
 #fix for n#309981
 vba-fixup-singlerange-sheetref.diff, n#309981, noelpwer
+vba-hyperlink-service.diff, Fong
 
 [ VBAUntested ]
 SectionOwner => noelpwer

Modified: trunk/patches/vba/vba-hyperlink-service.diff
==============================================================================
--- trunk/patches/vba/vba-hyperlink-service.diff	(original)
+++ trunk/patches/vba/vba-hyperlink-service.diff	Mon May  5 06:16:54 2008
@@ -1,6 +1,6 @@
---- oovbaapi/org/openoffice/excel/makefile.mk.orig	2008-04-23 18:01:09.000000000 +0800
-+++ oovbaapi/org/openoffice/excel/makefile.mk	2008-04-23 14:42:23.000000000 +0800
-@@ -96,6 +96,8 @@ IDLFILES= XApplication.idl\
+--- backup/oovbaapi/org/openoffice/excel/makefile.mk	2008-04-30 06:51:43.000000000 +0800
++++ oovbaapi/org/openoffice/excel/makefile.mk	2008-04-30 07:09:52.000000000 +0800
+@@ -92,6 +92,8 @@ IDLFILES= XApplication.idl\
  	Workbook.idl \
  	Worksheet.idl \
  	Window.idl \
@@ -9,8 +9,8 @@
  
  
  # ------------------------------------------------------------------
---- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ oovbaapi/org/openoffice/excel/Hyperlink.idl	2008-04-23 14:41:30.000000000 +0800
+--- /dev/null	2007-05-04 18:54:36.000000000 +0800
++++ oovbaapi/org/openoffice/excel/Hyperlink.idl	2008-04-30 07:09:52.000000000 +0800
 @@ -0,0 +1,54 @@
 +/*************************************************************************
 + *
@@ -66,9 +66,9 @@
 +}; }; };
 +
 +#endif
---- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ oovbaapi/org/openoffice/excel/XHyperlink.idl	2008-04-23 14:41:30.000000000 +0800
-@@ -0,0 +1,67 @@
+--- /dev/null	2007-05-04 18:54:36.000000000 +0800
++++ oovbaapi/org/openoffice/excel/XHyperlink.idl	2008-04-30 07:24:49.000000000 +0800
+@@ -0,0 +1,65 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -134,20 +134,9 @@
 +}; }; };
 +                                                                                                                             
 +#endif
-+
---- backup/sc/source/ui/vba/makefile.mk	2008-04-23 13:51:53.000000000 +0800
-+++ sc/source/ui/vba/makefile.mk	2008-04-23 14:41:30.000000000 +0800
-@@ -121,6 +121,7 @@ SLOFILES= \
-                 $(SLO)$/vbacommandbarcontrols.obj \
-                 $(SLO)$/vbacommandbar.obj \
-                 $(SLO)$/vbacommandbars.obj \
-+		$(SLO)$/vbahyperlink.obj \
- 		$(SLO)$/service.obj \
-  
- 
---- backup/sc/source/ui/vba/service.cxx	2008-04-23 13:51:52.000000000 +0800
-+++ sc/source/ui/vba/service.cxx	2008-04-23 14:44:16.000000000 +0800
-@@ -66,6 +66,10 @@ namespace globals
+--- backup/sc/source/ui/vba/service.cxx	2008-04-30 06:51:18.000000000 +0800
++++ sc/source/ui/vba/service.cxx	2008-04-30 07:13:46.000000000 +0800
+@@ -65,6 +65,10 @@ namespace  userform
  {
  extern sdecl::ServiceDecl const serviceDecl;
  }
@@ -157,8 +146,8 @@
 +}
  
  
- 
-@@ -85,7 +89,7 @@ extern "C"
+ extern "C"
+@@ -83,7 +87,7 @@ extern "C"
  
  	// Component registration
          if ( component_writeInfoHelper( pServiceManager, pRegistryKey, 
@@ -167,7 +156,7 @@
  		{
  			// Singleton registration
  			try
-@@ -113,7 +117,7 @@ extern "C"
+@@ -111,7 +115,7 @@ extern "C"
      {
  		OSL_TRACE("In component_getFactory for %s", pImplName );
  	void* pRet =  component_getFactoryHelper(
@@ -176,8 +165,8 @@
  	OSL_TRACE("Ret is 0x%x", pRet);
  	return pRet;
      }
---- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ sc/source/ui/vba/vbahyperlink.hxx	2008-04-29 11:01:18.000000000 +0800
+--- /dev/null	2007-05-04 18:54:36.000000000 +0800
++++ sc/source/ui/vba/vbahyperlink.hxx	2008-04-30 07:13:46.000000000 +0800
 @@ -0,0 +1,72 @@
 +/*************************************************************************
 + *
@@ -251,8 +240,8 @@
 +};
 +#endif /* SC_VBA_HYPERLINK_HXX */
 +
---- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ sc/source/ui/vba/vbahyperlink.cxx	2008-04-29 11:08:20.000000000 +0800
+--- /dev/null	2007-05-04 18:54:36.000000000 +0800
++++ sc/source/ui/vba/vbahyperlink.cxx	2008-04-30 07:13:46.000000000 +0800
 @@ -0,0 +1,139 @@
 +/*************************************************************************
 + *
@@ -393,3 +382,13 @@
 +    "ScVbaHyperlink",
 +    "org.openoffice.excel.Hyperlink" );
 +}
+--- sc/source/ui/vba/makefile.mk.orig	2008-05-04 12:10:31.000000000 +0800
++++ sc/source/ui/vba/makefile.mk	2008-05-04 12:10:45.000000000 +0800
+@@ -125,6 +125,7 @@ SLOFILES= \
+                 $(SLO)$/vbacommandbarcontrols.obj \
+                 $(SLO)$/vbacommandbar.obj \
+                 $(SLO)$/vbacommandbars.obj \
++        $(SLO)$/vbahyperlink.obj \
+ 		$(SLO)$/service.obj \
+  
+ 

Modified: trunk/patches/vba/vba-workbook-worksheet-events-dev300.diff
==============================================================================
--- trunk/patches/vba/vba-workbook-worksheet-events-dev300.diff	(original)
+++ trunk/patches/vba/vba-workbook-worksheet-events-dev300.diff	Mon May  5 06:16:54 2008
@@ -1,7 +1,7 @@
-diff -urp backup/sc/inc/document.hxx sc/inc/document.hxx
---- backup/sc/inc/document.hxx	2008-04-23 13:51:49.000000000 +0800
-+++ sc/inc/document.hxx	2008-04-23 14:32:58.000000000 +0800
-@@ -166,6 +166,7 @@ class ScAutoNameCache;
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/inc/document.hxx sc/inc/document.hxx
+--- backup/sc/inc/document.hxx	2008-04-30 18:58:37.000000000 +0800
++++ sc/inc/document.hxx	2008-04-30 19:02:20.000000000 +0800
+@@ -132,6 +132,7 @@ class ScAutoNameCache;
  class ScTemporaryChartLock;
  class ScLookupCache;
  struct ScLookupCacheMapImpl;
@@ -9,7 +9,7 @@
  
  namespace com { namespace sun { namespace star {
      namespace lang {
-@@ -340,6 +341,8 @@ private:
+@@ -306,6 +307,8 @@ private:
  
  	Timer				aTrackTimer;
  
@@ -18,7 +18,7 @@
  public:
      ScTabOpList         aTableOpList;		            // list of ScInterpreterTableOpParams currently in use
      ScInterpreterTableOpParams  aLastTableOpParams;     // remember last params
-@@ -1740,6 +1743,8 @@ public:
+@@ -1713,6 +1716,8 @@ public:
  	void GetSortParam( ScSortParam& rParam, SCTAB nTab );
  	void SetSortParam( ScSortParam& rParam, SCTAB nTab );
  
@@ -27,10 +27,10 @@
      /** Should only be GRAM_PODF or GRAM_ODFF. */
      void                SetStorageGrammar( ScGrammar::Grammar eGrammar );
      ScGrammar::Grammar  GetStorageGrammar() const
-diff -urp backup/sc/source/core/data/documen2.cxx sc/source/core/data/documen2.cxx
---- backup/sc/source/core/data/documen2.cxx	2008-04-23 13:51:57.000000000 +0800
-+++ sc/source/core/data/documen2.cxx	2008-04-23 14:29:57.000000000 +0800
-@@ -106,6 +106,7 @@
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/core/data/documen2.cxx sc/source/core/data/documen2.cxx
+--- backup/sc/source/core/data/documen2.cxx	2008-04-30 18:58:42.000000000 +0800
++++ sc/source/core/data/documen2.cxx	2008-04-30 19:02:20.000000000 +0800
+@@ -93,6 +93,7 @@
  #include "listenercalls.hxx"
  #include "recursionhelper.hxx"
  #include "lookupcache.hxx"
@@ -38,7 +38,7 @@
  
  // pImpl because including lookupcache.hxx in document.hxx isn't wanted, and
  // dtor is convenient.
-@@ -159,6 +160,7 @@ ScDocument::ScDocument( ScDocumentMode	e
+@@ -146,6 +147,7 @@ ScDocument::ScDocument( ScDocumentMode	e
          pRecursionHelper( NULL ),
          pAutoNameCache( NULL ),
          pLookupCacheMapImpl( NULL ),
@@ -46,7 +46,7 @@
          nUnoObjectId( 0 ),
          nRangeOverflowType( 0 ),
  		aCurTextWidthCalcPos(MAXCOL,0,0),
-@@ -447,6 +449,12 @@ ScDocument::~ScDocument()
+@@ -434,6 +436,12 @@ ScDocument::~ScDocument()
  	delete pOtherObjects;
      delete pRecursionHelper;
  
@@ -59,7 +59,7 @@
      DBG_ASSERT( !pAutoNameCache, "AutoNameCache still set in dtor" );
  }
  
-@@ -1870,3 +1878,13 @@ void ScDocument::RemoveLookupCache( ScLo
+@@ -1857,3 +1865,13 @@ void ScDocument::RemoveLookupCache( ScLo
          EndListeningArea( pCache->getRange(), &rCache);
      }
  }
@@ -73,10 +73,10 @@
 +
 +	return pVbaEventsHelper;
 +}
-diff -urp backup/sc/source/core/data/documen7.cxx sc/source/core/data/documen7.cxx
---- backup/sc/source/core/data/documen7.cxx	2008-04-23 13:51:57.000000000 +0800
-+++ sc/source/core/data/documen7.cxx	2008-04-23 14:29:57.000000000 +0800
-@@ -67,6 +67,9 @@
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/core/data/documen7.cxx sc/source/core/data/documen7.cxx
+--- backup/sc/source/core/data/documen7.cxx	2008-04-30 18:58:42.000000000 +0800
++++ sc/source/core/data/documen7.cxx	2008-04-30 19:02:20.000000000 +0800
+@@ -59,6 +59,9 @@
  
  
  #include "globstr.hrc"
@@ -86,7 +86,7 @@
  
  extern const ScFormulaCell* pLastFormulaTreeTop;	// cellform.cxx Err527 WorkAround
  
-@@ -457,6 +460,7 @@ void ScDocument::TrackFormulas( ULONG nH
+@@ -449,6 +452,7 @@ void ScDocument::TrackFormulas( ULONG nH
  		ScFormulaCell* pTrack;
  		ScFormulaCell* pNext;
  		pTrack = pFormulaTrack;
@@ -94,7 +94,7 @@
  		do
  		{
  			ScHint aHint( nHintId, pTrack->aPos, pTrack );
-@@ -466,6 +470,12 @@ void ScDocument::TrackFormulas( ULONG nH
+@@ -458,6 +462,12 @@ void ScDocument::TrackFormulas( ULONG nH
  			//	Repaint fuer bedingte Formate mit relativen Referenzen:
  			if ( pCondFormList )
  				pCondFormList->SourceChanged( pTrack->aPos );
@@ -107,7 +107,7 @@
  			pTrack = pTrack->GetNextTrack();
  		} while ( pTrack );
  		pTrack = pFormulaTrack;
-@@ -488,6 +498,14 @@ void ScDocument::TrackFormulas( ULONG nH
+@@ -480,6 +490,14 @@ void ScDocument::TrackFormulas( ULONG nH
  			else
  				SetForcedFormulaPending( TRUE );
  		}
@@ -122,10 +122,10 @@
  	}
  	DBG_ASSERT( nFormulaTrackCount==0, "TrackFormulas: nFormulaTrackCount!=0" );
  }
-diff -urp backup/sc/source/core/tool/makefile.mk sc/source/core/tool/makefile.mk
---- backup/sc/source/core/tool/makefile.mk	2008-04-23 13:52:00.000000000 +0800
-+++ sc/source/core/tool/makefile.mk	2008-04-23 14:34:12.000000000 +0800
-@@ -114,7 +114,8 @@ SLOFILES =  \
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/core/tool/makefile.mk sc/source/core/tool/makefile.mk
+--- backup/sc/source/core/tool/makefile.mk	2008-04-30 18:58:42.000000000 +0800
++++ sc/source/core/tool/makefile.mk	2008-04-30 19:02:20.000000000 +0800
+@@ -110,7 +110,8 @@ SLOFILES =  \
  		$(SLO)$/unitconv.obj \
  		$(SLO)$/userlist.obj \
  		$(SLO)$/viewopti.obj \
@@ -135,7 +135,7 @@
  
  EXCEPTIONSFILES= \
  		$(SLO)$/addincol.obj \
-@@ -130,6 +131,7 @@ EXCEPTIONSFILES= \
+@@ -126,6 +127,7 @@ EXCEPTIONSFILES= \
          $(SLO)$/interpr5.obj \
  		$(SLO)$/lookupcache.obj \
          $(SLO)$/prnsave.obj \
@@ -143,10 +143,10 @@
  		$(SLO)$/token.obj
  
  # [kh] POWERPC compiler problem
-diff -urp backup/sc/source/ui/docshell/docsh.cxx sc/source/ui/docshell/docsh.cxx
---- backup/sc/source/ui/docshell/docsh.cxx	2008-04-23 14:28:47.000000000 +0800
-+++ sc/source/ui/docshell/docsh.cxx	2008-04-23 16:43:55.000000000 +0800
-@@ -33,6 +33,8 @@
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/docshell/docsh.cxx sc/source/ui/docshell/docsh.cxx
+--- backup/sc/source/ui/docshell/docsh.cxx	2008-04-30 18:58:42.000000000 +0800
++++ sc/source/ui/docshell/docsh.cxx	2008-04-30 19:30:43.000000000 +0800
+@@ -28,6 +28,8 @@
   *
   ************************************************************************/
  
@@ -155,24 +155,17 @@
  // MARKER(update_precomp.py): autogen include statement, do not remove
  #include "precompiled_sc.hxx"
  // System - Includes -----------------------------------------------------
-@@ -146,12 +148,16 @@
- #include "docsh.hxx"
- #include "docshimp.hxx"
- 
-+#include "uiitems.hxx"
-+
- #ifndef _RTL_LOGFILE_HXX_
+@@ -131,6 +133,9 @@
  #include <rtl/logfile.hxx>
- #endif
  
  #include <comphelper/processfactory.hxx>
- 
++#include "uiitems.hxx"
 +#include "vbaeventshelper.hxx"
-+
++#include "cellsuno.hxx"
+ 
  using namespace com::sun::star;
  
- // STATIC DATA -----------------------------------------------------------
-@@ -692,7 +698,6 @@ BOOL ScDocShell::SaveXML( SfxMedium* pSa
+@@ -672,7 +677,6 @@ BOOL ScDocShell::SaveXML( SfxMedium* pSa
  BOOL __EXPORT ScDocShell::Load( SfxMedium& rMedium )
  {
  	RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::Load" );
@@ -180,7 +173,7 @@
  	ScRefreshTimerProtector( aDocument.GetRefreshTimerControlAddress() );
  
  	//	only the latin script language is loaded
-@@ -735,10 +740,43 @@ BOOL __EXPORT ScDocShell::Load( SfxMediu
+@@ -715,10 +719,43 @@ BOOL __EXPORT ScDocShell::Load( SfxMediu
  		aDocument.InvalidateTableArea();
  
  	bIsEmpty = FALSE;
@@ -224,7 +217,7 @@
  
  void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
  {
-@@ -774,6 +812,12 @@ void __EXPORT ScDocShell::Notify( SfxBro
+@@ -754,6 +791,12 @@ void __EXPORT ScDocShell::Notify( SfxBro
  			pAutoStyleList = new ScAutoStyleList(this);
  		pAutoStyleList->AddInitial( aRange, aName1, nTimeout, aName2 );
  	}
@@ -237,7 +230,7 @@
      else if ( rHint.ISA( SfxEventHint ) )
      {
          ULONG nEventId = ((SfxEventHint&)rHint).GetEventId();
-@@ -945,6 +989,13 @@ void __EXPORT ScDocShell::Notify( SfxBro
+@@ -940,6 +983,13 @@ void __EXPORT ScDocShell::Notify( SfxBro
                      }
                  }
                  break;
@@ -251,7 +244,7 @@
              default:
                  {
                  }
-@@ -1438,6 +1489,10 @@ BOOL __EXPORT ScDocShell::ConvertFrom( S
+@@ -1433,6 +1483,10 @@ BOOL __EXPORT ScDocShell::ConvertFrom( S
  		if ( bSetRowHeights )
  			UpdateAllRowHeights();		// with vdev or printer, depending on configuration
  	}
@@ -262,7 +255,7 @@
  	FinishedLoading( SFX_LOADED_MAINDOCUMENT | SFX_LOADED_IMAGES );
  
  	// #73762# invalidate eventually temporary table areas
-@@ -2214,7 +2269,6 @@ BOOL __EXPORT ScDocShell::SaveCompleted(
+@@ -2209,7 +2263,6 @@ BOOL __EXPORT ScDocShell::SaveCompleted(
      return SfxObjectShell::SaveCompleted( xStor );
  }
  
@@ -270,7 +263,7 @@
  BOOL __EXPORT ScDocShell::DoSaveCompleted( SfxMedium * pNewStor )
  {
  	BOOL bRet = SfxObjectShell::DoSaveCompleted( pNewStor );
-@@ -2251,6 +2305,11 @@ USHORT __EXPORT ScDocShell::PrepareClose
+@@ -2246,6 +2299,11 @@ USHORT __EXPORT ScDocShell::PrepareClose
  
  	DoEnterHandler();
  
@@ -282,10 +275,53 @@
  	USHORT nRet = SfxObjectShell::PrepareClose( bUI, bForBrowsing );
  	if (nRet == TRUE)						// TRUE = schliessen
  		aDocument.DisableIdle(TRUE);		// nicht mehr drin rumpfuschen !!!
-diff -urp backup/sc/source/ui/inc/docsh.hxx sc/source/ui/inc/docsh.hxx
---- backup/sc/source/ui/inc/docsh.hxx	2008-04-23 14:28:42.000000000 +0800
-+++ sc/source/ui/inc/docsh.hxx	2008-04-23 17:05:42.000000000 +0800
-@@ -200,6 +200,7 @@ public:
+@@ -2455,6 +2513,42 @@ void ScDocShell::SetModified( BOOL bModi
+ 	}
+ }
+ 
++void ScDocShell::PostContentChanged( const ScRange& rRange )
++{
++//  OSL_TRACE("ScDocShell::PostContentChanged. Changed Range Address: nTab1 = %d, nCol1 = %d, nRow1 = %d; nTab2 = %d, nCol2 = %d, nRow2 = %d;", rRange.aStart.Tab(), rRange.aStart.Col(), rRange.aStart.Row(), rRange.aEnd.Tab(), rRange.aEnd.Col(), rRange.aEnd.Row() );
++
++    ScRangeList aList;
++    aList.Append(rRange);
++    PostContentChanged(aList);
++}
++
++void ScDocShell::PostContentChanged( const ScRangeList& rList )
++{
++#if 0		
++    String aStr;
++    rList.Format(aStr, SCR_ABS, &aDocument, ScAddress::CONV_XL_A1);
++    fprintf(stdout, "ScDocShell::PostContentChanged:   range = '%s'\n",
++            rtl::OUStringToOString(aStr, RTL_TEXTENCODING_UTF8).getStr());
++#endif
++
++    ScCellRangesBase* pObj = NULL;
++	const ScRange& rRange = *(rList.GetObject(0));	
++	if( rList.Count() == 1 )
++	{
++    	if (rRange.aStart == rRange.aEnd)
++    	    pObj = new ScCellObj( this, rRange.aStart );
++	   	else
++	       	pObj = new ScCellRangeObj( this, rRange );
++	}
++	else
++		pObj = new ScCellRangesObj( this, rList );	
++
++    uno::Sequence< uno::Any > aArgs(1);
++    aArgs[0] = uno::makeAny(uno::Reference<uno::XInterface>(static_cast<cppu::OWeakObject*>(pObj)));
++
++    SCTAB nTab = rRange.aStart.Tab();
++    aDocument.GetVbaEventsHelper()->executeSheetMacro( SC_VBAEVENT_SHEET_CHANGE, nTab, aArgs );
++}
+ 
+ void ScDocShell::SetDocumentModified( BOOL bIsModified /* = TRUE */ )
+ {
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/inc/docsh.hxx sc/source/ui/inc/docsh.hxx
+--- backup/sc/source/ui/inc/docsh.hxx	2008-04-30 18:58:38.000000000 +0800
++++ sc/source/ui/inc/docsh.hxx	2008-04-30 19:10:47.000000000 +0800
+@@ -178,6 +178,7 @@ public:
      using SfxShell::Activate;           // with BOOL bMDI
      using SfxShell::Deactivate;         // with BOOL bMDI
      using SfxObjectShell::Print;        // print styles
@@ -293,20 +329,210 @@
  
  	virtual void    Activate();
  	virtual void    Deactivate();
-diff -urp backup/sc/source/ui/unoobj/viewuno.cxx sc/source/ui/unoobj/viewuno.cxx
---- backup/sc/source/ui/unoobj/viewuno.cxx	2008-04-23 14:28:47.000000000 +0800
-+++ sc/source/ui/unoobj/viewuno.cxx	2008-04-23 14:29:57.000000000 +0800
-@@ -85,7 +85,8 @@
- #ifndef SC_ACCESSIBILITYHINTS_HXX
+@@ -326,6 +327,8 @@ public:
+ 	void            PostPaintExtras();
+ 
+ 	void            PostDataChanged();
++	void			PostContentChanged( const ScRange& rRange ); // for worsheet/workbook changed event
++    void            PostContentChanged( const ScRangeList& rList );
+ 
+ 	void			UpdatePaintExt( USHORT& rExtFlags, SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab,
+ 													   SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab );
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/undo/undoblk3.cxx sc/source/ui/undo/undoblk3.cxx
+--- backup/sc/source/ui/undo/undoblk3.cxx	2008-04-30 18:58:39.000000000 +0800
++++ sc/source/ui/undo/undoblk3.cxx	2008-04-30 19:10:47.000000000 +0800
+@@ -112,6 +112,15 @@ ScUndoDeleteContents::ScUndoDeleteConten
+ 	if ( !(aMarkData.IsMarked() || aMarkData.IsMultiMarked()) )		// keine Zelle markiert:
+ 		aMarkData.SetMarkArea( aRange );							// Zelle unter Cursor markieren
+ 
++    if (aMarkData.IsMarked() || aMarkData.IsMultiMarked())
++    {
++        ScRangeList aList;
++        aMarkData.FillRangeListWithMarks(&aList, false);
++        pDocShell->PostContentChanged(aList);
++    }
++    else
++        pDocShell->PostContentChanged( aRange );
++
+ 	SetChangeTrack();
+ }
+ 
+@@ -202,6 +211,15 @@ void ScUndoDeleteContents::DoChange( con
+ 	if (pViewShell)
+ 		pViewShell->CellContentChanged();
+ 
++    if (aMarkData.IsMarked() || aMarkData.IsMultiMarked())
++    {
++        ScRangeList aList;
++        aMarkData.FillRangeListWithMarks(&aList, false);
++        pDocShell->PostContentChanged(aList);
++    }
++    else
++        pDocShell->PostContentChanged( aRange );
++
+ 	ShowTable( aRange );
+ }
+ 
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/undo/undoblk.cxx sc/source/ui/undo/undoblk.cxx
+--- backup/sc/source/ui/undo/undoblk.cxx	2008-04-30 18:58:39.000000000 +0800
++++ sc/source/ui/undo/undoblk.cxx	2008-04-30 19:10:47.000000000 +0800
+@@ -124,6 +124,7 @@ ScUndoInsertCells::ScUndoInsertCells( Sc
+ 		aEffRange.aEnd.SetRow(MAXROW);
+ 	}
+ 
++	pDocShell->PostContentChanged( aEffRange );
+ 	SetChangeTrack();
+ }
+ 
+@@ -259,6 +260,7 @@ void ScUndoInsertCells::DoChange( const 
+ 	if (pViewShell)
+ 		pViewShell->CellContentChanged();
+ 
++	pDocShell->PostContentChanged( aEffRange );
+ 	ShowTable( aEffRange.aStart.Tab() );
+ }
+ 
+@@ -332,6 +334,8 @@ ScUndoDeleteCells::ScUndoDeleteCells( Sc
+ 		aEffRange.aEnd.SetRow(MAXROW);
+ 	}
+ 
++	pDocShell->PostContentChanged( aEffRange );
++
+ 	SetChangeTrack();
+ }
+ 
+@@ -464,6 +468,7 @@ void ScUndoDeleteCells::DoChange( const 
+ 
+ 	pDocShell->PostDataChanged();
+ 	//	CellContentChanged kommt mit der Markierung
++	pDocShell->PostContentChanged( aWorkRange );
+ 
+ 	ShowTable( aEffRange.aStart.Tab() );
+ }
+@@ -713,6 +718,7 @@ ScUndoCut::ScUndoCut( ScDocShell* pNewDo
+ 	pUndoDoc( pNewUndoDoc ),
+ 	aExtendedRange( aRange )
+ {
++	pDocShell->PostContentChanged( aExtendedRange );
+ 	SetChangeTrack();
+ }
+ 
+@@ -771,6 +777,7 @@ void ScUndoCut::DoChange( const BOOL bUn
+ 	pDocShell->PostDataChanged();
+ 	if (pViewShell)
+ 		pViewShell->CellContentChanged();
++	pDocShell->PostContentChanged( aExtendedRange );
+ }
+ 
+ void __EXPORT ScUndoCut::Undo()
+@@ -837,6 +844,7 @@ ScUndoPaste::ScUndoPaste( ScDocShell* pN
+ 
+ 	if ( pOptions )
+ 		aPasteOptions = *pOptions;		// used only for Repeat
++	pDocShell->PostContentChanged( aBlockRange );
+ 
+ 	SetChangeTrack();
+ }
+@@ -1012,6 +1020,7 @@ void ScUndoPaste::DoChange( const BOOL b
+ 	pDocShell->PostDataChanged();
+ 	if (pViewShell)
+ 		pViewShell->CellContentChanged();
++	pDocShell->PostContentChanged( aDrawRange );
+ }
+ 
+ void __EXPORT ScUndoPaste::Undo()
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/undo/undocell.cxx sc/source/ui/undo/undocell.cxx
+--- backup/sc/source/ui/undo/undocell.cxx	2008-04-30 18:58:39.000000000 +0800
++++ sc/source/ui/undo/undocell.cxx	2008-04-30 19:10:47.000000000 +0800
+@@ -213,6 +213,7 @@ ScUndoEnterData::ScUndoEnterData( ScDocS
+ 	nTab( nNewTab ),
+ 	nCount( nNewCount )
+ {
++	pDocShell->PostContentChanged( ScRange( ScAddress( nCol, nRow, nTab ) ) );
+ 	SetChangeTrack();
+ }
+ 
+@@ -249,6 +250,7 @@ void ScUndoEnterData::DoChange() const
+ 		pViewShell->MoveCursorAbs( nCol, nRow, SC_FOLLOW_JUMP, FALSE, FALSE );
+ 	}
+ 
++	pDocShell->PostContentChanged( ScRange( ScAddress( nCol, nRow, nTab ) ) );
+ 	pDocShell->PostDataChanged();
+ }
+ 
+@@ -370,6 +372,7 @@ ScUndoEnterValue::ScUndoEnterValue( ScDo
+ 	nValue		( nVal ),
+ 	bNeedHeight	( bHeight )
+ {
++	pDocShell->PostContentChanged( ScRange( aPos ) );
+ 	SetChangeTrack();
+ }
+ 
+@@ -420,6 +423,8 @@ void __EXPORT ScUndoEnterValue::Undo()
+ 
+ 	pDocShell->PostPaintCell( aPos.Col(), aPos.Row(), aPos.Tab() );
+ 
++	pDocShell->PostContentChanged( ScRange( aPos ) );
++
+ 	ScChangeTrack* pChangeTrack = pDoc->GetChangeTrack();
+ 	if ( pChangeTrack )
+ 		pChangeTrack->Undo( nEndChangeAction, nEndChangeAction );
+@@ -435,6 +440,8 @@ void __EXPORT ScUndoEnterValue::Redo()
+ 	pDoc->SetValue( aPos.Col(), aPos.Row(), aPos.Tab(), nValue );
+ 	pDocShell->PostPaintCell( aPos.Col(), aPos.Row(), aPos.Tab() );
+ 
++	pDocShell->PostContentChanged( ScRange( aPos ) );
++
+ 	SetChangeTrack();
+ 
+ 	EndRedo();
+@@ -464,6 +471,7 @@ ScUndoPutCell::ScUndoPutCell( ScDocShell
+ 	pEnteredCell( pRedoCell ),
+ 	bNeedHeight	( bHeight )
+ {
++	pDocShell->PostContentChanged( ScRange( aPos ) );
+ 	SetChangeTrack();
+ }
+ 
+@@ -516,6 +524,8 @@ void __EXPORT ScUndoPutCell::Undo()
+ 
+ 	pDocShell->PostPaintCell( aPos.Col(), aPos.Row(), aPos.Tab() );
+ 
++	pDocShell->PostContentChanged( ScRange( aPos ) );
++
+ 	ScChangeTrack* pChangeTrack = pDoc->GetChangeTrack();
+ 	if ( pChangeTrack )
+ 		pChangeTrack->Undo( nEndChangeAction, nEndChangeAction );
+@@ -546,6 +556,8 @@ void __EXPORT ScUndoPutCell::Redo()
+ 
+ 	pDocShell->PostPaintCell( aPos.Col(), aPos.Row(), aPos.Tab() );
+ 
++	pDocShell->PostContentChanged( ScRange( aPos ) );
++
+ 	SetChangeTrack();
+ 
+ 	EndRedo();
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/unoobj/viewuno.cxx sc/source/ui/unoobj/viewuno.cxx
+--- backup/sc/source/ui/unoobj/viewuno.cxx	2008-04-30 18:58:41.000000000 +0800
++++ sc/source/ui/unoobj/viewuno.cxx	2008-05-05 12:23:04.000000000 +0800
+@@ -71,6 +71,8 @@
+ #include "gridwin.hxx"
+ #include <com/sun/star/view/DocumentZoomType.hpp>
  #include "AccessibilityHints.hxx"
- #endif
--
 +#include <com/sun/star/awt/MouseButton.hpp>
 +#include "vbaeventshelper.hxx"
+ 
  using namespace com::sun::star;
  
- //------------------------------------------------------------------------
-@@ -1192,36 +1193,64 @@ sal_Bool ScTabViewObj::MousePressed( con
+@@ -480,7 +482,6 @@ ScTabViewObj::ScTabViewObj( ScTabViewShe
+ 	aActivationListeners( 0 ),
+ 	bDrawSelModeSet(sal_False)
+ {
+-	//!	Listening oder so
+ }
+ 
+ ScTabViewObj::~ScTabViewObj()
+@@ -1206,36 +1207,64 @@ sal_Bool ScTabViewObj::MousePressed( con
  {
      sal_Bool bReturn(sal_False);
  
@@ -340,7 +566,7 @@
 -        if (xTarget.is())
 -        {
 -            awt::EnhancedMouseEvent aMouseEvent;
-+						pViewData->GetDocument()->GetVbaEventsHelper()->executeSheetMacro( SC_VBAEVENT_SHEET_BEFOREDOUBLECLICK, pViewData->GetTabNo(), aArgs );
++						pViewData->GetDocument()->GetVbaEventsHelper()->executeSheetMacro( nEvent, pViewData->GetTabNo(), aArgs );
  
 -            aMouseEvent.Buttons = e.Buttons;
 -            aMouseEvent.X = e.X;
@@ -393,7 +619,7 @@
      return bReturn;
  }
  
-@@ -1695,6 +1724,18 @@ void SAL_CALL ScTabViewObj::removeSelect
+@@ -1709,6 +1738,18 @@ void SAL_CALL ScTabViewObj::removeSelect
  
  void ScTabViewObj::SelectionChanged()
  {
@@ -412,19 +638,20 @@
  	lang::EventObject aEvent;
  	aEvent.Source.set(static_cast<cppu::OWeakObject*>(this));
  	for ( USHORT n=0; n<aSelectionListeners.Count(); n++ )
-diff -urp backup/sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
---- backup/sc/source/ui/view/gridwin.cxx	2008-04-23 13:51:54.000000000 +0800
-+++ sc/source/ui/view/gridwin.cxx	2008-04-23 14:29:57.000000000 +0800
-@@ -167,6 +167,8 @@
- #ifndef _SV_SVAPP_HXX //autogen
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
+--- backup/sc/source/ui/view/gridwin.cxx	2008-04-30 18:58:39.000000000 +0800
++++ sc/source/ui/view/gridwin.cxx	2008-05-05 10:52:37.000000000 +0800
+@@ -149,6 +149,9 @@
+ #include <svx/sdr/overlay/overlaymanager.hxx>
  #include <vcl/svapp.hxx>
- #endif
-+#include "vbaeventshelper.hxx"
-+#include "cellsuno.hxx" 
  
++#include "vbaeventshelper.hxx"
++#include "cellsuno.hxx"
++
  using namespace com::sun::star;
  using ::com::sun::star::uno::Sequence;
-@@ -417,6 +419,31 @@ void lcl_UnLockComment( SdrView* pView, 
+ using ::com::sun::star::uno::Any;
+@@ -398,6 +401,32 @@ void lcl_UnLockComment( SdrView* pView, 
  
  }
  
@@ -453,10 +680,20 @@
 +
 +	return bFound;
 +}
++
  //==================================================================
  
  //	WB_DIALOGCONTROL noetig fuer UNO-Controls
-@@ -2140,6 +2167,24 @@ void __EXPORT ScGridWindow::MouseButtonU
+@@ -1441,6 +1470,8 @@ void ScGridWindow::HandleMouseButtonDown
+ 	SCCOL	nOldColFBox	  = bWasFilterBox ? pFilterBox->GetCol() : 0;
+ 	SCROW  nOldRowFBox	  = bWasFilterBox ? pFilterBox->GetRow() : 0;
+ #endif
++#include "vbaeventshelper.hxx"
++#include "cellsuno.hxx" 
+ 
+ 	ClickExtern();	// loescht FilterBox, wenn vorhanden
+ 
+@@ -2121,6 +2152,24 @@ void __EXPORT ScGridWindow::MouseButtonU
  		{
  			nMouseStatus = SC_GM_NONE;				// keinen Doppelklick anfangen
  			ScGlobal::OpenURL( aUrl, aTarget );
@@ -481,12 +718,11 @@
  			return;
  		}
  	}
-@@ -2459,13 +2504,14 @@ long ScGridWindow::PreNotify( NotifyEven
+@@ -2440,13 +2489,13 @@ long ScGridWindow::PreNotify( NotifyEven
  			        if (xController.is())
  			        {
  				        ScTabViewObj* pImp = ScTabViewObj::getImplementation( xController );
 -				        if (pImp && pImp->IsMouseListening())
-+				        //if (pImp && pImp->IsMouseListening())
 +				        if (pImp)
                          {
  			                ::com::sun::star::awt::MouseEvent aEvent;
@@ -498,7 +734,7 @@
  					            pImp->MousePressed( aEvent );
                              else
                                  pImp->MouseReleased( aEvent );
-@@ -4837,26 +4883,9 @@ BOOL ScGridWindow::GetEditUrlOrError( BO
+@@ -4856,26 +4905,9 @@ BOOL ScGridWindow::GetEditUrlOrError( BO
  	ScDocument* pDoc = pDocSh->GetDocument();
  	ScBaseCell* pCell = NULL;
  
@@ -528,10 +764,10 @@
  
  	ScHideTextCursor aHideCursor( pViewData, eWhich );	// before GetEditArea (MapMode is changed)
  
-diff -urp backup/sc/source/ui/view/tabview3.cxx sc/source/ui/view/tabview3.cxx
---- backup/sc/source/ui/view/tabview3.cxx	2008-04-23 13:51:53.000000000 +0800
-+++ sc/source/ui/view/tabview3.cxx	2008-04-23 14:29:57.000000000 +0800
-@@ -85,6 +85,7 @@
+diff -urp --exclude=CVS --exclude=unxlngx6.pro backup/sc/source/ui/view/tabview3.cxx sc/source/ui/view/tabview3.cxx
+--- backup/sc/source/ui/view/tabview3.cxx	2008-04-30 18:58:39.000000000 +0800
++++ sc/source/ui/view/tabview3.cxx	2008-04-30 19:02:20.000000000 +0800
+@@ -80,6 +80,7 @@
  #include "rangeutl.hxx"
  #include "client.hxx"
  #include "tabprotection.hxx"
@@ -539,7 +775,7 @@
  
  #include <com/sun/star/chart2/data/HighlightedRange.hpp>
  
-@@ -1688,6 +1689,12 @@ void ScTabView::SetTabNo( SCTAB nTab, BO
+@@ -1684,6 +1685,12 @@ void ScTabView::SetTabNo( SCTAB nTab, BO
  										//	nicht InputEnterHandler wegen Referenzeingabe !
  
  		ScDocument* pDoc = aViewData.GetDocument();
@@ -552,7 +788,7 @@
  		pDoc->MakeTable( nTab );
  
  		SCTAB nTabCount = pDoc->GetTableCount();
-@@ -1786,7 +1793,13 @@ void ScTabView::SetTabNo( SCTAB nTab, BO
+@@ -1782,7 +1789,13 @@ void ScTabView::SetTabNo( SCTAB nTab, BO
  					if ( pGridWin[i]->IsVisible() )
  						pGridWin[i]->UpdateEditViewPos();
  		}
@@ -568,8 +804,8 @@
  		aViewData.GetViewShell()->WindowChanged();			// falls das aktive Fenster anders ist
          if ( !bUnoRefDialog )
 --- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ sc/inc/vbaeventshelper.hxx	2008-04-23 16:41:08.000000000 +0800
-@@ -0,0 +1,94 @@
++++ sc/inc/vbaeventshelper.hxx	2008-05-05 10:49:36.000000000 +0800
+@@ -0,0 +1,96 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -609,7 +845,9 @@
 +#define SC_VBAEVENTS_HXX
 +
 +#include "document.hxx"
++#include <cppuhelper/implbase1.hxx>
 +#include <com/sun/star/container/XNameReplace.hpp>
++#include <com/sun/star/awt/XEnhancedMouseClickHandler.hpp>
 +
 +using namespace com::sun::star;
 +
@@ -665,8 +903,8 @@
 +#endif
 +
 --- /dev/null	2007-09-22 03:12:45.000000000 +0800
-+++ sc/source/core/tool/vbaeventshelper.cxx	2008-04-23 17:02:52.000000000 +0800
-@@ -0,0 +1,916 @@
++++ sc/source/core/tool/vbaeventshelper.cxx	2008-05-05 10:50:30.000000000 +0800
+@@ -0,0 +1,918 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -728,6 +966,8 @@
 +#include <com/sun/star/awt/XWindowListener.hpp>
 +#include <com/sun/star/awt/WindowEvent.hpp>
 +#include <com/sun/star/lang/EventObject.hpp>
++#include <com/sun/star/awt/MouseButton.hpp> 
++#include "cellsuno.hxx" 
 +using namespace com::sun::star;
 +
 +const static String sLibrary( RTL_CONSTASCII_USTRINGPARAM("Standard"));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]