#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 // #110897# #ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ #include #endif namespace framework { struct ToolBoxItemDescriptor { BitmapEx* pBmpEx; // 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) String aHelpId; // A help id associated with this toolbox item public: ToolBoxItemDescriptor() : pBmpEx( 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 ToolBoxLayoutItemDescriptor { String aName; // Unique name of the toolbox ( Objectbar, Toolbar etc. ) String aUserName; // Userspecified name for this toolbar Point aFloatingPos; // Position in floating mode USHORT nFloatingLines; // Number of lines in floating mode USHORT nLines; // Number of lines in docking mode WindowAlign eAlign; // Aligned position in docking mode BOOL bVisible; // Visible or not BOOL bFloating; // Floating mode on/off ButtonType eType; // text, symbol or text+symbol ToolBoxLayoutItemDescriptor() : nFloatingLines( 0 ) ,nLines( 1 ) ,eAlign( WINDOWALIGN_LEFT ) ,bVisible( sal_False ) ,bFloating( sal_False ) ,eType( BUTTON_SYMBOL ) {} }; typedef ToolBoxLayoutItemDescriptor* ToolBoxLayoutItemDescriptorPtr; SV_DECL_PTRARR_DEL( ToolBoxLayoutDescriptor, ToolBoxLayoutItemDescriptorPtr, 10, 2) class ToolBoxConfiguration { public: // #110897# static sal_Bool LoadToolBox( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, SvStream& rInStream, ToolBoxDescriptor& aItems ); // #110897# static sal_Bool StoreToolBox( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, SvStream& rOutStream, const ToolBoxDescriptor& aItems ); // #110897# static sal_Bool LoadToolBoxLayout( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, SvStream& rInStream, ToolBoxLayoutDescriptor& aItems ); // #110897# static sal_Bool StoreToolBoxLayout( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, SvStream& rOutStream, ToolBoxLayoutDescriptor& aItems ); }; } // namespace framework #endif // __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_