summaryrefslogtreecommitdiff
path: root/idl/inc/slot.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'idl/inc/slot.hxx')
-rw-r--r--idl/inc/slot.hxx279
1 files changed, 279 insertions, 0 deletions
diff --git a/idl/inc/slot.hxx b/idl/inc/slot.hxx
new file mode 100644
index 000000000000..e44df5bd5af6
--- /dev/null
+++ b/idl/inc/slot.hxx
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SLOT_HXX
+#define _SLOT_HXX
+
+#include <types.hxx>
+#include <command.hxx>
+
+/******************** class SvMetaSlot **********************************/
+//class SbxObject;
+class SvMetaSlotMemberList;
+class SvMetaSlot : public SvMetaAttribute
+{
+ SvMetaTypeRef aSlotType;
+ SvMetaAttributeRef aMethod;
+ SvIdentifier aGroupId;
+ SvBOOL aHasCoreId;
+ SvIdentifier aConfigId;
+ SvIdentifier aExecMethod;
+ SvIdentifier aStateMethod;
+ SvIdentifier aDefault;
+ SvBOOL aPseudoSlots;
+ SvBOOL aGet;
+ SvBOOL aSet;
+
+ SvBOOL aCachable; // exclusiv
+ SvBOOL aVolatile;
+ SvBOOL aToggle;
+ SvBOOL aAutoUpdate;
+
+ SvBOOL aSynchron; // exclusiv
+ SvBOOL aAsynchron;
+
+ SvBOOL aRecordPerItem;// exclusiv
+ SvBOOL aRecordPerSet;
+ SvBOOL aRecordManual;
+ SvBOOL aNoRecord;
+ SvBOOL aRecordAbsolute;
+
+ SvBOOL aHasDialog;
+ SvBOOL aMenuConfig;
+ SvBOOL aToolBoxConfig;
+ SvBOOL aStatusBarConfig;
+ SvBOOL aAccelConfig;
+ SvBOOL aFastCall;
+ SvBOOL aContainer;
+ SvBOOL aImageRotation;
+ SvBOOL aImageReflection;
+ SvIdentifier aPseudoPrefix;
+ SvString aDisableFlags;
+ SvMetaSlot* pLinkedSlot;
+ SvMetaSlot* pNextSlot;
+ ULONG nListPos;
+ SvMetaEnumValue* pEnumValue;
+ SvString aUnoName;
+
+#ifdef IDL_COMPILER
+ void WriteSlot( const ByteString & rShellName,
+ USHORT nCount, const ByteString & rSlotId,
+ SvSlotElementList &rList,
+ const ByteString & rPrefix,
+ SvIdlDataBase & rBase, SvStream & rOutStm );
+ virtual void Write( SvIdlDataBase & rBase,
+ SvStream & rOutStm, USHORT nTab,
+ WriteType, WriteAttribute = 0 );
+
+ void SetEnumValue(SvMetaEnumValue *p)
+ { pEnumValue = p; }
+#endif
+protected:
+ void SetCachable( BOOL bSet )
+ {
+ aCachable = bSet;
+ if( bSet )
+ aVolatile = FALSE;
+ }
+ void SetVolatile( BOOL bSet )
+ {
+ aVolatile = bSet;
+ if( bSet )
+ aCachable = FALSE;
+ }
+ void SetToggle( BOOL bSet )
+ {
+ aToggle = bSet;
+ }
+ void SetAutoUpdate( BOOL bSet )
+ {
+ aAutoUpdate = bSet;
+ }
+
+ void SetSynchron( BOOL bSet )
+ {
+ aSynchron = bSet;
+ if( bSet )
+ aAsynchron = FALSE;
+ }
+ void SetAsynchron( BOOL bSet )
+ {
+ aAsynchron = bSet;
+ if( bSet )
+ aSynchron = FALSE;
+ }
+
+ void SetRecordPerItem( BOOL bSet )
+ {
+ aRecordPerItem = bSet;
+ if( bSet )
+ aRecordPerSet = aRecordManual = aNoRecord = FALSE;
+ }
+ void SetRecordPerSet( BOOL bSet )
+ {
+ aRecordPerSet = bSet;
+ if( bSet )
+ aRecordPerItem = aRecordManual = aNoRecord = FALSE;
+ }
+ void SetRecordManual( BOOL bSet )
+ {
+ aRecordManual = bSet;
+ if( bSet )
+ aRecordPerItem = aRecordPerSet = aNoRecord = FALSE;
+ }
+ void SetNoRecord( BOOL bSet )
+ {
+ aNoRecord = bSet;
+ if( bSet )
+ aRecordPerItem = aRecordPerSet = aRecordManual = FALSE;
+ }
+ void SetRecordAbsolute( BOOL bSet )
+ { aRecordAbsolute = bSet; }
+ void SetHasDialog( BOOL bSet )
+ { aHasDialog = bSet; }
+ void SetMenuConfig( BOOL bSet )
+ { aMenuConfig = bSet; }
+ void SetToolBoxConfig( BOOL bSet )
+ { aToolBoxConfig = bSet; }
+ void SetStatusBarConfig( BOOL bSet )
+ { aStatusBarConfig = bSet; }
+ void SetAccelConfig( BOOL bSet )
+ { aAccelConfig = bSet; }
+ void SetAllConfig( BOOL bSet )
+ {
+ aMenuConfig = bSet;
+ aToolBoxConfig = bSet;
+ aStatusBarConfig = bSet;
+ aAccelConfig = bSet;
+ }
+ void SetFastCall( BOOL bSet )
+ { aFastCall = bSet; }
+ void SetContainer( BOOL bSet )
+ { aContainer = bSet; }
+ void SetImageRotation( BOOL bSet )
+ { aImageRotation = bSet; }
+ void SetImageReflection( BOOL bSet )
+ { aImageReflection = bSet; }
+
+public:
+ SV_DECL_META_FACTORY1( SvMetaSlot, SvMetaReference, 11 )
+ SvMetaObject * MakeClone() const;
+ SvMetaSlot *Clone() const { return (SvMetaSlot *)MakeClone(); }
+
+ SvMetaSlot();
+ SvMetaSlot( SvMetaType * pType );
+
+ virtual BOOL IsVariable() const;
+ virtual BOOL IsMethod() const;
+ virtual ByteString GetMangleName( BOOL bVariable ) const;
+
+ SvMetaAttribute * GetMethod() const;
+ SvMetaType * GetSlotType() const;
+ BOOL GetHasCoreId() const;
+ const ByteString & GetGroupId() const;
+ const ByteString & GetConfigId() const;
+ const ByteString & GetExecMethod() const;
+ const ByteString & GetStateMethod() const;
+ const ByteString & GetDefault() const;
+ const ByteString & GetDisableFlags() const;
+ BOOL GetPseudoSlots() const;
+ /*
+ BOOL GetGet() const;
+ BOOL GetSet() const;
+ */
+ BOOL GetCachable() const;
+ BOOL GetVolatile() const;
+ BOOL GetToggle() const;
+ BOOL GetAutoUpdate() const;
+
+ BOOL GetSynchron() const;
+ BOOL GetAsynchron() const;
+
+ BOOL GetRecordPerItem() const;
+ BOOL GetRecordPerSet() const;
+ BOOL GetRecordManual() const;
+ BOOL GetNoRecord() const;
+ BOOL GetRecordAbsolute() const;
+
+ BOOL GetHasDialog() const;
+ const ByteString & GetPseudoPrefix() const;
+ const ByteString & GetUnoName() const;
+ BOOL GetMenuConfig() const;
+ BOOL GetToolBoxConfig() const;
+ BOOL GetStatusBarConfig() const;
+ BOOL GetAccelConfig() const;
+ BOOL GetFastCall() const;
+ BOOL GetContainer() const;
+ BOOL GetImageRotation() const;
+ BOOL GetImageReflection() const;
+ SvMetaSlot* GetLinkedSlot() const
+ { return pLinkedSlot; }
+ SvMetaSlot* GetNextSlot() const
+ { return pNextSlot; }
+ ULONG GetListPos() const
+ { return nListPos; }
+ void SetListPos(ULONG n)
+ { nListPos = n; }
+ void ResetSlotPointer()
+ { pNextSlot = pLinkedSlot = 0; }
+
+// void FillSbxObject( SvIdlDataBase & rBase, SbxObject *, BOOL bProp );
+#ifdef IDL_COMPILER
+ SvMetaEnumValue* GetEnumValue() const
+ { return pEnumValue; }
+ virtual BOOL Test( SvIdlDataBase &, SvTokenStream & rInStm );
+ virtual void ReadAttributesSvIdl( SvIdlDataBase & rBase,
+ SvTokenStream & rInStm );
+ virtual void WriteAttributesSvIdl( SvIdlDataBase & rBase,
+ SvStream & rOutStm, USHORT nTab );
+ virtual BOOL ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm );
+ virtual void WriteSvIdl( SvIdlDataBase & rBase,
+ SvStream & rOutStm, USHORT nTab );
+ virtual void Insert( SvSlotElementList&, const ByteString & rPrefix,
+ SvIdlDataBase& );
+ void WriteSlotStubs( const ByteString & rShellName,
+ ByteStringList & rList,
+ SvStream & rOutStm );
+ USHORT WriteSlotMap( const ByteString & rShellName,
+ USHORT nCount,
+ SvSlotElementList&,
+ const ByteString &,
+ SvIdlDataBase & rBase,
+ SvStream & rOutStm );
+ USHORT WriteSlotParamArray( SvIdlDataBase & rBase,
+ SvStream & rOutStm );
+ virtual void WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm,
+ Table * pIdTable );
+ virtual void WriteSrc( SvIdlDataBase & rBase, SvStream & rOutStm,
+ Table * pIdTable );
+ virtual void WriteCSV( SvIdlDataBase&, SvStream& );
+#endif
+};
+SV_DECL_IMPL_REF(SvMetaSlot)
+SV_DECL_IMPL_PERSIST_LIST(SvMetaSlot,SvMetaSlot *)
+
+#endif // _SLOT_HXX