1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: properties.h,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef __FRAMEWORK_PROPERTIES_H_
32 #define __FRAMEWORK_PROPERTIES_H_
34 //_______________________________________________
37 #include <macros/generic.hxx>
40 //_______________________________________________
45 //_______________________________________________
46 /** properties for "StatusIndicatorFactory" class */
48 #define STATUSINDICATORFACTORY_PROPNAME_ASCII_FRAME "Frame"
49 #define STATUSINDICATORFACTORY_PROPNAME_ASCII_WINDOW "Window"
50 #define STATUSINDICATORFACTORY_PROPNAME_ASCII_ALLOWPARENTSHOW "AllowParentShow"
51 #define STATUSINDICATORFACTORY_PROPNAME_ASCII_DISABLERESCHEDULE "DisableReschedule"
53 #define STATUSINDICATORFACTORY_PROPNAME_FRAME DECLARE_ASCII(STATUSINDICATORFACTORY_PROPNAME_ASCII_FRAME )
54 #define STATUSINDICATORFACTORY_PROPNAME_WINDOW DECLARE_ASCII(STATUSINDICATORFACTORY_PROPNAME_ASCII_WINDOW )
55 #define STATUSINDICATORFACTORY_PROPNAME_ALLOWPARENTSHOW DECLARE_ASCII(STATUSINDICATORFACTORY_PROPNAME_ASCII_ALLOWPARENTSHOW )
56 #define STATUSINDICATORFACTORY_PROPNAME_DISABLERESCHEDULE DECLARE_ASCII(STATUSINDICATORFACTORY_PROPNAME_ASCII_DISABLERESCHEDULE)
58 //_______________________________________________
59 /** properties for "Frame" class */
61 #define FRAME_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER "DispatchRecorderSupplier"
62 #define FRAME_PROPNAME_ASCII_ISHIDDEN "IsHidden"
63 #define FRAME_PROPNAME_ASCII_LAYOUTMANAGER "LayoutManager"
64 #define FRAME_PROPNAME_ASCII_TITLE "Title"
65 #define FRAME_PROPNAME_ASCII_INDICATORINTERCEPTION "IndicatorInterception"
67 #define FRAME_PROPNAME_DISPATCHRECORDERSUPPLIER DECLARE_ASCII(FRAME_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER)
68 #define FRAME_PROPNAME_ISHIDDEN DECLARE_ASCII(FRAME_PROPNAME_ASCII_ISHIDDEN )
69 #define FRAME_PROPNAME_LAYOUTMANAGER DECLARE_ASCII(FRAME_PROPNAME_ASCII_LAYOUTMANAGER )
70 #define FRAME_PROPNAME_TITLE DECLARE_ASCII(FRAME_PROPNAME_ASCII_TITLE )
71 #define FRAME_PROPNAME_INDICATORINTERCEPTION DECLARE_ASCII(FRAME_PROPNAME_ASCII_INDICATORINTERCEPTION )
73 // Please add new entries alphabetical sorted and correct all other handles!
74 // Start counting with 0, so it can be used as direct index into an array too.
75 // Don't forget updating of define FRAME_PROPCOUNT below!!!
76 #define FRAME_PROPHANDLE_DISPATCHRECORDERSUPPLIER 0
77 #define FRAME_PROPHANDLE_ISHIDDEN 1
78 #define FRAME_PROPHANDLE_LAYOUTMANAGER 2
79 #define FRAME_PROPHANDLE_TITLE 3
80 #define FRAME_PROPHANDLE_INDICATORINTERCEPTION 4
82 #define FRAME_PROPCOUNT 5
84 //_______________________________________________
85 /** properties for "Desktop" class */
87 #define DESKTOP_PROPNAME_ASCII_ACTIVEFRAME "ActiveFrame"
88 #define DESKTOP_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER "DispatchRecorderSupplier"
89 #define DESKTOP_PROPNAME_ASCII_ISPLUGGED "IsPlugged"
90 #define DESKTOP_PROPNAME_ASCII_SUSPENDQUICKSTARTVETO "SuspendQuickstartVeto"
91 #define DESKTOP_PROPNAME_ASCII_TITLE "Title"
93 #define DESKTOP_PROPNAME_ACTIVEFRAME DECLARE_ASCII(DESKTOP_PROPNAME_ASCII_ACTIVEFRAME )
94 #define DESKTOP_PROPNAME_DISPATCHRECORDERSUPPLIER DECLARE_ASCII(DESKTOP_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER)
95 #define DESKTOP_PROPNAME_ISPLUGGED DECLARE_ASCII(DESKTOP_PROPNAME_ASCII_ISPLUGGED )
96 #define DESKTOP_PROPNAME_SUSPENDQUICKSTARTVETO DECLARE_ASCII(DESKTOP_PROPNAME_ASCII_SUSPENDQUICKSTARTVETO )
97 #define DESKTOP_PROPNAME_TITLE DECLARE_ASCII(DESKTOP_PROPNAME_ASCII_TITLE )
99 // Please add new entries alphabetical sorted and correct all other handles!
100 // Start counting with 0, so it can be used as direct index into an array too.
101 // Don't forget updating of define DESKTOP_PROPCOUNT below!!!
102 #define DESKTOP_PROPHANDLE_ACTIVEFRAME 0
103 #define DESKTOP_PROPHANDLE_DISPATCHRECORDERSUPPLIER 1
104 #define DESKTOP_PROPHANDLE_ISPLUGGED 2
105 #define DESKTOP_PROPHANDLE_SUSPENDQUICKSTARTVETO 3
106 #define DESKTOP_PROPHANDLE_TITLE 4
108 #define DESKTOP_PROPCOUNT 5
110 //_______________________________________________
111 /** properties for "PathSettings" class */
113 #define PATHSETTINGS_PROPNAME_ASCII_ADDIN "Addin"
114 #define PATHSETTINGS_PROPNAME_ASCII_AUTOCORRECT "AutoCorrect"
115 #define PATHSETTINGS_PROPNAME_ASCII_AUTOTEXT "AutoText"
116 #define PATHSETTINGS_PROPNAME_ASCII_BACKUP "Backup"
117 #define PATHSETTINGS_PROPNAME_ASCII_BASIC "Basic"
118 #define PATHSETTINGS_PROPNAME_ASCII_BITMAP "Bitmap"
119 #define PATHSETTINGS_PROPNAME_ASCII_CONFIG "Config"
120 #define PATHSETTINGS_PROPNAME_ASCII_DICTIONARY "Dictionary"
121 #define PATHSETTINGS_PROPNAME_ASCII_FAVORITE "Favorite"
122 #define PATHSETTINGS_PROPNAME_ASCII_FILTER "Filter"
123 #define PATHSETTINGS_PROPNAME_ASCII_GALLERY "Gallery"
124 #define PATHSETTINGS_PROPNAME_ASCII_GRAPHIC "Graphic"
125 #define PATHSETTINGS_PROPNAME_ASCII_HELP "Help"
126 #define PATHSETTINGS_PROPNAME_ASCII_LINGUISTIC "Linguistic"
127 #define PATHSETTINGS_PROPNAME_ASCII_MODULE "Module"
128 #define PATHSETTINGS_PROPNAME_ASCII_PALETTE "Palette"
129 #define PATHSETTINGS_PROPNAME_ASCII_PLUGIN "Plugin"
130 #define PATHSETTINGS_PROPNAME_ASCII_STORAGE "Storage"
131 #define PATHSETTINGS_PROPNAME_ASCII_TEMP "Temp"
132 #define PATHSETTINGS_PROPNAME_ASCII_TEMPLATE "Template"
133 #define PATHSETTINGS_PROPNAME_ASCII_UICONFIG "UIConfig"
134 #define PATHSETTINGS_PROPNAME_ASCII_USERCONFIG "UserConfig"
135 #define PATHSETTINGS_PROPNAME_ASCII_USERDICTIONARY "UserDictionary"
136 #define PATHSETTINGS_PROPNAME_ASCII_WORK "Work"
138 #define PATHSETTINGS_PROPNAME_ADDIN ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_ADDIN )
139 #define PATHSETTINGS_PROPNAME_AUTOCORRECT ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_AUTOCORRECT )
140 #define PATHSETTINGS_PROPNAME_AUTOTEXT ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_AUTOTEXT )
141 #define PATHSETTINGS_PROPNAME_BACKUP ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_BACKUP )
142 #define PATHSETTINGS_PROPNAME_BASIC ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_BASIC )
143 #define PATHSETTINGS_PROPNAME_BITMAP ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_BITMAP )
144 #define PATHSETTINGS_PROPNAME_CONFIG ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_CONFIG )
145 #define PATHSETTINGS_PROPNAME_DICTIONARY ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_DICTIONARY )
146 #define PATHSETTINGS_PROPNAME_FAVORITE ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_FAVORITE )
147 #define PATHSETTINGS_PROPNAME_FILTER ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_FILTER )
148 #define PATHSETTINGS_PROPNAME_GALLERY ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_GALLERY )
149 #define PATHSETTINGS_PROPNAME_GRAPHIC ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_GRAPHIC )
150 #define PATHSETTINGS_PROPNAME_HELP ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_HELP )
151 #define PATHSETTINGS_PROPNAME_LINGUISTIC ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_LINGUISTIC )
152 #define PATHSETTINGS_PROPNAME_MODULE ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_MODULE )
153 #define PATHSETTINGS_PROPNAME_PALETTE ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_PALETTE )
154 #define PATHSETTINGS_PROPNAME_PLUGIN ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_PLUGIN )
155 #define PATHSETTINGS_PROPNAME_STORAGE ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_STORAGE )
156 #define PATHSETTINGS_PROPNAME_TEMP ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_TEMP )
157 #define PATHSETTINGS_PROPNAME_TEMPLATE ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_TEMPLATE )
158 #define PATHSETTINGS_PROPNAME_UICONFIG ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_UICONFIG )
159 #define PATHSETTINGS_PROPNAME_USERCONFIG ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_USERCONFIG )
160 #define PATHSETTINGS_PROPNAME_USERDICTIONARY ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_USERDICTIONARY)
161 #define PATHSETTINGS_PROPNAME_WORK ::rtl::OUString::createFromAscii(PATHSETTINGS_PROPNAME_ASCII_WORK )
163 // Please add new entries alphabetical sorted and correct all other handles!
164 // Start counting with 0, so it can be used as direct index into an array too.
165 // Don't forget updating of define PATHSETTINGS_PROPCOUNT below!!!
166 #define PATHSETTINGS_PROPHANDLE_ADDIN 0
167 #define PATHSETTINGS_PROPHANDLE_AUTOCORRECT 1
168 #define PATHSETTINGS_PROPHANDLE_AUTOTEXT 2
169 #define PATHSETTINGS_PROPHANDLE_BACKUP 3
170 #define PATHSETTINGS_PROPHANDLE_BASIC 4
171 #define PATHSETTINGS_PROPHANDLE_BITMAP 5
172 #define PATHSETTINGS_PROPHANDLE_CONFIG 6
173 #define PATHSETTINGS_PROPHANDLE_DICTIONARY 7
174 #define PATHSETTINGS_PROPHANDLE_FAVORITE 8
175 #define PATHSETTINGS_PROPHANDLE_FILTER 9
176 #define PATHSETTINGS_PROPHANDLE_GALLERY 10
177 #define PATHSETTINGS_PROPHANDLE_GRAPHIC 11
178 #define PATHSETTINGS_PROPHANDLE_HELP 12
179 #define PATHSETTINGS_PROPHANDLE_LINGUISTIC 13
180 #define PATHSETTINGS_PROPHANDLE_MODULE 14
181 #define PATHSETTINGS_PROPHANDLE_PALETTE 15
182 #define PATHSETTINGS_PROPHANDLE_PLUGIN 16
183 #define PATHSETTINGS_PROPHANDLE_STORAGE 17
184 #define PATHSETTINGS_PROPHANDLE_TEMP 18
185 #define PATHSETTINGS_PROPHANDLE_TEMPLATE 19
186 #define PATHSETTINGS_PROPHANDLE_UICONFIG 20
187 #define PATHSETTINGS_PROPHANDLE_USERCONFIG 21
188 #define PATHSETTINGS_PROPHANDLE_USERDICTIONARY 22
189 #define PATHSETTINGS_PROPHANDLE_WORK 23
191 #define PATHSETTINGS_PROPCOUNT 24
193 //_______________________________________________
194 /** properties for "LayoutManager" class */
196 #define LAYOUTMANAGER_PROPNAME_ASCII_MENUBARCLOSER "MenuBarCloser"
197 #define LAYOUTMANAGER_PROPNAME_ASCII_AUTOMATICTOOLBARS "AutomaticToolbars"
198 #define LAYOUTMANAGER_PROPNAME_ASCII_REFRESHVISIBILITY "RefreshContextToolbarVisibility"
199 #define LAYOUTMANAGER_PROPNAME_ASCII_HIDECURRENTUI "HideCurrentUI"
200 #define LAYOUTMANAGER_PROPNAME_ASCII_LOCKCOUNT "LockCount"
202 #define LAYOUTMANAGER_PROPNAME_MENUBARCLOSER ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_MENUBARCLOSER )
203 #define LAYOUTMANAGER_PROPNAME_AUTOMATICTOOLBARS ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_AUTOMATICTOOLBARS )
204 #define LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_REFRESHVISIBILITY )
205 #define LAYOUTMANAGER_PROPNAME_HIDECURRENTUI ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_HIDECURRENTUI )
206 #define LAYOUTMANAGER_PROPNAME_LOCKCOUNT ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_LOCKCOUNT )
208 #define LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER 0
209 #define LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS 1
210 #define LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY 2
211 #define LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI 3
212 #define LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT 4
214 #define LAYOUTMANAGER_PROPCOUNT 5
216 //_______________________________________________
217 /** properties for "UICommandDescription" class */
218 #define UICOMMANDDESCRIPTION_NAMEACCESS_COMMANDIMAGELIST "private:resource/image/commandimagelist"
219 #define UICOMMANDDESCRIPTION_NAMEACCESS_COMMANDROTATEIMAGELIST "private:resource/image/commandrotateimagelist"
220 #define UICOMMANDDESCRIPTION_NAMEACCESS_COMMANDMIRRORIMAGELIST "private:resource/image/commandmirrorimagelist"
222 //_______________________________________________
223 /** properties for "AutoRecovery" class */
225 #define AUTORECOVERY_PROPNAME_ASCII_EXISTS_RECOVERYDATA "ExistsRecoveryData"
226 #define AUTORECOVERY_PROPNAME_ASCII_EXISTS_SESSIONDATA "ExistsSessionData"
227 #define AUTORECOVERY_PROPNAME_ASCII_CRASHED "Crashed"
229 #define AUTORECOVERY_PROPNAME_EXISTS_RECOVERYDATA ::rtl::OUString::createFromAscii( AUTORECOVERY_PROPNAME_ASCII_EXISTS_RECOVERYDATA )
230 #define AUTORECOVERY_PROPNAME_EXISTS_SESSIONDATA ::rtl::OUString::createFromAscii( AUTORECOVERY_PROPNAME_ASCII_EXISTS_SESSIONDATA )
231 #define AUTORECOVERY_PROPNAME_CRASHED ::rtl::OUString::createFromAscii( AUTORECOVERY_PROPNAME_ASCII_CRASHED )
233 #define AUTORECOVERY_PROPHANDLE_EXISTS_RECOVERYDATA 0
234 #define AUTORECOVERY_PROPHANDLE_EXISTS_SESSIONDATA 1
235 #define AUTORECOVERY_PROPHANDLE_CRASHED 2
237 #define AUTORECOVERY_PROPCOUNT 3
239 //_______________________________________________
240 /** properties for Filter config */
242 #define FILTER_PROPNAME_ASCII_DOCUMENTSERVICE "DocumentService"
244 #define FILTER_PROPNAME_DOCUMENTSERVICE ::rtl::OUString::createFromAscii( FILTER_PROPNAME_ASCII_DOCUMENTSERVICE )
246 //_______________________________________________
247 /** properties for office module config (Setup.xcu) */
249 #define OFFICEFACTORY_PROPNAME_ASCII_WINDOWATTRIBUTES "ooSetupFactoryWindowAttributes"
250 #define OFFICEFACTORY_PROPNAME_ASCII_UINAME "ooSetupFactoryUIName"
251 #define OFFICEFACTORY_PROPNAME_ASCII_ICON "ooSetupFactoryIcon"
253 #define OFFICEFACTORY_PROPNAME_WINDOWATTRIBUTES ::rtl::OUString::createFromAscii( OFFICEFACTORY_PROPNAME_ASCII_WINDOWATTRIBUTES )
254 #define OFFICEFACTORY_PROPNAME_UINAME ::rtl::OUString::createFromAscii( OFFICEFACTORY_PROPNAME_ASCII_UINAME )
255 #define OFFICEFACTORY_PROPNAME_ICON ::rtl::OUString::createFromAscii( OFFICEFACTORY_PROPNAME_ASCII_ICON )
257 //_______________________________________________
258 /** properties for tab window (old) */
259 #define TABWINDOW_PROPNAME_ASCII_PARENTWINDOW "ParentWindow"
260 #define TABWINDOW_PROPNAME_ASCII_TOPWINDOW "TopWindow"
261 #define TABWINDOW_PROPNAME_PARENTWINDOW ::rtl::OUString::createFromAscii( TABWINDOW_PROPNAME_ASCII_PARENTWINDOW )
262 #define TABWINDOW_PROPNAME_TOPWINDOW ::rtl::OUString::createFromAscii( TABWINDOW_PROPNAME_ASCII_TOPWINDOW )
264 #define TABWINDOW_PROPHANDLE_PARENTWINDOW 0
265 #define TABWINDOW_PROPHANDLE_TOPWINDOW 1
266 #define TABWINDOW_PROPCOUNT 2
268 //_______________________________________________
269 /** properties for tab window service (new) */
270 #define TABWINDOWSERVICE_PROPNAME_ASCII_WINDOW "Window"
271 #define TABWINDOWSERVICE_PROPNAME_WINDOW ::rtl::OUString::createFromAscii( TABWINDOWSERVICE_PROPNAME_ASCII_WINDOW )
273 #define TABWINDOWSERVICE_PROPHANDLE_WINDOW 0
274 #define TABWINDOWSERVICE_PROPCOUNT 1
276 //_______________________________________________
277 /** properties of tabreg service */
278 static const char* TABREG_PROPNAME_ASCII_TITLE
= "title";
280 static const ::rtl::OUString TABREG_PROPNAME_TITLE
= ::rtl::OUString::createFromAscii(TABREG_PROPNAME_ASCII_TITLE
);
282 //_______________________________________________
283 /** properties of controller service */
284 static const char* CONTROLLER_PROPNAME_ASCII_ICONID
= "IconId";
286 static const ::rtl::OUString CONTROLLER_PROPNAME_ICONID
= ::rtl::OUString::createFromAscii(CONTROLLER_PROPNAME_ASCII_ICONID
);
288 //_______________________________________________
289 /** provides some helper methods to implement property sets. */
295 //___________________________________________
297 /** checks if given property will be changed by this settings.
298 * We compare the content of the given any values. If they are different we return TRUE - FALSE otherwhise.
300 * @param aCurrentValue contains the current value for this property
301 * @param aNewValue contains the new value for this property
302 * @param aOldValue returns the current value, in case somthing will be changed
303 * @param aChangedValue returns the new value, in case somthing will be changed
305 * @return <True/> if value of this property will be changed; <False/> otherwhise.
308 static sal_Bool
willPropertyBeChanged( const css::uno::Any
& aCurrentValue
,
309 const css::uno::Any
& aNewValue
,
310 css::uno::Any
& aOldValue
,
311 css::uno::Any
& aChangedValue
)
313 sal_Bool bChanged
= sal_False
;
315 // clear return parameter to be shure, to put out only valid values ...
317 aChangedValue
.clear();
319 // if value change ...
320 bChanged
= !(aCurrentValue
==aNewValue
);
323 // ... set information of change.
324 aOldValue
= aCurrentValue
;
325 aChangedValue
= aNewValue
;
331 //___________________________________________
333 /** calculates the count of items inside the given ascii array.
335 * @param pArray must point to an array of items from type sal_Char
337 * @return The count of items inside this array, calculated by knowing the size of sal_Char.
340 static sal_Int32
calculatePropArrayCount( const sal_Char
* pArray
[] )
342 return (sal_Int32
)(sizeof(pArray
)/sizeof(sal_Char
*));
346 } // namespace framework
348 #endif // #ifndef __FRAMEWORK_PROPERTIES_H_