#ifndef __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_ #define __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_ #ifndef _SVARRAY_HXX #include #endif #ifndef _SV_BITMAP_HXX #include #endif #ifndef _STRING_HXX #include #endif #ifndef _STREAM_HXX #include #endif #ifndef _SV_TOOLBOX_HXX #include #endif #ifndef _SV_TOOLBOX_HXX #include #endif namespace framework { struct ToolBoxItemDescriptor { Bitmap* pBmp; // Bitmap ptr not used by xml configuration String aBitmapName; // bitmap name => use to find correct bmp file String aItemText; // label for this toolbox item String aURL; // URL command to dispatch USHORT nId; // internal id not used by xml configuration USHORT nItemBits; // properties for this toolbox item (WinBits) USHORT nItemType; // toolbox item type (BUTTON, SPACE, BREAK, SEPARATOR) USHORT nVisible; // toolbox item visible? USHORT nWidth; // width of a toolbox window (edit field, etc.) USHORT nUserDef; // user defined toolbox item (1=yes/0=no) public: ToolBoxItemDescriptor() : pBmp( 0 ) ,nId( 0 ) ,nItemBits( 0 ) ,nItemType( (USHORT)TOOLBOXITEM_SPACE ) ,nVisible( sal_True ) ,nWidth( 0 ) ,nUserDef( sal_False ) {} }; typedef ToolBoxItemDescriptor* ToolBoxItemDescriptorPtr; SV_DECL_PTRARR_DEL( ToolBoxDescriptor, ToolBoxItemDescriptorPtr, 10, 2) struct ToolBoxConfigItemDescriptor { String aContext; // Name des Contexts ( "Text", "Table", "Graphic" etc. ) String aName; // Name der Toolbar ( "writertableobjectbar", "calctextobjectbar" etc. ) BOOL bVisible; // ein - oder ausgeschaltet ButtonType eType; // Text, Symbol oder Text+Symbol ToolBoxConfigItemDescriptor() : bVisible( sal_False ) ,eType( BUTTON_SYMBOL ) {} }; typedef ToolBoxConfigItemDescriptor* ToolBoxConfigItemDescriptorPtr; SV_DECL_PTRARR_DEL( ToolBoxConfigDescriptor, ToolBoxConfigItemDescriptorPtr, 10, 2) struct ToolBoxLayoutItemDescriptor { String aName; // Name der Toolbox ( Objectbar, Toolbar etc. ) Point aFloatingPos; // Position im nicht angedockten Zustand USHORT nFloatingLines; // Anzahl der Zeilen im nicht angedockten Zustand USHORT nLines; // Anzahl der Zeilen im angedockten Zustand ToolBoxAlign eAlign; // Alignment im angedockten Zustand BOOL bVisible; // ein - oder ausgeschaltet BOOL bFloating; // angedockt oder nicht ToolBoxConfigDescriptor* pContexts; // Context information ToolBoxLayoutItemDescriptor() : nFloatingLines( 0 ) ,nLines( 0 ) ,eAlign( BOXALIGN_LEFT ) ,bVisible( sal_False ) ,bFloating( sal_False ) ,pContexts( NULL ) {} }; typedef ToolBoxLayoutItemDescriptor* ToolBoxLayoutItemDescriptorPtr; SV_DECL_PTRARR_DEL( ToolBoxLayoutDescriptor, ToolBoxLayoutItemDescriptorPtr, 10, 2) class ToolBoxConfiguration { public: static sal_Bool LoadToolBox( SvStream& rInStream, ToolBoxDescriptor& aItems ); static sal_Bool StoreToolBox( SvStream& rOutStream, const ToolBoxDescriptor& aItems ); static sal_Bool LoadToolBoxLayout( SvStream& rInStream, ToolBoxLayoutDescriptor& aItems ); static sal_Bool StoreToolBoxLayout( SvStream& rOutStream, ToolBoxLayoutDescriptor& aItems ); }; } // namespace framework #endif // __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_