1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#ifndef __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_
#define __FRAMEWORK_CLASSES_TOOLBOXCONFIGURATION_HXX_
#ifndef _SVARRAY_HXX
#include <svtools/svarray.hxx>
#endif
#ifndef _SV_BITMAP_HXX
#include <vcl/bitmapex.hxx>
#endif
#ifndef _STRING_HXX
#include <tools/string.hxx>
#endif
#ifndef _STREAM_HXX
#include <tools/stream.hxx>
#endif
#ifndef _SV_TOOLBOX_HXX
#include <vcl/toolbox.hxx>
#endif
#ifndef _SV_TOOLBOX_HXX
#include <vcl/toolbox.hxx>
#endif
// #110897#
#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#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_
|