diff options
author | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-12-23 10:01:58 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-12-23 10:01:58 +0100 |
commit | 48de44881b95b2ce90759e0485d3a96fe1c1f4db (patch) | |
tree | 9616f3de0aa7b09e04de84f07534ccc05ef412de /basic/inc | |
parent | eb77ace518782bcbc0ac29c03b58ca3811e25cf8 (diff) | |
parent | 794c821e4d48c34aa376cdc7b6ab2cb029d9574d (diff) |
undoapi: merged after pulling DEV300_m96. Most probably still not buildable:A number of changes which happened in the CWS need to be redone due to the new build system
Diffstat (limited to 'basic/inc')
-rw-r--r-- | basic/inc/basic/modsizeexceeded.hxx (renamed from basic/inc/modsizeexceeded.hxx) | 0 | ||||
-rw-r--r-- | basic/inc/basic/sbmod.hxx | 7 | ||||
-rw-r--r-- | basic/inc/basic/sbobjmod.hxx | 15 | ||||
-rw-r--r-- | basic/inc/basic/sbstar.hxx | 6 | ||||
-rw-r--r-- | basic/inc/basic/sbxdef.hxx | 3 | ||||
-rw-r--r-- | basic/inc/basic/sbxvar.hxx | 5 | ||||
-rw-r--r-- | basic/inc/basic/svtmsg.hrc (renamed from basic/inc/svtmsg.hrc) | 0 | ||||
-rw-r--r-- | basic/inc/basic/testtool.hrc (renamed from basic/inc/testtool.hrc) | 0 | ||||
-rw-r--r-- | basic/inc/basic/ttmsg.hrc (renamed from basic/inc/ttmsg.hrc) | 0 |
9 files changed, 33 insertions, 3 deletions
diff --git a/basic/inc/modsizeexceeded.hxx b/basic/inc/basic/modsizeexceeded.hxx index e2d716259f09..e2d716259f09 100644 --- a/basic/inc/modsizeexceeded.hxx +++ b/basic/inc/basic/modsizeexceeded.hxx diff --git a/basic/inc/basic/sbmod.hxx b/basic/inc/basic/sbmod.hxx index 0bc764e863fe..d6ee1d3eab0e 100644 --- a/basic/inc/basic/sbmod.hxx +++ b/basic/inc/basic/sbmod.hxx @@ -46,6 +46,7 @@ class SbProcedureProperty; class SbIfaceMapperMethod; class SbClassModuleObject; +class ModuleInitDependencyMap; struct ClassModuleRunInitItem; struct SbClassData; class SbModuleImpl; @@ -62,6 +63,8 @@ class SbModule : public SbxObject SbModuleImpl* mpSbModuleImpl; // Impl data std::vector< String > mModuleVariableNames; + void implClearIfVarDependsOnDeletedBasic( SbxVariable* pVar, StarBASIC* pDeletedBasic ); + protected: com::sun::star::uno::Reference< com::sun::star::script::XInvocation > mxWrapper; ::rtl::OUString aOUSource; @@ -74,7 +77,7 @@ protected: SbxObjectRef pDocObject; // an impl object ( used by Document Modules ) bool bIsProxyModule; - static void implProcessModuleRunInit( ClassModuleRunInitItem& rItem ); + static void implProcessModuleRunInit( ModuleInitDependencyMap& rMap, ClassModuleRunInitItem& rItem ); void StartDefinitions(); SbMethod* GetMethod( const String&, SbxDataType ); SbProperty* GetProperty( const String&, SbxDataType ); @@ -84,6 +87,7 @@ protected: USHORT Run( SbMethod* ); void RunInit(); void ClearPrivateVars(); + void ClearVarsDependingOnDeletedBasic( StarBASIC* pDeletedBasic ); void GlobalRunInit( BOOL bBasicStart ); // for all modules void GlobalRunDeInit( void ); const BYTE* FindNextStmnt( const BYTE*, USHORT&, USHORT& ) const; @@ -94,6 +98,7 @@ protected: virtual BOOL LoadCompleted(); virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, const SfxHint& rHint, const TypeId& rHintType ); + void handleProcedureProperties( SfxBroadcaster& rBC, const SfxHint& rHint ); virtual ~SbModule(); public: SBX_DECL_PERSIST_NODATA(SBXCR_SBX,SBXID_BASICMOD,2); diff --git a/basic/inc/basic/sbobjmod.hxx b/basic/inc/basic/sbobjmod.hxx index 9ff46d1931f3..49fefb79309e 100644 --- a/basic/inc/basic/sbobjmod.hxx +++ b/basic/inc/basic/sbobjmod.hxx @@ -52,10 +52,18 @@ class SbObjModule : public SbModule { SbObjModule( const SbObjModule& ); SbObjModule(); + +protected: + virtual ~SbObjModule(); + public: TYPEINFO(); SbObjModule( const String& rName, const com::sun::star::script::ModuleInfo& mInfo, bool bIsVbaCompatible ); virtual SbxVariable* Find( const XubString& rName, SbxClassType t ); + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + using SbxValue::GetObject; SbxVariable* GetObject(); void SetUnoObject( const com::sun::star::uno::Any& aObj )throw ( com::sun::star::uno::RuntimeException ) ; @@ -81,7 +89,7 @@ public: SbUserFormModule( const String& rName, const com::sun::star::script::ModuleInfo& mInfo, bool bIsVBACompat ); virtual ~SbUserFormModule(); virtual SbxVariable* Find( const XubString& rName, SbxClassType t ); - void ResetApiObj(); + void ResetApiObj( bool bTriggerTerminateEvent = true ); void Unload(); void Load(); void triggerMethod( const String& ); @@ -93,6 +101,11 @@ public: void triggerLayoutEvent(); void triggerResizeEvent(); + bool getInitState( void ) + { return mbInit; } + void setInitState( bool bInit ) + { mbInit = bInit; } + class SbUserFormModuleInstance* CreateInstance(); }; diff --git a/basic/inc/basic/sbstar.hxx b/basic/inc/basic/sbstar.hxx index 7d189c363364..db67836890e9 100644 --- a/basic/inc/basic/sbstar.hxx +++ b/basic/inc/basic/sbstar.hxx @@ -38,6 +38,7 @@ #include <basic/sbdef.hxx> #include <basic/sberrors.hxx> #include <com/sun/star/script/ModuleInfo.hpp> +#include <com/sun/star/frame/XModel.hpp> class SbModule; // completed module class SbiInstance; // runtime instance @@ -77,6 +78,8 @@ class StarBASIC : public SbxObject SbxObjectRef pVBAGlobals; SbxObject* getVBAGlobals( ); + void implClearDependingVarsOnDelete( StarBASIC* pDeletedBasic ); + protected: BOOL CError( SbError, const String&, xub_StrLen, xub_StrLen, xub_StrLen ); private: @@ -206,6 +209,9 @@ public: bool GetUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut ); void QuitAndExitApplication(); BOOL IsQuitApplication() { return bQuit; }; + + static ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > + GetModelFromBasic( SbxObject* pBasic ); }; #ifndef __SB_SBSTARBASICREF_HXX diff --git a/basic/inc/basic/sbxdef.hxx b/basic/inc/basic/sbxdef.hxx index 89322be776f9..b85b3552c79e 100644 --- a/basic/inc/basic/sbxdef.hxx +++ b/basic/inc/basic/sbxdef.hxx @@ -106,6 +106,7 @@ enum SbxDataType { }; const UINT32 SBX_TYPE_WITH_EVENTS_FLAG = 0x10000; +const UINT32 SBX_TYPE_DIM_AS_NEW_FLAG = 0x20000; const UINT32 SBX_FIXED_LEN_STRING_FLAG = 0x10000; // same value as above as no conflict possible #endif @@ -317,6 +318,8 @@ enum SbxError { // Ergebnis einer Rechenoperation/Konversion #define SBX_REFERENCE 0x4000 // Parameter is Reference (DLL-call) #define SBX_NO_MODIFY 0x8000 // SetModified is suppressed #define SBX_WITH_EVENTS 0x0080 // Same value as unused SBX_HIDDEN +#define SBX_DIM_AS_NEW 0x0800 // Same value as SBX_GBLSEARCH, cannot conflict as one + // is used for objects, the other for variables only // Broadcaster-IDs: #define SBX_HINT_DYING SFX_HINT_DYING diff --git a/basic/inc/basic/sbxvar.hxx b/basic/inc/basic/sbxvar.hxx index 0cddcbdf8d17..1ba1b5d1edfa 100644 --- a/basic/inc/basic/sbxvar.hxx +++ b/basic/inc/basic/sbxvar.hxx @@ -439,6 +439,7 @@ SV_DECL_REF(SbxInfo) class SfxBroadcaster; class SbxVariableImpl; +class StarBASIC; class SbxVariable : public SbxValue { @@ -499,7 +500,9 @@ public: const String& GetDeclareClassName( void ); void SetDeclareClassName( const String& ); - void SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener ); + void SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener, + StarBASIC* pParentBasic ); + void ClearComListener( void ); static USHORT MakeHashCode( const String& rName ); }; diff --git a/basic/inc/svtmsg.hrc b/basic/inc/basic/svtmsg.hrc index ff215d3fc9cb..ff215d3fc9cb 100644 --- a/basic/inc/svtmsg.hrc +++ b/basic/inc/basic/svtmsg.hrc diff --git a/basic/inc/testtool.hrc b/basic/inc/basic/testtool.hrc index 075b462944c9..075b462944c9 100644 --- a/basic/inc/testtool.hrc +++ b/basic/inc/basic/testtool.hrc diff --git a/basic/inc/ttmsg.hrc b/basic/inc/basic/ttmsg.hrc index 26f250bc6a6a..26f250bc6a6a 100644 --- a/basic/inc/ttmsg.hrc +++ b/basic/inc/basic/ttmsg.hrc |