1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _SV_SETTINGS_HXX 25 #define _SV_SETTINGS_HXX 26 27 #include "vcl/sv.h" 28 #include "vcl/dllapi.h" 29 #include "tools/color.hxx" 30 #include "vcl/font.hxx" 31 #include "vcl/accel.hxx" 32 #include "vcl/wall.hxx" 33 #include "com/sun/star/lang/Locale.hpp" 34 #include <unotools/syslocale.hxx> 35 36 class CollatorWrapper; 37 class LocaleDataWrapper; 38 39 namespace vcl { 40 class I18nHelper; 41 } 42 43 // ------------------- 44 // - ImplMachineData - 45 // ------------------- 46 47 class ImplMachineData 48 { 49 friend class MachineSettings; 50 51 ImplMachineData(); 52 ImplMachineData( const ImplMachineData& rData ); 53 54 private: 55 sal_uLong mnRefCount; 56 sal_uLong mnOptions; 57 sal_uLong mnScreenOptions; 58 sal_uLong mnPrintOptions; 59 long mnScreenRasterFontDeviation; 60 }; 61 62 // ------------------- 63 // - MachineSettings - 64 // ------------------- 65 66 class VCL_DLLPUBLIC MachineSettings 67 { 68 void CopyData(); 69 70 private: 71 ImplMachineData* mpData; 72 73 public: 74 MachineSettings(); 75 MachineSettings( const MachineSettings& rSet ); 76 ~MachineSettings(); 77 SetOptions(sal_uLong nOptions)78 void SetOptions( sal_uLong nOptions ) 79 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const80 sal_uLong GetOptions() const 81 { return mpData->mnOptions; } SetScreenOptions(sal_uLong nOptions)82 void SetScreenOptions( sal_uLong nOptions ) 83 { CopyData(); mpData->mnScreenOptions = nOptions; } GetScreenOptions() const84 sal_uLong GetScreenOptions() const 85 { return mpData->mnScreenOptions; } SetPrintOptions(sal_uLong nOptions)86 void SetPrintOptions( sal_uLong nOptions ) 87 { CopyData(); mpData->mnPrintOptions = nOptions; } GetPrintOptions() const88 sal_uLong GetPrintOptions() const 89 { return mpData->mnPrintOptions; } 90 SetScreenRasterFontDeviation(long nDeviation)91 void SetScreenRasterFontDeviation( long nDeviation ) 92 { CopyData(); mpData->mnScreenRasterFontDeviation = nDeviation; } GetScreenRasterFontDeviation() const93 long GetScreenRasterFontDeviation() const 94 { return mpData->mnScreenRasterFontDeviation; } 95 96 const MachineSettings& operator =( const MachineSettings& rSet ); 97 98 sal_Bool operator ==( const MachineSettings& rSet ) const; operator !=(const MachineSettings & rSet) const99 sal_Bool operator !=( const MachineSettings& rSet ) const 100 { return !(*this == rSet); } 101 }; 102 103 // ----------------- 104 // - ImplMouseData - 105 // ----------------- 106 107 class ImplMouseData 108 { 109 friend class MouseSettings; 110 111 ImplMouseData(); 112 ImplMouseData( const ImplMouseData& rData ); 113 114 private: 115 sal_uLong mnRefCount; 116 sal_uLong mnOptions; 117 sal_uLong mnDoubleClkTime; 118 long mnDoubleClkWidth; 119 long mnDoubleClkHeight; 120 long mnStartDragWidth; 121 long mnStartDragHeight; 122 sal_uInt16 mnStartDragCode; 123 sal_uInt16 mnDragMoveCode; 124 sal_uInt16 mnDragCopyCode; 125 sal_uInt16 mnDragLinkCode; 126 sal_uInt16 mnContextMenuCode; 127 sal_uInt16 mnContextMenuClicks; 128 sal_Bool mbContextMenuDown; 129 sal_uLong mnScrollRepeat; 130 sal_uLong mnButtonStartRepeat; 131 sal_uLong mnButtonRepeat; 132 sal_uLong mnActionDelay; 133 sal_uLong mnMenuDelay; 134 sal_uLong mnFollow; 135 sal_uInt16 mnMiddleButtonAction; 136 sal_uInt16 mnWheelBehavior; 137 sal_Bool mbAlign1; 138 }; 139 140 // ----------------- 141 // - MouseSettings - 142 // ----------------- 143 144 #define MOUSE_OPTION_AUTOFOCUS ((sal_uLong)0x00000001) 145 #define MOUSE_OPTION_AUTOCENTERPOS ((sal_uLong)0x00000002) 146 #define MOUSE_OPTION_AUTODEFBTNPOS ((sal_uLong)0x00000004) 147 148 #define MOUSE_FOLLOW_MENU ((sal_uLong)0x00000001) 149 #define MOUSE_FOLLOW_DDLIST ((sal_uLong)0x00000002) 150 151 #define MOUSE_MIDDLE_NOTHING ((sal_uInt16)0) 152 #define MOUSE_MIDDLE_AUTOSCROLL ((sal_uInt16)1) 153 #define MOUSE_MIDDLE_PASTESELECTION ((sal_uInt16)2) 154 155 #define MOUSE_WHEEL_DISABLE ((sal_uInt16)0) 156 #define MOUSE_WHEEL_FOCUS_ONLY ((sal_uInt16)1) 157 #define MOUSE_WHEEL_ALWAYS ((sal_uInt16)2) 158 159 class VCL_DLLPUBLIC MouseSettings 160 { 161 void CopyData(); 162 163 private: 164 ImplMouseData* mpData; 165 166 public: 167 MouseSettings(); 168 MouseSettings( const MouseSettings& rSet ); 169 ~MouseSettings(); 170 SetOptions(sal_uLong nOptions)171 void SetOptions( sal_uLong nOptions ) 172 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const173 sal_uLong GetOptions() const 174 { return mpData->mnOptions; } 175 SetDoubleClickTime(sal_uLong nDoubleClkTime)176 void SetDoubleClickTime( sal_uLong nDoubleClkTime ) 177 { CopyData(); mpData->mnDoubleClkTime = nDoubleClkTime; } GetDoubleClickTime() const178 sal_uLong GetDoubleClickTime() const 179 { return mpData->mnDoubleClkTime; } SetDoubleClickWidth(long nDoubleClkWidth)180 void SetDoubleClickWidth( long nDoubleClkWidth ) 181 { CopyData(); mpData->mnDoubleClkWidth = nDoubleClkWidth; } GetDoubleClickWidth() const182 long GetDoubleClickWidth() const 183 { return mpData->mnDoubleClkWidth; } SetDoubleClickHeight(long nDoubleClkHeight)184 void SetDoubleClickHeight( long nDoubleClkHeight ) 185 { CopyData(); mpData->mnDoubleClkHeight = nDoubleClkHeight; } GetDoubleClickHeight() const186 long GetDoubleClickHeight() const 187 { return mpData->mnDoubleClkHeight; } 188 SetStartDragWidth(long nDragWidth)189 void SetStartDragWidth( long nDragWidth ) 190 { CopyData(); mpData->mnStartDragWidth = nDragWidth; } GetStartDragWidth() const191 long GetStartDragWidth() const 192 { return mpData->mnStartDragWidth; } SetStartDragHeight(long nDragHeight)193 void SetStartDragHeight( long nDragHeight ) 194 { CopyData(); mpData->mnStartDragHeight = nDragHeight; } GetStartDragHeight() const195 long GetStartDragHeight() const 196 { return mpData->mnStartDragHeight; } SetStartDragCode(sal_uInt16 nCode)197 void SetStartDragCode( sal_uInt16 nCode ) 198 { CopyData(); mpData->mnStartDragCode = nCode; } GetStartDragCode() const199 sal_uInt16 GetStartDragCode() const 200 { return mpData->mnStartDragCode; } SetDragMoveCode(sal_uInt16 nCode)201 void SetDragMoveCode( sal_uInt16 nCode ) 202 { CopyData(); mpData->mnDragMoveCode = nCode; } GetDragMoveCode() const203 sal_uInt16 GetDragMoveCode() const 204 { return mpData->mnDragMoveCode; } SetDragCopyCode(sal_uInt16 nCode)205 void SetDragCopyCode( sal_uInt16 nCode ) 206 { CopyData(); mpData->mnDragCopyCode = nCode; } GetDragCopyCode() const207 sal_uInt16 GetDragCopyCode() const 208 { return mpData->mnDragCopyCode; } SetDragLinkCode(sal_uInt16 nCode)209 void SetDragLinkCode( sal_uInt16 nCode ) 210 { CopyData(); mpData->mnDragLinkCode = nCode; } GetDragLinkCode() const211 sal_uInt16 GetDragLinkCode() const 212 { return mpData->mnDragLinkCode; } 213 SetContextMenuCode(sal_uInt16 nCode)214 void SetContextMenuCode( sal_uInt16 nCode ) 215 { CopyData(); mpData->mnContextMenuCode = nCode; } GetContextMenuCode() const216 sal_uInt16 GetContextMenuCode() const 217 { return mpData->mnContextMenuCode; } SetContextMenuClicks(sal_uInt16 nClicks)218 void SetContextMenuClicks( sal_uInt16 nClicks ) 219 { CopyData(); mpData->mnContextMenuClicks = nClicks; } GetContextMenuClicks() const220 sal_uInt16 GetContextMenuClicks() const 221 { return mpData->mnContextMenuClicks; } SetContextMenuDown(sal_Bool bDown)222 void SetContextMenuDown( sal_Bool bDown ) 223 { CopyData(); mpData->mbContextMenuDown = bDown; } GetContextMenuDown() const224 sal_Bool GetContextMenuDown() const 225 { return mpData->mbContextMenuDown; } 226 SetScrollRepeat(sal_uLong nRepeat)227 void SetScrollRepeat( sal_uLong nRepeat ) 228 { CopyData(); mpData->mnScrollRepeat = nRepeat; } GetScrollRepeat() const229 sal_uLong GetScrollRepeat() const 230 { return mpData->mnScrollRepeat; } SetButtonStartRepeat(sal_uLong nRepeat)231 void SetButtonStartRepeat( sal_uLong nRepeat ) 232 { CopyData(); mpData->mnButtonStartRepeat = nRepeat; } GetButtonStartRepeat() const233 sal_uLong GetButtonStartRepeat() const 234 { return mpData->mnButtonStartRepeat; } SetButtonRepeat(sal_uLong nRepeat)235 void SetButtonRepeat( sal_uLong nRepeat ) 236 { CopyData(); mpData->mnButtonRepeat = nRepeat; } GetButtonRepeat() const237 sal_uLong GetButtonRepeat() const 238 { return mpData->mnButtonRepeat; } SetActionDelay(sal_uLong nDelay)239 void SetActionDelay( sal_uLong nDelay ) 240 { CopyData(); mpData->mnActionDelay = nDelay; } GetActionDelay() const241 sal_uLong GetActionDelay() const 242 { return mpData->mnActionDelay; } SetMenuDelay(sal_uLong nDelay)243 void SetMenuDelay( sal_uLong nDelay ) 244 { CopyData(); mpData->mnMenuDelay = nDelay; } GetMenuDelay() const245 sal_uLong GetMenuDelay() const 246 { return mpData->mnMenuDelay; } 247 SetFollow(sal_uLong nFollow)248 void SetFollow( sal_uLong nFollow ) 249 { CopyData(); mpData->mnFollow = nFollow; } GetFollow() const250 sal_uLong GetFollow() const 251 { return mpData->mnFollow; } 252 SetMiddleButtonAction(sal_uInt16 nAction)253 void SetMiddleButtonAction( sal_uInt16 nAction ) 254 { CopyData(); mpData->mnMiddleButtonAction = nAction; } GetMiddleButtonAction() const255 sal_uInt16 GetMiddleButtonAction() const 256 { return mpData->mnMiddleButtonAction; } 257 SetWheelBehavior(sal_uInt16 nBehavior)258 void SetWheelBehavior( sal_uInt16 nBehavior ) 259 { CopyData(); mpData->mnWheelBehavior = nBehavior; } GetWheelBehavior() const260 sal_uInt16 GetWheelBehavior() const 261 { return mpData->mnWheelBehavior; } 262 263 const MouseSettings& operator =( const MouseSettings& rSet ); 264 265 sal_Bool operator ==( const MouseSettings& rSet ) const; operator !=(const MouseSettings & rSet) const266 sal_Bool operator !=( const MouseSettings& rSet ) const 267 { return !(*this == rSet); } 268 }; 269 270 // -------------------- 271 // - ImplKeyboardData - 272 // -------------------- 273 274 class ImplKeyboardData 275 { 276 friend class KeyboardSettings; 277 278 ImplKeyboardData(); 279 ImplKeyboardData( const ImplKeyboardData& rData ); 280 281 private: 282 sal_uLong mnRefCount; 283 Accelerator maStandardAccel; 284 sal_uLong mnOptions; 285 }; 286 287 // -------------------- 288 // - KeyboardSettings - 289 // -------------------- 290 291 #define KEYBOARD_OPTION_QUICKCURSOR ((sal_uLong)0x00000001) 292 293 class VCL_DLLPUBLIC KeyboardSettings 294 { 295 void CopyData(); 296 297 private: 298 ImplKeyboardData* mpData; 299 300 public: 301 KeyboardSettings(); 302 KeyboardSettings( const KeyboardSettings& rSet ); 303 ~KeyboardSettings(); 304 SetStandardAccel(const Accelerator & rAccelerator)305 void SetStandardAccel( const Accelerator& rAccelerator ) 306 { CopyData(); mpData->maStandardAccel = rAccelerator; } GetStandardAccel() const307 const Accelerator& GetStandardAccel() const 308 { return mpData->maStandardAccel; } 309 SetOptions(sal_uLong nOptions)310 void SetOptions( sal_uLong nOptions ) 311 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const312 sal_uLong GetOptions() const 313 { return mpData->mnOptions; } 314 315 const KeyboardSettings& operator =( const KeyboardSettings& rSet ); 316 317 sal_Bool operator ==( const KeyboardSettings& rSet ) const; operator !=(const KeyboardSettings & rSet) const318 sal_Bool operator !=( const KeyboardSettings& rSet ) const 319 { return !(*this == rSet); } 320 }; 321 322 // ----------------- 323 // - ImplStyleData - 324 // ----------------- 325 326 class ImplStyleData 327 { 328 friend class StyleSettings; 329 330 ImplStyleData(); 331 ImplStyleData( const ImplStyleData& rData ); 332 void SetStandardStyles(); 333 334 private: 335 sal_uLong mnRefCount; 336 337 void* mpStyleData_NotUsedYet; 338 339 Color maActiveBorderColor; 340 Color maActiveColor; 341 Color maActiveColor2; 342 Color maActiveTextColor; 343 Color maButtonTextColor; 344 Color maButtonRolloverTextColor; 345 Color maCheckedColor; 346 Color maDarkShadowColor; 347 Color maDeactiveBorderColor; 348 Color maDeactiveColor; 349 Color maDeactiveColor2; 350 Color maDeactiveTextColor; 351 Color maDialogColor; 352 Color maDialogTextColor; 353 Color maDisableColor; 354 Color maFaceColor; 355 Color maFieldColor; 356 Color maFieldTextColor; 357 Color maFieldRolloverTextColor; 358 Color maFontColor; 359 Color maGroupTextColor; 360 Color maHelpColor; 361 Color maHelpTextColor; 362 Color maHighlightColor; 363 Color maHighlightLinkColor; 364 Color maHighlightTextColor; 365 Color maInfoTextColor; 366 Color maLabelTextColor; 367 Color maLightBorderColor; 368 Color maLightColor; 369 Color maLinkColor; 370 Color maMenuBarColor; 371 Color maMenuBorderColor; 372 Color maMenuColor; 373 Color maMenuHighlightColor; 374 Color maMenuHighlightTextColor; 375 Color maMenuTextColor; 376 Color maMenuBarTextColor; 377 Color maMonoColor; 378 Color maRadioCheckTextColor; 379 Color maShadowColor; 380 Color maVisitedLinkColor; 381 Color maWindowColor; 382 Color maWindowTextColor; 383 Color maWorkspaceColor; 384 Color maActiveTabColor; 385 Color maInactiveTabColor; 386 Font maAppFont; 387 Font maHelpFont; 388 Font maTitleFont; 389 Font maFloatTitleFont; 390 Font maMenuFont; 391 Font maToolFont; 392 Font maLabelFont; 393 Font maInfoFont; 394 Font maRadioCheckFont; 395 Font maPushButtonFont; 396 Font maFieldFont; 397 Font maIconFont; 398 Font maGroupFont; 399 long mnBorderSize; 400 long mnTitleHeight; 401 long mnFloatTitleHeight; 402 long mnTearOffTitleHeight; 403 long mnScrollBarSize; 404 long mnSplitSize; 405 long mnSpinSize; 406 long mnCursorSize; 407 long mnMenuBarHeight; 408 long mnIconHorzSpace; 409 long mnIconVertSpace; 410 long mnAntialiasedMin; 411 sal_uLong mnCursorBlinkTime; 412 sal_uLong mnDragFullOptions; 413 sal_uLong mnAnimationOptions; 414 sal_uLong mnSelectionOptions; 415 sal_uLong mnLogoDisplayTime; 416 sal_uLong mnDisplayOptions; 417 sal_uLong mnToolbarIconSize; 418 sal_uLong mnUseFlatMenues; 419 sal_uLong mnOptions; 420 sal_uInt16 mnScreenZoom; 421 sal_uInt16 mnScreenFontZoom; 422 sal_uInt16 mnHighContrast; 423 sal_uInt16 mnUseSystemUIFonts; 424 sal_uInt16 mnAutoMnemonic; 425 sal_uInt16 mnUseImagesInMenus; 426 sal_uLong mnUseFlatBorders; 427 long mnMinThumbSize; 428 sal_uLong mnSymbolsStyle; 429 sal_uLong mnPreferredSymbolsStyle; 430 sal_uInt16 mnSkipDisabledInMenus; 431 Wallpaper maWorkspaceGradient; 432 const void* mpFontOptions; 433 434 sal_uInt16 mnEdgeBlending; 435 Color maEdgeBlendingTopLeftColor; 436 Color maEdgeBlendingBottomRightColor; 437 sal_uInt16 mnListBoxMaximumLineCount; 438 sal_uInt16 mnColorValueSetColumnCount; 439 sal_uInt16 mnColorValueSetMaximumRowCount; 440 Size maListBoxPreviewDefaultLogicSize; 441 Size maListBoxPreviewDefaultPixelSize; 442 sal_uInt16 mnListBoxPreviewDefaultLineWidth; 443 sal_Bool mbPreviewUsesCheckeredBackground; 444 }; 445 446 #define DEFAULT_WORKSPACE_GRADIENT_START_COLOR Color( 0x86, 0x8f, 0x97 ) 447 #define DEFAULT_WORKSPACE_GRADIENT_END_COLOR Color( 0x86, 0x8f, 0x97 ) 448 449 // ----------------- 450 // - StyleSettings - 451 // ----------------- 452 453 #define STYLE_OPTION_MONO ((sal_uLong)0x00000001) 454 #define STYLE_OPTION_COLOR ((sal_uLong)0x00000002) 455 #define STYLE_OPTION_FLAT ((sal_uLong)0x00000004) 456 #define STYLE_OPTION_GREAT ((sal_uLong)0x00000008) 457 #define STYLE_OPTION_HIGHLIGHT ((sal_uLong)0x00000010) 458 #define STYLE_OPTION_ADVANCEDUSER ((sal_uLong)0x00000020) 459 #define STYLE_OPTION_SCROLLARROW ((sal_uLong)0x00000040) 460 #define STYLE_OPTION_SPINARROW ((sal_uLong)0x00000080) 461 #define STYLE_OPTION_SPINUPDOWN ((sal_uLong)0x00000100) 462 #define STYLE_OPTION_NOMNEMONICS ((sal_uLong)0x00000200) 463 #define STYLE_OPTION_HIDEDISABLED ((sal_uLong)0x00100000) 464 465 #define DRAGFULL_OPTION_WINDOWMOVE ((sal_uLong)0x00000001) 466 #define DRAGFULL_OPTION_WINDOWSIZE ((sal_uLong)0x00000002) 467 #define DRAGFULL_OPTION_OBJECTMOVE ((sal_uLong)0x00000004) 468 #define DRAGFULL_OPTION_OBJECTSIZE ((sal_uLong)0x00000008) 469 #define DRAGFULL_OPTION_DOCKING ((sal_uLong)0x00000010) 470 #define DRAGFULL_OPTION_SPLIT ((sal_uLong)0x00000020) 471 #define DRAGFULL_OPTION_SCROLL ((sal_uLong)0x00000040) 472 473 #define LOGO_DISPLAYTIME_NOLOGO ((sal_uLong)0) 474 #define LOGO_DISPLAYTIME_STARTTIME ((sal_uLong)0xFFFFFFFF) 475 476 #define ANIMATION_OPTION_MINIMIZE ((sal_uLong)0x00000001) 477 #define ANIMATION_OPTION_POPUP ((sal_uLong)0x00000002) 478 #define ANIMATION_OPTION_DIALOG ((sal_uLong)0x00000004) 479 #define ANIMATION_OPTION_TREE ((sal_uLong)0x00000008) 480 #define ANIMATION_OPTION_SCROLL ((sal_uLong)0x00000010) 481 482 #define SELECTION_OPTION_WORD ((sal_uLong)0x00000001) 483 #define SELECTION_OPTION_FOCUS ((sal_uLong)0x00000002) 484 #define SELECTION_OPTION_INVERT ((sal_uLong)0x00000004) 485 #define SELECTION_OPTION_SHOWFIRST ((sal_uLong)0x00000008) 486 487 #define DISPLAY_OPTION_AA_DISABLE ((sal_uLong)0x00000001) 488 489 #define STYLE_RADIOBUTTON_MONO ((sal_uInt16)0x0001) // legacy 490 #define STYLE_CHECKBOX_MONO ((sal_uInt16)0x0001) // legacy 491 492 #define STYLE_TOOLBAR_ICONSIZE_UNKNOWN ((sal_uLong)0) 493 #define STYLE_TOOLBAR_ICONSIZE_SMALL ((sal_uLong)1) 494 #define STYLE_TOOLBAR_ICONSIZE_LARGE ((sal_uLong)2) 495 496 #define STYLE_SYMBOLS_AUTO ((sal_uLong)0) 497 #define STYLE_SYMBOLS_DEFAULT ((sal_uLong)1) 498 #define STYLE_SYMBOLS_HICONTRAST ((sal_uLong)2) 499 #define STYLE_SYMBOLS_INDUSTRIAL ((sal_uLong)3) 500 #define STYLE_SYMBOLS_CLASSIC ((sal_uLong)4) 501 #define STYLE_SYMBOLS_THEMES_MAX ((sal_uLong)5) 502 #define STYLE_CURSOR_NOBLINKTIME ((sal_uLong)0xFFFFFFFF) 503 504 class VCL_DLLPUBLIC StyleSettings 505 { 506 void CopyData(); 507 508 private: 509 ImplStyleData* mpData; 510 511 public: 512 StyleSettings(); 513 StyleSettings( const StyleSettings& rSet ); 514 ~StyleSettings(); 515 516 void Set3DColors( const Color& rColor ); SetFaceColor(const Color & rColor)517 void SetFaceColor( const Color& rColor ) 518 { CopyData(); mpData->maFaceColor = rColor; } GetFaceColor() const519 const Color& GetFaceColor() const 520 { return mpData->maFaceColor; } 521 Color GetFaceGradientColor() const; 522 Color GetSeparatorColor() const; SetCheckedColor(const Color & rColor)523 void SetCheckedColor( const Color& rColor ) 524 { CopyData(); mpData->maCheckedColor = rColor; } GetCheckedColor() const525 const Color& GetCheckedColor() const 526 { return mpData->maCheckedColor; } SetLightColor(const Color & rColor)527 void SetLightColor( const Color& rColor ) 528 { CopyData(); mpData->maLightColor = rColor; } GetLightColor() const529 const Color& GetLightColor() const 530 { return mpData->maLightColor; } SetLightBorderColor(const Color & rColor)531 void SetLightBorderColor( const Color& rColor ) 532 { CopyData(); mpData->maLightBorderColor = rColor; } GetLightBorderColor() const533 const Color& GetLightBorderColor() const 534 { return mpData->maLightBorderColor; } SetShadowColor(const Color & rColor)535 void SetShadowColor( const Color& rColor ) 536 { CopyData(); mpData->maShadowColor = rColor; } GetShadowColor() const537 const Color& GetShadowColor() const 538 { return mpData->maShadowColor; } SetDarkShadowColor(const Color & rColor)539 void SetDarkShadowColor( const Color& rColor ) 540 { CopyData(); mpData->maDarkShadowColor = rColor; } GetDarkShadowColor() const541 const Color& GetDarkShadowColor() const 542 { return mpData->maDarkShadowColor; } SetButtonTextColor(const Color & rColor)543 void SetButtonTextColor( const Color& rColor ) 544 { CopyData(); mpData->maButtonTextColor = rColor; } GetButtonTextColor() const545 const Color& GetButtonTextColor() const 546 { return mpData->maButtonTextColor; } SetButtonRolloverTextColor(const Color & rColor)547 void SetButtonRolloverTextColor( const Color& rColor ) 548 { CopyData(); mpData->maButtonRolloverTextColor = rColor; } GetButtonRolloverTextColor() const549 const Color& GetButtonRolloverTextColor() const 550 { return mpData->maButtonRolloverTextColor; } SetRadioCheckTextColor(const Color & rColor)551 void SetRadioCheckTextColor( const Color& rColor ) 552 { CopyData(); mpData->maRadioCheckTextColor = rColor; } GetRadioCheckTextColor() const553 const Color& GetRadioCheckTextColor() const 554 { return mpData->maRadioCheckTextColor; } SetGroupTextColor(const Color & rColor)555 void SetGroupTextColor( const Color& rColor ) 556 { CopyData(); mpData->maGroupTextColor = rColor; } GetGroupTextColor() const557 const Color& GetGroupTextColor() const 558 { return mpData->maGroupTextColor; } SetLabelTextColor(const Color & rColor)559 void SetLabelTextColor( const Color& rColor ) 560 { CopyData(); mpData->maLabelTextColor = rColor; } GetLabelTextColor() const561 const Color& GetLabelTextColor() const 562 { return mpData->maLabelTextColor; } SetInfoTextColor(const Color & rColor)563 void SetInfoTextColor( const Color& rColor ) 564 { CopyData(); mpData->maInfoTextColor = rColor; } GetInfoTextColor() const565 const Color& GetInfoTextColor() const 566 { return mpData->maInfoTextColor; } SetWindowColor(const Color & rColor)567 void SetWindowColor( const Color& rColor ) 568 { CopyData(); mpData->maWindowColor = rColor; } GetWindowColor() const569 const Color& GetWindowColor() const 570 { return mpData->maWindowColor; } SetWindowTextColor(const Color & rColor)571 void SetWindowTextColor( const Color& rColor ) 572 { CopyData(); mpData->maWindowTextColor = rColor; } GetWindowTextColor() const573 const Color& GetWindowTextColor() const 574 { return mpData->maWindowTextColor; } SetDialogColor(const Color & rColor)575 void SetDialogColor( const Color& rColor ) 576 { CopyData(); mpData->maDialogColor = rColor; } GetDialogColor() const577 const Color& GetDialogColor() const 578 { return mpData->maDialogColor; } SetDialogTextColor(const Color & rColor)579 void SetDialogTextColor( const Color& rColor ) 580 { CopyData(); mpData->maDialogTextColor = rColor; } GetDialogTextColor() const581 const Color& GetDialogTextColor() const 582 { return mpData->maDialogTextColor; } SetWorkspaceColor(const Color & rColor)583 void SetWorkspaceColor( const Color& rColor ) 584 { CopyData(); mpData->maWorkspaceColor = rColor; } GetWorkspaceColor() const585 const Color& GetWorkspaceColor() const 586 { return mpData->maWorkspaceColor; } SetFieldColor(const Color & rColor)587 void SetFieldColor( const Color& rColor ) 588 { CopyData(); mpData->maFieldColor = rColor; } GetFieldColor() const589 const Color& GetFieldColor() const 590 { return mpData->maFieldColor; } SetFieldTextColor(const Color & rColor)591 void SetFieldTextColor( const Color& rColor ) 592 { CopyData(); mpData->maFieldTextColor = rColor; } GetFieldTextColor() const593 const Color& GetFieldTextColor() const 594 { return mpData->maFieldTextColor; } SetFieldRolloverTextColor(const Color & rColor)595 void SetFieldRolloverTextColor( const Color& rColor ) 596 { CopyData(); mpData->maFieldRolloverTextColor = rColor; } GetFieldRolloverTextColor() const597 const Color& GetFieldRolloverTextColor() const 598 { return mpData->maFieldRolloverTextColor; } SetActiveColor(const Color & rColor)599 void SetActiveColor( const Color& rColor ) 600 { CopyData(); mpData->maActiveColor = rColor; } GetActiveColor() const601 const Color& GetActiveColor() const 602 { return mpData->maActiveColor; } SetActiveColor2(const Color & rColor)603 void SetActiveColor2( const Color& rColor ) 604 { CopyData(); mpData->maActiveColor2 = rColor; } GetActiveColor2() const605 const Color& GetActiveColor2() const 606 { return mpData->maActiveColor2; } SetActiveTextColor(const Color & rColor)607 void SetActiveTextColor( const Color& rColor ) 608 { CopyData(); mpData->maActiveTextColor = rColor; } GetActiveTextColor() const609 const Color& GetActiveTextColor() const 610 { return mpData->maActiveTextColor; } SetActiveBorderColor(const Color & rColor)611 void SetActiveBorderColor( const Color& rColor ) 612 { CopyData(); mpData->maActiveBorderColor = rColor; } GetActiveBorderColor() const613 const Color& GetActiveBorderColor() const 614 { return mpData->maActiveBorderColor; } SetDeactiveColor(const Color & rColor)615 void SetDeactiveColor( const Color& rColor ) 616 { CopyData(); mpData->maDeactiveColor = rColor; } GetDeactiveColor() const617 const Color& GetDeactiveColor() const 618 { return mpData->maDeactiveColor; } SetDeactiveColor2(const Color & rColor)619 void SetDeactiveColor2( const Color& rColor ) 620 { CopyData(); mpData->maDeactiveColor2 = rColor; } GetDeactiveColor2() const621 const Color& GetDeactiveColor2() const 622 { return mpData->maDeactiveColor2; } SetDeactiveTextColor(const Color & rColor)623 void SetDeactiveTextColor( const Color& rColor ) 624 { CopyData(); mpData->maDeactiveTextColor = rColor; } GetDeactiveTextColor() const625 const Color& GetDeactiveTextColor() const 626 { return mpData->maDeactiveTextColor; } SetDeactiveBorderColor(const Color & rColor)627 void SetDeactiveBorderColor( const Color& rColor ) 628 { CopyData(); mpData->maDeactiveBorderColor = rColor; } GetDeactiveBorderColor() const629 const Color& GetDeactiveBorderColor() const 630 { return mpData->maDeactiveBorderColor; } SetHighlightColor(const Color & rColor)631 void SetHighlightColor( const Color& rColor ) 632 { CopyData(); mpData->maHighlightColor = rColor; } GetHighlightColor() const633 const Color& GetHighlightColor() const 634 { return mpData->maHighlightColor; } SetHighlightTextColor(const Color & rColor)635 void SetHighlightTextColor( const Color& rColor ) 636 { CopyData(); mpData->maHighlightTextColor = rColor; } GetHighlightTextColor() const637 const Color& GetHighlightTextColor() const 638 { return mpData->maHighlightTextColor; } SetDisableColor(const Color & rColor)639 void SetDisableColor( const Color& rColor ) 640 { CopyData(); mpData->maDisableColor = rColor; } GetDisableColor() const641 const Color& GetDisableColor() const 642 { return mpData->maDisableColor; } SetHelpColor(const Color & rColor)643 void SetHelpColor( const Color& rColor ) 644 { CopyData(); mpData->maHelpColor = rColor; } GetHelpColor() const645 const Color& GetHelpColor() const 646 { return mpData->maHelpColor; } SetHelpTextColor(const Color & rColor)647 void SetHelpTextColor( const Color& rColor ) 648 { CopyData(); mpData->maHelpTextColor = rColor; } GetHelpTextColor() const649 const Color& GetHelpTextColor() const 650 { return mpData->maHelpTextColor; } SetMenuColor(const Color & rColor)651 void SetMenuColor( const Color& rColor ) 652 { CopyData(); mpData->maMenuColor = rColor; } GetMenuColor() const653 const Color& GetMenuColor() const 654 { return mpData->maMenuColor; } SetMenuBarColor(const Color & rColor)655 void SetMenuBarColor( const Color& rColor ) 656 { CopyData(); mpData->maMenuBarColor = rColor; } GetMenuBarColor() const657 const Color& GetMenuBarColor() const 658 { return mpData->maMenuBarColor; } SetMenuBorderColor(const Color & rColor)659 void SetMenuBorderColor( const Color& rColor ) 660 { CopyData(); mpData->maMenuBorderColor = rColor; } GetMenuBorderColor() const661 const Color& GetMenuBorderColor() const 662 { return mpData->maMenuBorderColor; } SetMenuTextColor(const Color & rColor)663 void SetMenuTextColor( const Color& rColor ) 664 { CopyData(); mpData->maMenuTextColor = rColor; } GetMenuTextColor() const665 const Color& GetMenuTextColor() const 666 { return mpData->maMenuTextColor; } SetMenuBarTextColor(const Color & rColor)667 void SetMenuBarTextColor( const Color& rColor ) 668 { CopyData(); mpData->maMenuBarTextColor = rColor; } GetMenuBarTextColor() const669 const Color& GetMenuBarTextColor() const 670 { return mpData->maMenuBarTextColor; } SetMenuHighlightColor(const Color & rColor)671 void SetMenuHighlightColor( const Color& rColor ) 672 { CopyData(); mpData->maMenuHighlightColor = rColor; } GetMenuHighlightColor() const673 const Color& GetMenuHighlightColor() const 674 { return mpData->maMenuHighlightColor; } SetMenuHighlightTextColor(const Color & rColor)675 void SetMenuHighlightTextColor( const Color& rColor ) 676 { CopyData(); mpData->maMenuHighlightTextColor = rColor; } GetMenuHighlightTextColor() const677 const Color& GetMenuHighlightTextColor() const 678 { return mpData->maMenuHighlightTextColor; } SetLinkColor(const Color & rColor)679 void SetLinkColor( const Color& rColor ) 680 { CopyData(); mpData->maLinkColor = rColor; } GetLinkColor() const681 const Color& GetLinkColor() const 682 { return mpData->maLinkColor; } SetVisitedLinkColor(const Color & rColor)683 void SetVisitedLinkColor( const Color& rColor ) 684 { CopyData(); mpData->maVisitedLinkColor = rColor; } GetVisitedLinkColor() const685 const Color& GetVisitedLinkColor() const 686 { return mpData->maVisitedLinkColor; } SetHighlightLinkColor(const Color & rColor)687 void SetHighlightLinkColor( const Color& rColor ) 688 { CopyData(); mpData->maHighlightLinkColor = rColor; } GetHighlightLinkColor() const689 const Color& GetHighlightLinkColor() const 690 { return mpData->maHighlightLinkColor; } 691 SetMonoColor(const Color & rColor)692 void SetMonoColor( const Color& rColor ) 693 { CopyData(); mpData->maMonoColor = rColor; } GetMonoColor() const694 const Color& GetMonoColor() const 695 { return mpData->maMonoColor; } 696 SetActiveTabColor(const Color & rColor)697 void SetActiveTabColor( const Color& rColor ) 698 { CopyData(); mpData->maActiveTabColor = rColor; } GetActiveTabColor() const699 const Color& GetActiveTabColor() const 700 { return mpData->maActiveTabColor; } SetInactiveTabColor(const Color & rColor)701 void SetInactiveTabColor( const Color& rColor ) 702 { CopyData(); mpData->maInactiveTabColor = rColor; } GetInactiveTabColor() const703 const Color& GetInactiveTabColor() const 704 { return mpData->maInactiveTabColor; } 705 SetHighContrastMode(sal_Bool bHighContrast)706 void SetHighContrastMode( sal_Bool bHighContrast ) 707 { CopyData(); mpData->mnHighContrast = bHighContrast; } GetHighContrastMode() const708 sal_Bool GetHighContrastMode() const 709 { return (sal_Bool) mpData->mnHighContrast; } 710 sal_Bool IsHighContrastBlackAndWhite() const; SetUseSystemUIFonts(sal_Bool bUseSystemUIFonts)711 void SetUseSystemUIFonts( sal_Bool bUseSystemUIFonts ) 712 { CopyData(); mpData->mnUseSystemUIFonts = bUseSystemUIFonts; } GetUseSystemUIFonts() const713 sal_Bool GetUseSystemUIFonts() const 714 { return (sal_Bool) mpData->mnUseSystemUIFonts; } SetUseFlatBorders(sal_Bool bUseFlatBorders)715 void SetUseFlatBorders( sal_Bool bUseFlatBorders ) 716 { CopyData(); mpData->mnUseFlatBorders = bUseFlatBorders; } GetUseFlatBorders() const717 sal_Bool GetUseFlatBorders() const 718 { return (sal_Bool) mpData->mnUseFlatBorders; } SetUseFlatMenues(sal_Bool bUseFlatMenues)719 void SetUseFlatMenues( sal_Bool bUseFlatMenues ) 720 { CopyData(); mpData->mnUseFlatMenues = bUseFlatMenues; } GetUseFlatMenues() const721 sal_Bool GetUseFlatMenues() const 722 { return (sal_Bool) mpData->mnUseFlatMenues; } SetUseImagesInMenus(sal_Bool bUseImagesInMenus)723 void SetUseImagesInMenus( sal_Bool bUseImagesInMenus ) 724 { CopyData(); mpData->mnUseImagesInMenus = bUseImagesInMenus; } GetUseImagesInMenus() const725 sal_Bool GetUseImagesInMenus() const 726 { return (sal_Bool) mpData->mnUseImagesInMenus; } SetSkipDisabledInMenus(sal_Bool bSkipDisabledInMenus)727 void SetSkipDisabledInMenus( sal_Bool bSkipDisabledInMenus ) 728 { CopyData(); mpData->mnSkipDisabledInMenus = bSkipDisabledInMenus; } GetSkipDisabledInMenus() const729 sal_Bool GetSkipDisabledInMenus() const 730 { return (sal_Bool) mpData->mnSkipDisabledInMenus; } 731 SetCairoFontOptions(const void * pOptions)732 void SetCairoFontOptions( const void *pOptions ) 733 { CopyData(); mpData->mpFontOptions = pOptions; } GetCairoFontOptions() const734 const void* GetCairoFontOptions() const 735 { return mpData->mpFontOptions; } 736 SetAppFont(const Font & rFont)737 void SetAppFont( const Font& rFont ) 738 { CopyData(); mpData->maAppFont = rFont; } GetAppFont() const739 const Font& GetAppFont() const 740 { return mpData->maAppFont; } SetHelpFont(const Font & rFont)741 void SetHelpFont( const Font& rFont ) 742 { CopyData(); mpData->maHelpFont = rFont; } GetHelpFont() const743 const Font& GetHelpFont() const 744 { return mpData->maHelpFont; } SetTitleFont(const Font & rFont)745 void SetTitleFont( const Font& rFont ) 746 { CopyData(); mpData->maTitleFont = rFont; } GetTitleFont() const747 const Font& GetTitleFont() const 748 { return mpData->maTitleFont; } SetFloatTitleFont(const Font & rFont)749 void SetFloatTitleFont( const Font& rFont ) 750 { CopyData(); mpData->maFloatTitleFont = rFont; } GetFloatTitleFont() const751 const Font& GetFloatTitleFont() const 752 { return mpData->maFloatTitleFont; } SetMenuFont(const Font & rFont)753 void SetMenuFont( const Font& rFont ) 754 { CopyData(); mpData->maMenuFont = rFont; } GetMenuFont() const755 const Font& GetMenuFont() const 756 { return mpData->maMenuFont; } SetToolFont(const Font & rFont)757 void SetToolFont( const Font& rFont ) 758 { CopyData(); mpData->maToolFont = rFont; } GetToolFont() const759 const Font& GetToolFont() const 760 { return mpData->maToolFont; } SetGroupFont(const Font & rFont)761 void SetGroupFont( const Font& rFont ) 762 { CopyData(); mpData->maGroupFont = rFont; } GetGroupFont() const763 const Font& GetGroupFont() const 764 { return mpData->maGroupFont; } SetLabelFont(const Font & rFont)765 void SetLabelFont( const Font& rFont ) 766 { CopyData(); mpData->maLabelFont = rFont; } GetLabelFont() const767 const Font& GetLabelFont() const 768 { return mpData->maLabelFont; } SetInfoFont(const Font & rFont)769 void SetInfoFont( const Font& rFont ) 770 { CopyData(); mpData->maInfoFont = rFont; } GetInfoFont() const771 const Font& GetInfoFont() const 772 { return mpData->maInfoFont; } SetRadioCheckFont(const Font & rFont)773 void SetRadioCheckFont( const Font& rFont ) 774 { CopyData(); mpData->maRadioCheckFont = rFont; } GetRadioCheckFont() const775 const Font& GetRadioCheckFont() const 776 { return mpData->maRadioCheckFont; } SetPushButtonFont(const Font & rFont)777 void SetPushButtonFont( const Font& rFont ) 778 { CopyData(); mpData->maPushButtonFont = rFont; } GetPushButtonFont() const779 const Font& GetPushButtonFont() const 780 { return mpData->maPushButtonFont; } SetFieldFont(const Font & rFont)781 void SetFieldFont( const Font& rFont ) 782 { CopyData(); mpData->maFieldFont = rFont; } GetFieldFont() const783 const Font& GetFieldFont() const 784 { return mpData->maFieldFont; } SetIconFont(const Font & rFont)785 void SetIconFont( const Font& rFont ) 786 { CopyData(); mpData->maIconFont = rFont; } GetIconFont() const787 const Font& GetIconFont() const 788 { return mpData->maIconFont; } 789 SetBorderSize(long nSize)790 void SetBorderSize( long nSize ) 791 { CopyData(); mpData->mnBorderSize = nSize; } GetBorderSize() const792 long GetBorderSize() const 793 { return mpData->mnBorderSize; } SetTitleHeight(long nSize)794 void SetTitleHeight( long nSize ) 795 { CopyData(); mpData->mnTitleHeight = nSize; } GetTitleHeight() const796 long GetTitleHeight() const 797 { return mpData->mnTitleHeight; } SetFloatTitleHeight(long nSize)798 void SetFloatTitleHeight( long nSize ) 799 { CopyData(); mpData->mnFloatTitleHeight = nSize; } GetFloatTitleHeight() const800 long GetFloatTitleHeight() const 801 { return mpData->mnFloatTitleHeight; } SetTearOffTitleHeight(long nSize)802 void SetTearOffTitleHeight( long nSize ) 803 { CopyData(); mpData->mnTearOffTitleHeight = nSize; } GetTearOffTitleHeight() const804 long GetTearOffTitleHeight() const 805 { return mpData->mnTearOffTitleHeight; } SetMenuBarHeight(long nSize)806 void SetMenuBarHeight( long nSize ) 807 { CopyData(); mpData->mnMenuBarHeight = nSize; } GetMenuBarHeight() const808 long GetMenuBarHeight() const 809 { return mpData->mnMenuBarHeight; } SetScrollBarSize(long nSize)810 void SetScrollBarSize( long nSize ) 811 { CopyData(); mpData->mnScrollBarSize = nSize; } GetScrollBarSize() const812 long GetScrollBarSize() const 813 { return mpData->mnScrollBarSize; } SetMinThumbSize(long nSize)814 void SetMinThumbSize( long nSize ) 815 { CopyData(); mpData->mnMinThumbSize = nSize; } GetMinThumbSize() const816 long GetMinThumbSize() const 817 { return mpData->mnMinThumbSize; } SetSpinSize(long nSize)818 void SetSpinSize( long nSize ) 819 { CopyData(); mpData->mnSpinSize = nSize; } GetSpinSize() const820 long GetSpinSize() const 821 { return mpData->mnSpinSize; } SetSplitSize(long nSize)822 void SetSplitSize( long nSize ) 823 { CopyData(); mpData->mnSplitSize = nSize; } GetSplitSize() const824 long GetSplitSize() const 825 { return mpData->mnSplitSize; } 826 SetIconHorzSpace(long nSpace)827 void SetIconHorzSpace( long nSpace ) 828 { CopyData(); mpData->mnIconHorzSpace = nSpace; } GetIconHorzSpace() const829 long GetIconHorzSpace() const 830 { return mpData->mnIconHorzSpace; } SetIconVertSpace(long nSpace)831 void SetIconVertSpace( long nSpace ) 832 { CopyData(); mpData->mnIconVertSpace = nSpace; } GetIconVertSpace() const833 long GetIconVertSpace() const 834 { return mpData->mnIconVertSpace; } 835 SetCursorSize(long nSize)836 void SetCursorSize( long nSize ) 837 { CopyData(); mpData->mnCursorSize = nSize; } GetCursorSize() const838 long GetCursorSize() const 839 { return mpData->mnCursorSize; } SetCursorBlinkTime(long nBlinkTime)840 void SetCursorBlinkTime( long nBlinkTime ) 841 { CopyData(); mpData->mnCursorBlinkTime = nBlinkTime; } GetCursorBlinkTime() const842 long GetCursorBlinkTime() const 843 { return mpData->mnCursorBlinkTime; } 844 SetScreenZoom(sal_uInt16 nPercent)845 void SetScreenZoom( sal_uInt16 nPercent ) 846 { CopyData(); mpData->mnScreenZoom = nPercent; } GetScreenZoom() const847 sal_uInt16 GetScreenZoom() const 848 { return mpData->mnScreenZoom; } SetScreenFontZoom(sal_uInt16 nPercent)849 void SetScreenFontZoom( sal_uInt16 nPercent ) 850 { CopyData(); mpData->mnScreenFontZoom = nPercent; } GetScreenFontZoom() const851 sal_uInt16 GetScreenFontZoom() const 852 { return mpData->mnScreenFontZoom; } 853 SetLogoDisplayTime(sal_uLong nDisplayTime)854 void SetLogoDisplayTime( sal_uLong nDisplayTime ) 855 { CopyData(); mpData->mnLogoDisplayTime = nDisplayTime; } GetLogoDisplayTime() const856 sal_uLong GetLogoDisplayTime() const 857 { return mpData->mnLogoDisplayTime; } 858 SetDragFullOptions(sal_uLong nOptions)859 void SetDragFullOptions( sal_uLong nOptions ) 860 { CopyData(); mpData->mnDragFullOptions = nOptions; } GetDragFullOptions() const861 sal_uLong GetDragFullOptions() const 862 { return mpData->mnDragFullOptions; } 863 SetAnimationOptions(sal_uLong nOptions)864 void SetAnimationOptions( sal_uLong nOptions ) 865 { CopyData(); mpData->mnAnimationOptions = nOptions; } GetAnimationOptions() const866 sal_uLong GetAnimationOptions() const 867 { return mpData->mnAnimationOptions; } 868 SetSelectionOptions(sal_uLong nOptions)869 void SetSelectionOptions( sal_uLong nOptions ) 870 { CopyData(); mpData->mnSelectionOptions = nOptions; } GetSelectionOptions() const871 sal_uLong GetSelectionOptions() const 872 { return mpData->mnSelectionOptions; } 873 SetDisplayOptions(sal_uLong nOptions)874 void SetDisplayOptions( sal_uLong nOptions ) 875 { CopyData(); mpData->mnDisplayOptions = nOptions; } GetDisplayOptions() const876 sal_uLong GetDisplayOptions() const 877 { return mpData->mnDisplayOptions; } SetAntialiasingMinPixelHeight(long nMinPixel)878 void SetAntialiasingMinPixelHeight( long nMinPixel ) 879 { CopyData(); mpData->mnAntialiasedMin = nMinPixel; } GetAntialiasingMinPixelHeight() const880 sal_uLong GetAntialiasingMinPixelHeight() const 881 { return mpData->mnAntialiasedMin; } 882 SetOptions(sal_uLong nOptions)883 void SetOptions( sal_uLong nOptions ) 884 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const885 sal_uLong GetOptions() const 886 { return mpData->mnOptions; } SetAutoMnemonic(sal_Bool bAutoMnemonic)887 void SetAutoMnemonic( sal_Bool bAutoMnemonic ) 888 { CopyData(); mpData->mnAutoMnemonic = (sal_uInt16)bAutoMnemonic; } GetAutoMnemonic() const889 sal_Bool GetAutoMnemonic() const 890 { return mpData->mnAutoMnemonic ? sal_True : sal_False; } 891 SetFontColor(const Color & rColor)892 void SetFontColor( const Color& rColor ) 893 { CopyData(); mpData->maFontColor = rColor; } GetFontColor() const894 const Color& GetFontColor() const 895 { return mpData->maFontColor; } 896 SetToolbarIconSize(sal_uLong nSize)897 void SetToolbarIconSize( sal_uLong nSize ) 898 { CopyData(); mpData->mnToolbarIconSize = nSize; } GetToolbarIconSize() const899 sal_uLong GetToolbarIconSize() const 900 { return mpData->mnToolbarIconSize; } 901 SetSymbolsStyle(sal_uLong nStyle)902 void SetSymbolsStyle( sal_uLong nStyle ) 903 { CopyData(); mpData->mnSymbolsStyle = nStyle; } GetSymbolsStyle() const904 sal_uLong GetSymbolsStyle() const 905 { return mpData->mnSymbolsStyle; } 906 SetPreferredSymbolsStyle(sal_uLong nStyle)907 void SetPreferredSymbolsStyle( sal_uLong nStyle ) 908 { CopyData(); mpData->mnPreferredSymbolsStyle = nStyle; } 909 void SetPreferredSymbolsStyleName( const ::rtl::OUString &rName ); GetPreferredSymbolsStyle() const910 sal_uLong GetPreferredSymbolsStyle() const 911 { return mpData->mnPreferredSymbolsStyle; } 912 // check whether the symbols style is supported (icons are installed) 913 bool CheckSymbolStyle( sal_uLong nStyle ) const; 914 sal_uLong GetAutoSymbolsStyle() const; 915 916 sal_uLong GetCurrentSymbolsStyle() const; 917 SetSymbolsStyleName(const::rtl::OUString & rName)918 void SetSymbolsStyleName( const ::rtl::OUString &rName ) 919 { return SetSymbolsStyle( ImplNameToSymbolsStyle( rName ) ); } GetSymbolsStyleName() const920 ::rtl::OUString GetSymbolsStyleName() const 921 { return ImplSymbolsStyleToName( GetSymbolsStyle() ); } GetCurrentSymbolsStyleName() const922 ::rtl::OUString GetCurrentSymbolsStyleName() const 923 { return ImplSymbolsStyleToName( GetCurrentSymbolsStyle() ); } 924 GetWorkspaceGradient() const925 const Wallpaper& GetWorkspaceGradient() const 926 { return mpData->maWorkspaceGradient; } SetWorkspaceGradient(const Wallpaper & rWall)927 void SetWorkspaceGradient( const Wallpaper& rWall ) 928 { CopyData(); mpData->maWorkspaceGradient = rWall; } 929 930 // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox 931 // when activated there using Get/SetEdgeBlending; default is true SetEdgeBlending(sal_uInt16 nCount)932 void SetEdgeBlending(sal_uInt16 nCount) { CopyData(); mpData->mnEdgeBlending = nCount; } GetEdgeBlending() const933 sal_uInt16 GetEdgeBlending() const { return mpData->mnEdgeBlending; } 934 935 // TopLeft (default RGB_COLORDATA(0xC0, 0xC0, 0xC0)) and BottomRight (default RGB_COLORDATA(0x40, 0x40, 0x40)) 936 // default colors for EdgeBlending SetEdgeBlendingTopLeftColor(const Color & rTopLeft)937 void SetEdgeBlendingTopLeftColor(const Color& rTopLeft) { CopyData(); mpData->maEdgeBlendingTopLeftColor = rTopLeft; } GetEdgeBlendingTopLeftColor() const938 const Color& GetEdgeBlendingTopLeftColor() const { return mpData->maEdgeBlendingTopLeftColor; } SetEdgeBlendingBottomRightColor(const Color & rBottomRight)939 void SetEdgeBlendingBottomRightColor(const Color& rBottomRight) { CopyData(); mpData->maEdgeBlendingBottomRightColor = rBottomRight; } GetEdgeBlendingBottomRightColor() const940 const Color& GetEdgeBlendingBottomRightColor() const { return mpData->maEdgeBlendingBottomRightColor; } 941 942 // maximum line count for ListBox control; to use this, call AdaptDropDownLineCountToMaximum() at the 943 // ListBox after its ItemCount has changed/got filled. Default is 25. If more Items exist, a scrollbar 944 // will be used SetListBoxMaximumLineCount(sal_uInt16 nCount)945 void SetListBoxMaximumLineCount(sal_uInt16 nCount) { CopyData(); mpData->mnListBoxMaximumLineCount = nCount; } GetListBoxMaximumLineCount() const946 sal_uInt16 GetListBoxMaximumLineCount() const { return mpData->mnListBoxMaximumLineCount; } 947 948 // maximum column count for the ColorValueSet control. Default is 12 and this is optimized for the 949 // color scheme which has 12-color aligned layout for the part taken over from Symphony. Do 950 // only change this if you know what you are doing. SetColorValueSetColumnCount(sal_uInt16 nCount)951 void SetColorValueSetColumnCount(sal_uInt16 nCount) { CopyData(); mpData->mnColorValueSetColumnCount = nCount; } GetColorValueSetColumnCount() const952 sal_uInt16 GetColorValueSetColumnCount() const { return mpData->mnColorValueSetColumnCount; } 953 954 // maximum row/line count for the ColorValueSet control. If more lines would be needed, a scrollbar will 955 // be used. Default is 40. SetColorValueSetMaximumRowCount(sal_uInt16 nCount)956 void SetColorValueSetMaximumRowCount(sal_uInt16 nCount) { CopyData(); mpData->mnColorValueSetMaximumRowCount = nCount; } GetColorValueSetMaximumRowCount() const957 sal_uInt16 GetColorValueSetMaximumRowCount() const { return mpData->mnColorValueSetMaximumRowCount; } 958 959 // the logical size for preview graphics in the ListBoxes (e.g. FillColor, FillGradient, FillHatch, FillGraphic, ..). The 960 // default defines a UI-Scale independent setting which will be scaled using MAP_APPFONT. This ensures that the size will 961 // fit independent from the used SystemFont (as all the resources for UI elements). The default is Size(15, 7) which gives 962 // the correct height and a decent width. Do not change the height, but you may adapt the width to change the preview width. 963 // GetListBoxPreviewDefaultPixelSize() is for convenience so that not everyone has to do the scaling itself and contains 964 // the logical size scaled by MAP_APPFONT. SetListBoxPreviewDefaultLogicSize(const Size & rSize)965 void SetListBoxPreviewDefaultLogicSize(const Size& rSize) { CopyData(); mpData->maListBoxPreviewDefaultLogicSize = rSize; mpData->maListBoxPreviewDefaultPixelSize = Size(0, 0);} GetListBoxPreviewDefaultLogicSize() const966 const Size& GetListBoxPreviewDefaultLogicSize() const { return mpData->maListBoxPreviewDefaultLogicSize; } 967 const Size& GetListBoxPreviewDefaultPixelSize() const; 968 969 // the default LineWidth for ListBox UI previews (LineStyle, LineDash, LineStartEnd). Default is 1. SetListBoxPreviewDefaultLineWidth(sal_uInt16 nWidth)970 void SetListBoxPreviewDefaultLineWidth(sal_uInt16 nWidth) { CopyData(); mpData->mnListBoxPreviewDefaultLineWidth = nWidth; } GetListBoxPreviewDefaultLineWidth() const971 sal_uInt16 GetListBoxPreviewDefaultLineWidth() const { return mpData->mnListBoxPreviewDefaultLineWidth; } 972 973 // defines if previews which contain potentially transparent objects (e.g. the dash/line/LineStartEnd previews and others) 974 // use the default transparent visualization background (checkered background) as it has got standard in graphic programs nowadays SetPreviewUsesCheckeredBackground(bool bNew)975 void SetPreviewUsesCheckeredBackground(bool bNew) { CopyData(); mpData->mbPreviewUsesCheckeredBackground = bNew; } GetPreviewUsesCheckeredBackground() const976 bool GetPreviewUsesCheckeredBackground() const { return mpData->mbPreviewUsesCheckeredBackground; } 977 978 void SetStandardStyles(); 979 980 const StyleSettings& operator =( const StyleSettings& rSet ); 981 982 sal_Bool operator ==( const StyleSettings& rSet ) const; operator !=(const StyleSettings & rSet) const983 sal_Bool operator !=( const StyleSettings& rSet ) const 984 { return !(*this == rSet); } 985 986 protected: 987 ::rtl::OUString ImplSymbolsStyleToName( sal_uLong nStyle ) const; 988 sal_uLong ImplNameToSymbolsStyle( const ::rtl::OUString &rName ) const; 989 }; 990 991 // ---------------- 992 // - ImplMiscData - 993 // ---------------- 994 995 class ImplMiscData 996 { 997 friend class MiscSettings; 998 999 ImplMiscData(); 1000 ImplMiscData( const ImplMiscData& rData ); 1001 1002 private: 1003 sal_uLong mnRefCount; 1004 sal_uInt16 mnEnableATT; 1005 sal_Bool mbEnableLocalizedDecimalSep; 1006 sal_uInt16 mnDisablePrinting; 1007 }; 1008 1009 // ---------------- 1010 // - MiscSettings - 1011 // ---------------- 1012 1013 class VCL_DLLPUBLIC MiscSettings 1014 { 1015 void CopyData(); 1016 1017 private: 1018 ImplMiscData* mpData; 1019 1020 public: 1021 MiscSettings(); 1022 MiscSettings( const MiscSettings& rSet ); 1023 ~MiscSettings(); 1024 1025 void SetEnableATToolSupport( sal_Bool bEnable ); 1026 sal_Bool GetEnableATToolSupport() const; 1027 void SetDisablePrinting( sal_Bool bEnable ); 1028 sal_Bool GetDisablePrinting() const; 1029 void SetEnableLocalizedDecimalSep( sal_Bool bEnable ); 1030 sal_Bool GetEnableLocalizedDecimalSep() const; 1031 const MiscSettings& operator =( const MiscSettings& rSet ); 1032 1033 sal_Bool operator ==( const MiscSettings& rSet ) const; operator !=(const MiscSettings & rSet) const1034 sal_Bool operator !=( const MiscSettings& rSet ) const 1035 { return !(*this == rSet); } 1036 }; 1037 1038 // ------------------------ 1039 // - ImplNotificationData - 1040 // ------------------------ 1041 1042 class ImplNotificationData 1043 { 1044 friend class NotificationSettings; 1045 1046 ImplNotificationData(); 1047 ImplNotificationData( const ImplNotificationData& rData ); 1048 1049 private: 1050 sal_uLong mnRefCount; 1051 sal_uLong mnOptions; 1052 }; 1053 1054 // ------------------------ 1055 // - NotificationSettings - 1056 // ------------------------ 1057 1058 class VCL_DLLPUBLIC NotificationSettings 1059 { 1060 void CopyData(); 1061 1062 private: 1063 ImplNotificationData* mpData; 1064 1065 public: 1066 NotificationSettings(); 1067 NotificationSettings( const NotificationSettings& rSet ); 1068 ~NotificationSettings(); 1069 SetOptions(sal_uLong nOptions)1070 void SetOptions( sal_uLong nOptions ) 1071 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const1072 sal_uLong GetOptions() const 1073 { return mpData->mnOptions; } 1074 1075 const NotificationSettings& operator =( const NotificationSettings& rSet ); 1076 1077 sal_Bool operator ==( const NotificationSettings& rSet ) const; operator !=(const NotificationSettings & rSet) const1078 sal_Bool operator !=( const NotificationSettings& rSet ) const 1079 { return !(*this == rSet); } 1080 }; 1081 1082 // ---------------- 1083 // - ImplHelpData - 1084 // ---------------- 1085 1086 class ImplHelpData 1087 { 1088 friend class HelpSettings; 1089 1090 ImplHelpData(); 1091 ImplHelpData( const ImplHelpData& rData ); 1092 1093 private: 1094 sal_uLong mnRefCount; 1095 sal_uLong mnOptions; 1096 sal_uLong mnTipDelay; 1097 sal_uLong mnTipTimeout; 1098 sal_uLong mnBalloonDelay; 1099 }; 1100 1101 // ---------------- 1102 // - HelpSettings - 1103 // ---------------- 1104 1105 #define HELP_OPTION_QUICK ((sal_uLong)0x00000001) 1106 #define HELP_OPTION_ACTIVE ((sal_uLong)0x00000002) 1107 1108 class VCL_DLLPUBLIC HelpSettings 1109 { 1110 void CopyData(); 1111 1112 private: 1113 ImplHelpData* mpData; 1114 1115 public: 1116 HelpSettings(); 1117 HelpSettings( const HelpSettings& rSet ); 1118 ~HelpSettings(); 1119 SetOptions(sal_uLong nOptions)1120 void SetOptions( sal_uLong nOptions ) 1121 { CopyData(); mpData->mnOptions = nOptions; } GetOptions() const1122 sal_uLong GetOptions() const 1123 { return mpData->mnOptions; } SetTipDelay(sal_uLong nTipDelay)1124 void SetTipDelay( sal_uLong nTipDelay ) 1125 { CopyData(); mpData->mnTipDelay = nTipDelay; } GetTipDelay() const1126 sal_uLong GetTipDelay() const 1127 { return mpData->mnTipDelay; } SetTipTimeout(sal_uLong nTipTimeout)1128 void SetTipTimeout( sal_uLong nTipTimeout ) 1129 { CopyData(); mpData->mnTipTimeout = nTipTimeout; } GetTipTimeout() const1130 sal_uLong GetTipTimeout() const 1131 { return mpData->mnTipTimeout; } SetBalloonDelay(sal_uLong nBalloonDelay)1132 void SetBalloonDelay( sal_uLong nBalloonDelay ) 1133 { CopyData(); mpData->mnBalloonDelay = nBalloonDelay; } GetBalloonDelay() const1134 sal_uLong GetBalloonDelay() const 1135 { return mpData->mnBalloonDelay; } 1136 1137 const HelpSettings& operator =( const HelpSettings& rSet ); 1138 1139 sal_Bool operator ==( const HelpSettings& rSet ) const; operator !=(const HelpSettings & rSet) const1140 sal_Bool operator !=( const HelpSettings& rSet ) const 1141 { return !(*this == rSet); } 1142 }; 1143 1144 // ----------------------- 1145 // - ImplAllSettingsData - 1146 // ----------------------- 1147 class LocaleConfigurationListener; 1148 class ImplAllSettingsData 1149 { 1150 friend class AllSettings; 1151 1152 ImplAllSettingsData(); 1153 ImplAllSettingsData( const ImplAllSettingsData& rData ); 1154 ~ImplAllSettingsData(); 1155 1156 private: 1157 sal_uLong mnRefCount; 1158 MachineSettings maMachineSettings; 1159 MouseSettings maMouseSettings; 1160 KeyboardSettings maKeyboardSettings; 1161 StyleSettings maStyleSettings; 1162 MiscSettings maMiscSettings; 1163 NotificationSettings maNotificationSettings; 1164 HelpSettings maHelpSettings; 1165 ::com::sun::star::lang::Locale maLocale; 1166 sal_uLong mnSystemUpdate; 1167 sal_uLong mnWindowUpdate; 1168 ::com::sun::star::lang::Locale maUILocale; 1169 LanguageType meLanguage; 1170 LanguageType meUILanguage; 1171 LocaleDataWrapper* mpLocaleDataWrapper; 1172 LocaleDataWrapper* mpUILocaleDataWrapper; 1173 CollatorWrapper* mpCollatorWrapper; 1174 CollatorWrapper* mpUICollatorWrapper; 1175 vcl::I18nHelper* mpI18nHelper; 1176 vcl::I18nHelper* mpUII18nHelper; 1177 LocaleConfigurationListener* mpLocaleCfgListener; 1178 SvtSysLocale maSysLocale; 1179 }; 1180 1181 // --------------- 1182 // - AllSettings - 1183 // --------------- 1184 1185 #define SETTINGS_MACHINE ((sal_uLong)0x00000001) 1186 #define SETTINGS_MOUSE ((sal_uLong)0x00000002) 1187 #define SETTINGS_KEYBOARD ((sal_uLong)0x00000004) 1188 #define SETTINGS_STYLE ((sal_uLong)0x00000008) 1189 #define SETTINGS_MISC ((sal_uLong)0x00000010) 1190 #define SETTINGS_SOUND ((sal_uLong)0x00000020) 1191 #define SETTINGS_NOTIFICATION ((sal_uLong)0x00000040) 1192 #define SETTINGS_HELP ((sal_uLong)0x00000080) 1193 #define SETTINGS_INTERNATIONAL ((sal_uLong)0x00000100) /* was for class International, has no effect anymore */ 1194 #define SETTINGS_LOCALE ((sal_uLong)0x00000200) 1195 #define SETTINGS_UILOCALE ((sal_uLong)0x00000400) 1196 #define SETTINGS_ALLSETTINGS (SETTINGS_MACHINE |\ 1197 SETTINGS_MOUSE | SETTINGS_KEYBOARD |\ 1198 SETTINGS_STYLE | SETTINGS_MISC |\ 1199 SETTINGS_SOUND | SETTINGS_NOTIFICATION |\ 1200 SETTINGS_HELP |\ 1201 SETTINGS_LOCALE | SETTINGS_UILOCALE ) 1202 #define SETTINGS_IN_UPDATE_SETTINGS ((sal_uLong)0x00000800) // this flag indicates that the data changed event was created 1203 // in Windows::UpdateSettings probably because of a global 1204 // settings changed 1205 1206 class VCL_DLLPUBLIC AllSettings 1207 { 1208 void CopyData(); 1209 1210 private: 1211 ImplAllSettingsData* mpData; 1212 1213 public: 1214 AllSettings(); 1215 AllSettings( const AllSettings& rSet ); 1216 ~AllSettings(); 1217 SetMachineSettings(const MachineSettings & rSet)1218 void SetMachineSettings( const MachineSettings& rSet ) 1219 { CopyData(); mpData->maMachineSettings = rSet; } GetMachineSettings() const1220 const MachineSettings& GetMachineSettings() const 1221 { return mpData->maMachineSettings; } 1222 SetMouseSettings(const MouseSettings & rSet)1223 void SetMouseSettings( const MouseSettings& rSet ) 1224 { CopyData(); mpData->maMouseSettings = rSet; } GetMouseSettings() const1225 const MouseSettings& GetMouseSettings() const 1226 { return mpData->maMouseSettings; } 1227 SetKeyboardSettings(const KeyboardSettings & rSet)1228 void SetKeyboardSettings( const KeyboardSettings& rSet ) 1229 { CopyData(); mpData->maKeyboardSettings = rSet; } GetKeyboardSettings() const1230 const KeyboardSettings& GetKeyboardSettings() const 1231 { return mpData->maKeyboardSettings; } 1232 SetStyleSettings(const StyleSettings & rSet)1233 void SetStyleSettings( const StyleSettings& rSet ) 1234 { CopyData(); mpData->maStyleSettings = rSet; } GetStyleSettings() const1235 const StyleSettings& GetStyleSettings() const 1236 { return mpData->maStyleSettings; } 1237 SetMiscSettings(const MiscSettings & rSet)1238 void SetMiscSettings( const MiscSettings& rSet ) 1239 { CopyData(); mpData->maMiscSettings = rSet; } GetMiscSettings() const1240 const MiscSettings& GetMiscSettings() const 1241 { return mpData->maMiscSettings; } 1242 SetNotificationSettings(const NotificationSettings & rSet)1243 void SetNotificationSettings( const NotificationSettings& rSet ) 1244 { CopyData(); mpData->maNotificationSettings = rSet; } GetNotificationSettings() const1245 const NotificationSettings& GetNotificationSettings() const 1246 { return mpData->maNotificationSettings; } 1247 SetHelpSettings(const HelpSettings & rSet)1248 void SetHelpSettings( const HelpSettings& rSet ) 1249 { CopyData(); mpData->maHelpSettings = rSet; } GetHelpSettings() const1250 const HelpSettings& GetHelpSettings() const 1251 { return mpData->maHelpSettings; } 1252 1253 void SetLocale( const ::com::sun::star::lang::Locale& rLocale ); 1254 const ::com::sun::star::lang::Locale& GetLocale() const; 1255 void SetUILocale( const ::com::sun::star::lang::Locale& rLocale ); 1256 const ::com::sun::star::lang::Locale& GetUILocale() const; 1257 void SetLanguage( LanguageType eLang ); 1258 LanguageType GetLanguage() const; 1259 void SetUILanguage( LanguageType eLang ); 1260 LanguageType GetUILanguage() const; 1261 sal_Bool GetLayoutRTL() const; // returns sal_True if UI language requires right-to-left UI 1262 const LocaleDataWrapper& GetLocaleDataWrapper() const; 1263 const LocaleDataWrapper& GetUILocaleDataWrapper() const; 1264 const vcl::I18nHelper& GetLocaleI18nHelper() const; 1265 const vcl::I18nHelper& GetUILocaleI18nHelper() const; 1266 /* 1267 const CollatorWrapper& GetCollatorWrapper() const; 1268 const CollatorWrapper& GetUICollatorWrapper() const; 1269 sal_Unicode GetMnemonicMatchChar( sal_Unicode c ) const; 1270 String GetMatchString( const String& rStr ) const; 1271 String GetUIMatchString( const String& rStr ) const; 1272 int MatchString( const String& rStr1, xub_StrLen nPos1, xub_StrLen nCount1, 1273 const String& rStr2, xub_StrLen nPos2, xub_StrLen nCount2 ) const; 1274 int MatchUIString( const String& rStr1, xub_StrLen nPos1, xub_StrLen nCount1, 1275 const String& rStr2, xub_StrLen nPos2, xub_StrLen nCount2 ) const; 1276 */ 1277 SetSystemUpdate(sal_uLong nUpdate)1278 void SetSystemUpdate( sal_uLong nUpdate ) 1279 { CopyData(); mpData->mnSystemUpdate = nUpdate; } GetSystemUpdate() const1280 sal_uLong GetSystemUpdate() const 1281 { return mpData->mnSystemUpdate; } SetWindowUpdate(sal_uLong nUpdate)1282 void SetWindowUpdate( sal_uLong nUpdate ) 1283 { CopyData(); mpData->mnWindowUpdate = nUpdate; } GetWindowUpdate() const1284 sal_uLong GetWindowUpdate() const 1285 { return mpData->mnWindowUpdate; } 1286 1287 sal_uLong Update( sal_uLong nFlags, const AllSettings& rSettings ); 1288 sal_uLong GetChangeFlags( const AllSettings& rSettings ) const; 1289 1290 const AllSettings& operator =( const AllSettings& rSet ); 1291 1292 sal_Bool operator ==( const AllSettings& rSet ) const; operator !=(const AllSettings & rSet) const1293 sal_Bool operator !=( const AllSettings& rSet ) const 1294 { return !(*this == rSet); } 1295 static void LocaleSettingsChanged( sal_uInt32 nHint ); GetSysLocale()1296 SvtSysLocale& GetSysLocale() { return mpData->maSysLocale; } 1297 }; 1298 1299 #endif // _SV_SETTINGS_HXX 1300