diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/objface.hxx | 6 | ||||
-rw-r--r-- | include/sfx2/shell.hxx | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/include/sfx2/objface.hxx b/include/sfx2/objface.hxx index db88e6fd7d13..c4a4206f2c82 100644 --- a/include/sfx2/objface.hxx +++ b/include/sfx2/objface.hxx @@ -40,14 +40,14 @@ friend class SfxSlotPool; SfxSlot* pSlots; // SlotMap sal_uInt16 nCount; // number of slots in SlotMap SfxInterfaceId nClassId; // Id of interface - ResId aNameResId; // ResId of external interface name + bool bSuperClass; // Whether children inherit its toolbars etc SfxInterface_Impl* pImpData; SfxSlot* operator[]( sal_uInt16 nPos ) const; public: SfxInterface( const char *pClass, - const ResId& rResId, + bool bSuperClass, SfxInterfaceId nClassId, const SfxInterface* pGeno, SfxSlot &rMessages, sal_uInt16 nMsgCount ); @@ -62,7 +62,7 @@ public: const SfxSlot* GetSlot( const OUString& rCommand ) const; const char* GetClassName() const { return pName; } - bool HasName() const { return 0 != aNameResId.GetId(); } + bool UseAsSuperClass() const { return bSuperClass; } const SfxInterface* GetGenoType() const { return pGenoType; } diff --git a/include/sfx2/shell.hxx b/include/sfx2/shell.hxx index 6e4ef36e9daa..2baa19f13a44 100644 --- a/include/sfx2/shell.hxx +++ b/include/sfx2/shell.hxx @@ -570,16 +570,16 @@ inline void SfxShell::SetPool static void RegisterInterface(SfxModule* pMod=NULL); \ virtual SfxInterface* GetInterface() const SAL_OVERRIDE; -#define SFX_IMPL_INTERFACE(Class,SuperClass,NameResId) \ +#define SFX_TMPL_INTERFACE(Class,SuperClass,Abstract) \ \ SfxInterface* Class::pInterface = 0; \ - SfxInterface* Class::GetStaticInterface() \ + SfxInterface* Class::GetStaticInterface() \ { \ if ( !pInterface ) \ { \ pInterface = \ new SfxInterface( \ - #Class, NameResId, GetInterfaceId(), \ + #Class, Abstract, GetInterfaceId(), \ SuperClass::GetStaticInterface(), \ a##Class##Slots_Impl[0], \ (sal_uInt16) (sizeof(a##Class##Slots_Impl) / sizeof(SfxSlot) ) ); \ @@ -598,6 +598,12 @@ inline void SfxShell::SetPool GetStaticInterface()->Register(pMod); \ } +#define SFX_IMPL_INTERFACE(Class,SuperClass) \ +SFX_TMPL_INTERFACE(Class,SuperClass,false) \ + +#define SFX_IMPL_SUPERCLASS_INTERFACE(Class,SuperClass) \ +SFX_TMPL_INTERFACE(Class,SuperClass,true) \ + #define SFX_POSITION_MASK 0x000F #define SFX_VISIBILITY_MASK 0xFFF0 #define SFX_VISIBILITY_UNVISIBLE 0x0000 // Never visible |