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