1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef _SV_SETTINGS_HXX
21 #define _SV_SETTINGS_HXX
23 #include "tools/solar.h"
24 #include "vcl/dllapi.h"
25 #include "tools/color.hxx"
26 #include "vcl/bitmapex.hxx"
27 #include "vcl/font.hxx"
28 #include "vcl/accel.hxx"
29 #include "vcl/wall.hxx"
30 #include <i18nlangtag/languagetag.hxx>
31 #include <unotools/syslocale.hxx>
33 class CollatorWrapper
;
34 class LocaleDataWrapper
;
46 friend class MouseSettings
;
49 ImplMouseData( const ImplMouseData
& rData
);
54 sal_uLong mnDoubleClkTime
;
55 long mnDoubleClkWidth
;
56 long mnDoubleClkHeight
;
57 long mnStartDragWidth
;
58 long mnStartDragHeight
;
59 sal_uInt16 mnStartDragCode
;
60 sal_uInt16 mnDragMoveCode
;
61 sal_uInt16 mnDragCopyCode
;
62 sal_uInt16 mnDragLinkCode
;
63 sal_uInt16 mnContextMenuCode
;
64 sal_uInt16 mnContextMenuClicks
;
65 sal_Bool mbContextMenuDown
;
66 sal_uLong mnScrollRepeat
;
67 sal_uLong mnButtonStartRepeat
;
68 sal_uLong mnButtonRepeat
;
69 sal_uLong mnActionDelay
;
70 sal_uLong mnMenuDelay
;
72 sal_uInt16 mnMiddleButtonAction
;
73 sal_uInt16 mnWheelBehavior
;
80 #define MOUSE_OPTION_AUTOFOCUS ((sal_uLong)0x00000001)
81 #define MOUSE_OPTION_AUTOCENTERPOS ((sal_uLong)0x00000002)
82 #define MOUSE_OPTION_AUTODEFBTNPOS ((sal_uLong)0x00000004)
84 #define MOUSE_FOLLOW_MENU ((sal_uLong)0x00000001)
85 #define MOUSE_FOLLOW_DDLIST ((sal_uLong)0x00000002)
87 #define MOUSE_MIDDLE_NOTHING ((sal_uInt16)0)
88 #define MOUSE_MIDDLE_AUTOSCROLL ((sal_uInt16)1)
89 #define MOUSE_MIDDLE_PASTESELECTION ((sal_uInt16)2)
91 #define MOUSE_WHEEL_DISABLE ((sal_uInt16)0)
92 #define MOUSE_WHEEL_FOCUS_ONLY ((sal_uInt16)1)
93 #define MOUSE_WHEEL_ALWAYS ((sal_uInt16)2)
95 class VCL_DLLPUBLIC MouseSettings
100 ImplMouseData
* mpData
;
104 MouseSettings( const MouseSettings
& rSet
);
107 void SetOptions( sal_uLong nOptions
)
108 { CopyData(); mpData
->mnOptions
= nOptions
; }
109 sal_uLong
GetOptions() const
110 { return mpData
->mnOptions
; }
112 void SetDoubleClickTime( sal_uLong nDoubleClkTime
)
113 { CopyData(); mpData
->mnDoubleClkTime
= nDoubleClkTime
; }
114 sal_uLong
GetDoubleClickTime() const
115 { return mpData
->mnDoubleClkTime
; }
116 void SetDoubleClickWidth( long nDoubleClkWidth
)
117 { CopyData(); mpData
->mnDoubleClkWidth
= nDoubleClkWidth
; }
118 long GetDoubleClickWidth() const
119 { return mpData
->mnDoubleClkWidth
; }
120 void SetDoubleClickHeight( long nDoubleClkHeight
)
121 { CopyData(); mpData
->mnDoubleClkHeight
= nDoubleClkHeight
; }
122 long GetDoubleClickHeight() const
123 { return mpData
->mnDoubleClkHeight
; }
125 void SetStartDragWidth( long nDragWidth
)
126 { CopyData(); mpData
->mnStartDragWidth
= nDragWidth
; }
127 long GetStartDragWidth() const
128 { return mpData
->mnStartDragWidth
; }
129 void SetStartDragHeight( long nDragHeight
)
130 { CopyData(); mpData
->mnStartDragHeight
= nDragHeight
; }
131 long GetStartDragHeight() const
132 { return mpData
->mnStartDragHeight
; }
133 void SetStartDragCode( sal_uInt16 nCode
)
134 { CopyData(); mpData
->mnStartDragCode
= nCode
; }
135 sal_uInt16
GetStartDragCode() const
136 { return mpData
->mnStartDragCode
; }
137 void SetDragMoveCode( sal_uInt16 nCode
)
138 { CopyData(); mpData
->mnDragMoveCode
= nCode
; }
139 sal_uInt16
GetDragMoveCode() const
140 { return mpData
->mnDragMoveCode
; }
141 void SetDragCopyCode( sal_uInt16 nCode
)
142 { CopyData(); mpData
->mnDragCopyCode
= nCode
; }
143 sal_uInt16
GetDragCopyCode() const
144 { return mpData
->mnDragCopyCode
; }
145 void SetDragLinkCode( sal_uInt16 nCode
)
146 { CopyData(); mpData
->mnDragLinkCode
= nCode
; }
147 sal_uInt16
GetDragLinkCode() const
148 { return mpData
->mnDragLinkCode
; }
150 void SetContextMenuCode( sal_uInt16 nCode
)
151 { CopyData(); mpData
->mnContextMenuCode
= nCode
; }
152 sal_uInt16
GetContextMenuCode() const
153 { return mpData
->mnContextMenuCode
; }
154 void SetContextMenuClicks( sal_uInt16 nClicks
)
155 { CopyData(); mpData
->mnContextMenuClicks
= nClicks
; }
156 sal_uInt16
GetContextMenuClicks() const
157 { return mpData
->mnContextMenuClicks
; }
158 void SetContextMenuDown( sal_Bool bDown
)
159 { CopyData(); mpData
->mbContextMenuDown
= bDown
; }
160 sal_Bool
GetContextMenuDown() const
161 { return mpData
->mbContextMenuDown
; }
163 void SetScrollRepeat( sal_uLong nRepeat
)
164 { CopyData(); mpData
->mnScrollRepeat
= nRepeat
; }
165 sal_uLong
GetScrollRepeat() const
166 { return mpData
->mnScrollRepeat
; }
167 void SetButtonStartRepeat( sal_uLong nRepeat
)
168 { CopyData(); mpData
->mnButtonStartRepeat
= nRepeat
; }
169 sal_uLong
GetButtonStartRepeat() const
170 { return mpData
->mnButtonStartRepeat
; }
171 void SetButtonRepeat( sal_uLong nRepeat
)
172 { CopyData(); mpData
->mnButtonRepeat
= nRepeat
; }
173 sal_uLong
GetButtonRepeat() const
174 { return mpData
->mnButtonRepeat
; }
175 void SetActionDelay( sal_uLong nDelay
)
176 { CopyData(); mpData
->mnActionDelay
= nDelay
; }
177 sal_uLong
GetActionDelay() const
178 { return mpData
->mnActionDelay
; }
179 void SetMenuDelay( sal_uLong nDelay
)
180 { CopyData(); mpData
->mnMenuDelay
= nDelay
; }
181 sal_uLong
GetMenuDelay() const
182 { return mpData
->mnMenuDelay
; }
184 void SetFollow( sal_uLong nFollow
)
185 { CopyData(); mpData
->mnFollow
= nFollow
; }
186 sal_uLong
GetFollow() const
187 { return mpData
->mnFollow
; }
189 void SetMiddleButtonAction( sal_uInt16 nAction
)
190 { CopyData(); mpData
->mnMiddleButtonAction
= nAction
; }
191 sal_uInt16
GetMiddleButtonAction() const
192 { return mpData
->mnMiddleButtonAction
; }
194 void SetWheelBehavior( sal_uInt16 nBehavior
)
195 { CopyData(); mpData
->mnWheelBehavior
= nBehavior
; }
196 sal_uInt16
GetWheelBehavior() const
197 { return mpData
->mnWheelBehavior
; }
199 const MouseSettings
& operator =( const MouseSettings
& rSet
);
201 sal_Bool
operator ==( const MouseSettings
& rSet
) const;
202 sal_Bool
operator !=( const MouseSettings
& rSet
) const
203 { return !(*this == rSet
); }
208 int content_area_border
;
209 int content_area_spacing
;
211 int action_area_border
;
213 : content_area_border(2)
214 , content_area_spacing(0)
216 , action_area_border(5)
240 friend class StyleSettings
;
243 ImplStyleData( const ImplStyleData
& rData
);
244 void SetStandardStyles();
247 sal_uLong mnRefCount
;
249 Color maActiveBorderColor
;
251 Color maActiveColor2
;
252 Color maActiveTextColor
;
253 Color maButtonTextColor
;
254 Color maButtonRolloverTextColor
;
255 Color maCheckedColor
;
256 Color maDarkShadowColor
;
257 Color maDeactiveBorderColor
;
258 Color maDeactiveColor
;
259 Color maDeactiveColor2
;
260 Color maDeactiveTextColor
;
262 Color maDialogTextColor
;
263 Color maDisableColor
;
266 Color maFieldTextColor
;
267 Color maFieldRolloverTextColor
;
269 Color maGroupTextColor
;
271 Color maHelpTextColor
;
272 Color maHighlightColor
;
273 Color maHighlightLinkColor
;
274 Color maHighlightTextColor
;
275 Color maInfoTextColor
;
276 Color maLabelTextColor
;
277 Color maLightBorderColor
;
280 Color maMenuBarColor
;
281 Color maMenuBarRolloverColor
;
282 Color maMenuBorderColor
;
284 Color maMenuHighlightColor
;
285 Color maMenuHighlightTextColor
;
286 Color maMenuTextColor
;
287 Color maMenuBarTextColor
;
288 Color maMenuBarRolloverTextColor
;
290 Color maRadioCheckTextColor
;
292 Color maVisitedLinkColor
;
294 Color maWindowTextColor
;
295 Color maWorkspaceColor
;
296 Color maActiveTabColor
;
297 Color maInactiveTabColor
;
301 Font maFloatTitleFont
;
306 Font maRadioCheckFont
;
307 Font maPushButtonFont
;
313 long mnFloatTitleHeight
;
314 long mnTearOffTitleHeight
;
315 long mnScrollBarSize
;
319 long mnMenuBarHeight
;
320 long mnIconHorzSpace
;
321 long mnIconVertSpace
;
322 long mnAntialiasedMin
;
323 sal_uLong mnCursorBlinkTime
;
324 sal_uLong mnDragFullOptions
;
325 sal_uLong mnAnimationOptions
;
326 sal_uLong mnSelectionOptions
;
327 sal_uLong mnLogoDisplayTime
;
328 sal_uLong mnDisplayOptions
;
329 sal_uLong mnToolbarIconSize
;
330 sal_uLong mnUseFlatMenus
;
332 sal_uInt16 mnScreenZoom
;
333 sal_uInt16 mnScreenFontZoom
;
334 sal_uInt16 mnHighContrast
;
335 sal_uInt16 mnUseSystemUIFonts
;
336 sal_uInt16 mnAutoMnemonic
;
337 sal_uInt16 mnUseImagesInMenus
;
338 sal_uLong mnUseFlatBorders
;
339 sal_Bool mbPreferredUseImagesInMenus
;
341 sal_uLong mnSymbolsStyle
;
342 sal_uLong mnPreferredSymbolsStyle
;
343 sal_uInt16 mnSkipDisabledInMenus
;
344 sal_Bool mbHideDisabledMenuItems
;
345 sal_Bool mbAcceleratorsInContextMenus
;
346 //mbPrimaryButtonWarpsSlider == true for "jump to here" behavior for primary button, otherwise
347 //primary means scroll by single page. Secondary button takes the alternative behaviour
348 sal_Bool mbPrimaryButtonWarpsSlider
;
349 Wallpaper maWorkspaceGradient
;
350 DialogStyle maDialogStyle
;
351 FrameStyle maFrameStyle
;
352 const void* mpFontOptions
;
354 sal_uInt16 mnEdgeBlending
;
355 Color maEdgeBlendingTopLeftColor
;
356 Color maEdgeBlendingBottomRightColor
;
357 sal_uInt16 mnListBoxMaximumLineCount
;
358 sal_uInt16 mnColorValueSetColumnCount
;
359 sal_uInt16 mnColorValueSetMaximumRowCount
;
360 Size maListBoxPreviewDefaultLogicSize
;
361 Size maListBoxPreviewDefaultPixelSize
;
362 sal_uInt16 mnListBoxPreviewDefaultLineWidth
;
364 OUString maPersonaHeaderFooter
; ///< Cache the settings to detect changes.
366 BitmapEx maPersonaHeaderBitmap
; ///< Cache the header bitmap.
367 BitmapEx maPersonaFooterBitmap
; ///< Cache the footer bitmap.
370 #define DEFAULT_WORKSPACE_GRADIENT_START_COLOR Color( 0xa3, 0xae, 0xb8 )
371 #define DEFAULT_WORKSPACE_GRADIENT_END_COLOR Color( 0x73, 0x7e, 0x88 )
377 #define STYLE_OPTION_MONO ((sal_uLong)0x00000001)
378 #define STYLE_OPTION_COLOR ((sal_uLong)0x00000002)
379 #define STYLE_OPTION_FLAT ((sal_uLong)0x00000004)
380 #define STYLE_OPTION_GREAT ((sal_uLong)0x00000008)
381 #define STYLE_OPTION_HIGHLIGHT ((sal_uLong)0x00000010)
382 #define STYLE_OPTION_ADVANCEDUSER ((sal_uLong)0x00000020)
383 #define STYLE_OPTION_SCROLLARROW ((sal_uLong)0x00000040)
384 #define STYLE_OPTION_SPINARROW ((sal_uLong)0x00000080)
385 #define STYLE_OPTION_SPINUPDOWN ((sal_uLong)0x00000100)
386 #define STYLE_OPTION_NOMNEMONICS ((sal_uLong)0x00000200)
388 #define DRAGFULL_OPTION_WINDOWMOVE ((sal_uLong)0x00000001)
389 #define DRAGFULL_OPTION_WINDOWSIZE ((sal_uLong)0x00000002)
390 #define DRAGFULL_OPTION_OBJECTMOVE ((sal_uLong)0x00000004)
391 #define DRAGFULL_OPTION_OBJECTSIZE ((sal_uLong)0x00000008)
392 #define DRAGFULL_OPTION_DOCKING ((sal_uLong)0x00000010)
393 #define DRAGFULL_OPTION_SPLIT ((sal_uLong)0x00000020)
394 #define DRAGFULL_OPTION_SCROLL ((sal_uLong)0x00000040)
396 #define LOGO_DISPLAYTIME_STARTTIME ((sal_uLong)0xFFFFFFFF)
398 #define SELECTION_OPTION_WORD ((sal_uLong)0x00000001)
399 #define SELECTION_OPTION_FOCUS ((sal_uLong)0x00000002)
400 #define SELECTION_OPTION_INVERT ((sal_uLong)0x00000004)
401 #define SELECTION_OPTION_SHOWFIRST ((sal_uLong)0x00000008)
403 #define DISPLAY_OPTION_AA_DISABLE ((sal_uLong)0x00000001)
405 #define STYLE_RADIOBUTTON_MONO ((sal_uInt16)0x0001) // legacy
406 #define STYLE_CHECKBOX_MONO ((sal_uInt16)0x0001) // legacy
408 #define STYLE_TOOLBAR_ICONSIZE_UNKNOWN ((sal_uLong)0)
409 #define STYLE_TOOLBAR_ICONSIZE_SMALL ((sal_uLong)1)
410 #define STYLE_TOOLBAR_ICONSIZE_LARGE ((sal_uLong)2)
412 #define STYLE_SYMBOLS_AUTO ((sal_uLong)0)
413 #define STYLE_SYMBOLS_DEFAULT ((sal_uLong)1)
414 #define STYLE_SYMBOLS_HICONTRAST ((sal_uLong)2)
415 #define STYLE_SYMBOLS_INDUSTRIAL ((sal_uLong)3)
416 #define STYLE_SYMBOLS_CRYSTAL ((sal_uLong)4)
417 #define STYLE_SYMBOLS_TANGO ((sal_uLong)5)
418 #define STYLE_SYMBOLS_OXYGEN ((sal_uLong)6)
419 #define STYLE_SYMBOLS_CLASSIC ((sal_uLong)7)
420 #define STYLE_SYMBOLS_HUMAN ((sal_uLong)8)
421 #define STYLE_SYMBOLS_TANGO_TESTING ((sal_uLong)9)
422 #define STYLE_SYMBOLS_THEMES_MAX ((sal_uLong)10)
424 #define STYLE_MENUIMAGES_OFF ((sal_uInt16)0)
425 #define STYLE_MENUIMAGES_ON ((sal_uInt16)1)
426 #define STYLE_MENUIMAGES_AUTO ((sal_uInt16)2)
428 #define STYLE_CURSOR_NOBLINKTIME ((sal_uLong)0xFFFFFFFF)
430 class VCL_DLLPUBLIC StyleSettings
435 ImplStyleData
* mpData
;
439 StyleSettings( const StyleSettings
& rSet
);
442 void Set3DColors( const Color
& rColor
);
443 void SetFaceColor( const Color
& rColor
)
444 { CopyData(); mpData
->maFaceColor
= rColor
; }
445 const Color
& GetFaceColor() const
446 { return mpData
->maFaceColor
; }
447 Color
GetFaceGradientColor() const;
448 Color
GetSeparatorColor() const;
449 void SetCheckedColor( const Color
& rColor
)
450 { CopyData(); mpData
->maCheckedColor
= rColor
; }
451 void SetCheckedColorSpecialCase( );
452 const Color
& GetCheckedColor() const
453 { return mpData
->maCheckedColor
; }
454 void SetLightColor( const Color
& rColor
)
455 { CopyData(); mpData
->maLightColor
= rColor
; }
456 const Color
& GetLightColor() const
457 { return mpData
->maLightColor
; }
458 void SetLightBorderColor( const Color
& rColor
)
459 { CopyData(); mpData
->maLightBorderColor
= rColor
; }
460 const Color
& GetLightBorderColor() const
461 { return mpData
->maLightBorderColor
; }
462 void SetShadowColor( const Color
& rColor
)
463 { CopyData(); mpData
->maShadowColor
= rColor
; }
464 const Color
& GetShadowColor() const
465 { return mpData
->maShadowColor
; }
466 void SetDarkShadowColor( const Color
& rColor
)
467 { CopyData(); mpData
->maDarkShadowColor
= rColor
; }
468 const Color
& GetDarkShadowColor() const
469 { return mpData
->maDarkShadowColor
; }
470 void SetButtonTextColor( const Color
& rColor
)
471 { CopyData(); mpData
->maButtonTextColor
= rColor
; }
472 const Color
& GetButtonTextColor() const
473 { return mpData
->maButtonTextColor
; }
474 void SetButtonRolloverTextColor( const Color
& rColor
)
475 { CopyData(); mpData
->maButtonRolloverTextColor
= rColor
; }
476 const Color
& GetButtonRolloverTextColor() const
477 { return mpData
->maButtonRolloverTextColor
; }
478 void SetRadioCheckTextColor( const Color
& rColor
)
479 { CopyData(); mpData
->maRadioCheckTextColor
= rColor
; }
480 const Color
& GetRadioCheckTextColor() const
481 { return mpData
->maRadioCheckTextColor
; }
482 void SetGroupTextColor( const Color
& rColor
)
483 { CopyData(); mpData
->maGroupTextColor
= rColor
; }
484 const Color
& GetGroupTextColor() const
485 { return mpData
->maGroupTextColor
; }
486 void SetLabelTextColor( const Color
& rColor
)
487 { CopyData(); mpData
->maLabelTextColor
= rColor
; }
488 const Color
& GetLabelTextColor() const
489 { return mpData
->maLabelTextColor
; }
490 void SetInfoTextColor( const Color
& rColor
)
491 { CopyData(); mpData
->maInfoTextColor
= rColor
; }
492 const Color
& GetInfoTextColor() const
493 { return mpData
->maInfoTextColor
; }
494 void SetWindowColor( const Color
& rColor
)
495 { CopyData(); mpData
->maWindowColor
= rColor
; }
496 const Color
& GetWindowColor() const
497 { return mpData
->maWindowColor
; }
498 void SetWindowTextColor( const Color
& rColor
)
499 { CopyData(); mpData
->maWindowTextColor
= rColor
; }
500 const Color
& GetWindowTextColor() const
501 { return mpData
->maWindowTextColor
; }
502 void SetDialogColor( const Color
& rColor
)
503 { CopyData(); mpData
->maDialogColor
= rColor
; }
504 const Color
& GetDialogColor() const
505 { return mpData
->maDialogColor
; }
506 void SetDialogTextColor( const Color
& rColor
)
507 { CopyData(); mpData
->maDialogTextColor
= rColor
; }
508 const Color
& GetDialogTextColor() const
509 { return mpData
->maDialogTextColor
; }
510 void SetWorkspaceColor( const Color
& rColor
)
511 { CopyData(); mpData
->maWorkspaceColor
= rColor
; }
512 const Color
& GetWorkspaceColor() const
513 { return mpData
->maWorkspaceColor
; }
514 void SetFieldColor( const Color
& rColor
)
515 { CopyData(); mpData
->maFieldColor
= rColor
; }
516 const Color
& GetFieldColor() const
517 { return mpData
->maFieldColor
; }
518 void SetFieldTextColor( const Color
& rColor
)
519 { CopyData(); mpData
->maFieldTextColor
= rColor
; }
520 const Color
& GetFieldTextColor() const
521 { return mpData
->maFieldTextColor
; }
522 void SetFieldRolloverTextColor( const Color
& rColor
)
523 { CopyData(); mpData
->maFieldRolloverTextColor
= rColor
; }
524 const Color
& GetFieldRolloverTextColor() const
525 { return mpData
->maFieldRolloverTextColor
; }
526 void SetActiveColor( const Color
& rColor
)
527 { CopyData(); mpData
->maActiveColor
= rColor
; }
528 const Color
& GetActiveColor() const
529 { return mpData
->maActiveColor
; }
530 void SetActiveColor2( const Color
& rColor
)
531 { CopyData(); mpData
->maActiveColor2
= rColor
; }
532 const Color
& GetActiveColor2() const
533 { return mpData
->maActiveColor2
; }
534 void SetActiveTextColor( const Color
& rColor
)
535 { CopyData(); mpData
->maActiveTextColor
= rColor
; }
536 const Color
& GetActiveTextColor() const
537 { return mpData
->maActiveTextColor
; }
538 void SetActiveBorderColor( const Color
& rColor
)
539 { CopyData(); mpData
->maActiveBorderColor
= rColor
; }
540 const Color
& GetActiveBorderColor() const
541 { return mpData
->maActiveBorderColor
; }
542 void SetDeactiveColor( const Color
& rColor
)
543 { CopyData(); mpData
->maDeactiveColor
= rColor
; }
544 const Color
& GetDeactiveColor() const
545 { return mpData
->maDeactiveColor
; }
546 void SetDeactiveColor2( const Color
& rColor
)
547 { CopyData(); mpData
->maDeactiveColor2
= rColor
; }
548 const Color
& GetDeactiveColor2() const
549 { return mpData
->maDeactiveColor2
; }
550 void SetDeactiveTextColor( const Color
& rColor
)
551 { CopyData(); mpData
->maDeactiveTextColor
= rColor
; }
552 const Color
& GetDeactiveTextColor() const
553 { return mpData
->maDeactiveTextColor
; }
554 void SetDeactiveBorderColor( const Color
& rColor
)
555 { CopyData(); mpData
->maDeactiveBorderColor
= rColor
; }
556 const Color
& GetDeactiveBorderColor() const
557 { return mpData
->maDeactiveBorderColor
; }
558 void SetHighlightColor( const Color
& rColor
)
559 { CopyData(); mpData
->maHighlightColor
= rColor
; }
560 const Color
& GetHighlightColor() const
561 { return mpData
->maHighlightColor
; }
562 void SetHighlightTextColor( const Color
& rColor
)
563 { CopyData(); mpData
->maHighlightTextColor
= rColor
; }
564 const Color
& GetHighlightTextColor() const
565 { return mpData
->maHighlightTextColor
; }
566 void SetDisableColor( const Color
& rColor
)
567 { CopyData(); mpData
->maDisableColor
= rColor
; }
568 const Color
& GetDisableColor() const
569 { return mpData
->maDisableColor
; }
570 void SetHelpColor( const Color
& rColor
)
571 { CopyData(); mpData
->maHelpColor
= rColor
; }
572 const Color
& GetHelpColor() const
573 { return mpData
->maHelpColor
; }
574 void SetHelpTextColor( const Color
& rColor
)
575 { CopyData(); mpData
->maHelpTextColor
= rColor
; }
576 const Color
& GetHelpTextColor() const
577 { return mpData
->maHelpTextColor
; }
578 void SetMenuColor( const Color
& rColor
)
579 { CopyData(); mpData
->maMenuColor
= rColor
; }
580 const Color
& GetMenuColor() const
581 { return mpData
->maMenuColor
; }
582 void SetMenuBarColor( const Color
& rColor
)
583 { CopyData(); mpData
->maMenuBarColor
= rColor
; }
584 const Color
& GetMenuBarColor() const
585 { return mpData
->maMenuBarColor
; }
586 void SetMenuBarRolloverColor( const Color
& rColor
)
587 { CopyData(); mpData
->maMenuBarRolloverColor
= rColor
; }
588 const Color
& GetMenuBarRolloverColor() const
589 { return mpData
->maMenuBarRolloverColor
; }
590 void SetMenuBorderColor( const Color
& rColor
)
591 { CopyData(); mpData
->maMenuBorderColor
= rColor
; }
592 const Color
& GetMenuBorderColor() const
593 { return mpData
->maMenuBorderColor
; }
594 void SetMenuTextColor( const Color
& rColor
)
595 { CopyData(); mpData
->maMenuTextColor
= rColor
; }
596 const Color
& GetMenuTextColor() const
597 { return mpData
->maMenuTextColor
; }
598 void SetMenuBarTextColor( const Color
& rColor
)
599 { CopyData(); mpData
->maMenuBarTextColor
= rColor
; }
600 const Color
& GetMenuBarTextColor() const
601 { return mpData
->maMenuBarTextColor
; }
602 void SetMenuBarRolloverTextColor( const Color
& rColor
)
603 { CopyData(); mpData
->maMenuBarRolloverTextColor
= rColor
; }
604 const Color
& GetMenuBarRolloverTextColor() const
605 { return mpData
->maMenuBarRolloverTextColor
; }
606 void SetMenuHighlightColor( const Color
& rColor
)
607 { CopyData(); mpData
->maMenuHighlightColor
= rColor
; }
608 const Color
& GetMenuHighlightColor() const
609 { return mpData
->maMenuHighlightColor
; }
610 void SetMenuHighlightTextColor( const Color
& rColor
)
611 { CopyData(); mpData
->maMenuHighlightTextColor
= rColor
; }
612 const Color
& GetMenuHighlightTextColor() const
613 { return mpData
->maMenuHighlightTextColor
; }
614 void SetLinkColor( const Color
& rColor
)
615 { CopyData(); mpData
->maLinkColor
= rColor
; }
616 const Color
& GetLinkColor() const
617 { return mpData
->maLinkColor
; }
618 void SetVisitedLinkColor( const Color
& rColor
)
619 { CopyData(); mpData
->maVisitedLinkColor
= rColor
; }
620 const Color
& GetVisitedLinkColor() const
621 { return mpData
->maVisitedLinkColor
; }
622 void SetHighlightLinkColor( const Color
& rColor
)
623 { CopyData(); mpData
->maHighlightLinkColor
= rColor
; }
624 const Color
& GetHighlightLinkColor() const
625 { return mpData
->maHighlightLinkColor
; }
627 void SetMonoColor( const Color
& rColor
)
628 { CopyData(); mpData
->maMonoColor
= rColor
; }
629 const Color
& GetMonoColor() const
630 { return mpData
->maMonoColor
; }
632 void SetActiveTabColor( const Color
& rColor
)
633 { CopyData(); mpData
->maActiveTabColor
= rColor
; }
634 const Color
& GetActiveTabColor() const
635 { return mpData
->maActiveTabColor
; }
636 void SetInactiveTabColor( const Color
& rColor
)
637 { CopyData(); mpData
->maInactiveTabColor
= rColor
; }
638 const Color
& GetInactiveTabColor() const
639 { return mpData
->maInactiveTabColor
; }
641 void SetHighContrastMode( sal_Bool bHighContrast
)
642 { CopyData(); mpData
->mnHighContrast
= bHighContrast
; }
643 sal_Bool
GetHighContrastMode() const
644 { return (sal_Bool
) mpData
->mnHighContrast
; }
645 void SetUseSystemUIFonts( sal_Bool bUseSystemUIFonts
)
646 { CopyData(); mpData
->mnUseSystemUIFonts
= bUseSystemUIFonts
; }
647 sal_Bool
GetUseSystemUIFonts() const
648 { return (sal_Bool
) mpData
->mnUseSystemUIFonts
; }
649 void SetUseFlatBorders( sal_Bool bUseFlatBorders
)
650 { CopyData(); mpData
->mnUseFlatBorders
= bUseFlatBorders
; }
651 sal_Bool
GetUseFlatBorders() const
652 { return (sal_Bool
) mpData
->mnUseFlatBorders
; }
653 void SetUseFlatMenus( sal_Bool bUseFlatMenus
)
654 { CopyData(); mpData
->mnUseFlatMenus
= bUseFlatMenus
; }
655 sal_Bool
GetUseFlatMenus() const
656 { return (sal_Bool
) mpData
->mnUseFlatMenus
; }
657 void SetUseImagesInMenus( sal_Bool bUseImagesInMenus
)
658 { CopyData(); mpData
->mnUseImagesInMenus
= bUseImagesInMenus
; }
659 sal_Bool
GetUseImagesInMenus() const;
660 void SetPreferredUseImagesInMenus( sal_Bool bPreferredUseImagesInMenus
)
661 { CopyData(); mpData
->mbPreferredUseImagesInMenus
= bPreferredUseImagesInMenus
; }
662 sal_Bool
GetPreferredUseImagesInMenus() const
663 { return mpData
->mbPreferredUseImagesInMenus
; }
664 void SetSkipDisabledInMenus( sal_Bool bSkipDisabledInMenus
)
665 { CopyData(); mpData
->mnSkipDisabledInMenus
= bSkipDisabledInMenus
; }
666 sal_Bool
GetSkipDisabledInMenus() const
667 { return (sal_Bool
) mpData
->mnSkipDisabledInMenus
; }
668 void SetHideDisabledMenuItems( sal_Bool bHideDisabledMenuItems
)
669 { CopyData(); mpData
->mbHideDisabledMenuItems
= bHideDisabledMenuItems
; }
670 sal_Bool
GetHideDisabledMenuItems() const
671 { return mpData
->mbHideDisabledMenuItems
; }
672 void SetAcceleratorsInContextMenus( sal_Bool bAcceleratorsInContextMenus
)
673 { CopyData(); mpData
->mbAcceleratorsInContextMenus
= bAcceleratorsInContextMenus
; }
674 sal_Bool
GetAcceleratorsInContextMenus() const
675 { return mpData
->mbAcceleratorsInContextMenus
; }
676 void SetPrimaryButtonWarpsSlider( sal_Bool bPrimaryButtonWarpsSlider
)
677 { CopyData(); mpData
->mbPrimaryButtonWarpsSlider
= bPrimaryButtonWarpsSlider
; }
678 sal_Bool
GetPrimaryButtonWarpsSlider() const
679 { return mpData
->mbPrimaryButtonWarpsSlider
; }
681 void SetCairoFontOptions( const void *pOptions
)
682 { CopyData(); mpData
->mpFontOptions
= pOptions
; }
683 const void* GetCairoFontOptions() const
684 { return mpData
->mpFontOptions
; }
686 void SetAppFont( const Font
& rFont
)
687 { CopyData(); mpData
->maAppFont
= rFont
; }
688 const Font
& GetAppFont() const
689 { return mpData
->maAppFont
; }
690 void SetHelpFont( const Font
& rFont
)
691 { CopyData(); mpData
->maHelpFont
= rFont
; }
692 const Font
& GetHelpFont() const
693 { return mpData
->maHelpFont
; }
694 void SetTitleFont( const Font
& rFont
)
695 { CopyData(); mpData
->maTitleFont
= rFont
; }
696 const Font
& GetTitleFont() const
697 { return mpData
->maTitleFont
; }
698 void SetFloatTitleFont( const Font
& rFont
)
699 { CopyData(); mpData
->maFloatTitleFont
= rFont
; }
700 const Font
& GetFloatTitleFont() const
701 { return mpData
->maFloatTitleFont
; }
702 void SetMenuFont( const Font
& rFont
)
703 { CopyData(); mpData
->maMenuFont
= rFont
; }
704 const Font
& GetMenuFont() const
705 { return mpData
->maMenuFont
; }
706 void SetToolFont( const Font
& rFont
)
707 { CopyData(); mpData
->maToolFont
= rFont
; }
708 const Font
& GetToolFont() const
709 { return mpData
->maToolFont
; }
710 void SetGroupFont( const Font
& rFont
)
711 { CopyData(); mpData
->maGroupFont
= rFont
; }
712 const Font
& GetGroupFont() const
713 { return mpData
->maGroupFont
; }
714 void SetLabelFont( const Font
& rFont
)
715 { CopyData(); mpData
->maLabelFont
= rFont
; }
716 const Font
& GetLabelFont() const
717 { return mpData
->maLabelFont
; }
718 void SetInfoFont( const Font
& rFont
)
719 { CopyData(); mpData
->maInfoFont
= rFont
; }
720 const Font
& GetInfoFont() const
721 { return mpData
->maInfoFont
; }
722 void SetRadioCheckFont( const Font
& rFont
)
723 { CopyData(); mpData
->maRadioCheckFont
= rFont
; }
724 const Font
& GetRadioCheckFont() const
725 { return mpData
->maRadioCheckFont
; }
726 void SetPushButtonFont( const Font
& rFont
)
727 { CopyData(); mpData
->maPushButtonFont
= rFont
; }
728 const Font
& GetPushButtonFont() const
729 { return mpData
->maPushButtonFont
; }
730 void SetFieldFont( const Font
& rFont
)
731 { CopyData(); mpData
->maFieldFont
= rFont
; }
732 const Font
& GetFieldFont() const
733 { return mpData
->maFieldFont
; }
734 void SetIconFont( const Font
& rFont
)
735 { CopyData(); mpData
->maIconFont
= rFont
; }
736 const Font
& GetIconFont() const
737 { return mpData
->maIconFont
; }
739 void SetBorderSize( long nSize
)
740 { CopyData(); mpData
->mnBorderSize
= nSize
; }
741 long GetBorderSize() const
742 { return mpData
->mnBorderSize
; }
743 void SetTitleHeight( long nSize
)
744 { CopyData(); mpData
->mnTitleHeight
= nSize
; }
745 long GetTitleHeight() const
746 { return mpData
->mnTitleHeight
; }
747 void SetFloatTitleHeight( long nSize
)
748 { CopyData(); mpData
->mnFloatTitleHeight
= nSize
; }
749 long GetFloatTitleHeight() const
750 { return mpData
->mnFloatTitleHeight
; }
751 void SetTearOffTitleHeight( long nSize
)
752 { CopyData(); mpData
->mnTearOffTitleHeight
= nSize
; }
753 long GetTearOffTitleHeight() const
754 { return mpData
->mnTearOffTitleHeight
; }
755 void SetMenuBarHeight( long nSize
)
756 { CopyData(); mpData
->mnMenuBarHeight
= nSize
; }
757 long GetMenuBarHeight() const
758 { return mpData
->mnMenuBarHeight
; }
759 void SetScrollBarSize( long nSize
)
760 { CopyData(); mpData
->mnScrollBarSize
= nSize
; }
761 long GetScrollBarSize() const
762 { return mpData
->mnScrollBarSize
; }
763 void SetMinThumbSize( long nSize
)
764 { CopyData(); mpData
->mnMinThumbSize
= nSize
; }
765 long GetMinThumbSize() const
766 { return mpData
->mnMinThumbSize
; }
767 void SetSpinSize( long nSize
)
768 { CopyData(); mpData
->mnSpinSize
= nSize
; }
769 long GetSpinSize() const
770 { return mpData
->mnSpinSize
; }
771 void SetSplitSize( long nSize
)
772 { CopyData(); mpData
->mnSplitSize
= nSize
; }
773 long GetSplitSize() const
774 { return mpData
->mnSplitSize
; }
776 void SetIconHorzSpace( long nSpace
)
777 { CopyData(); mpData
->mnIconHorzSpace
= nSpace
; }
778 long GetIconHorzSpace() const
779 { return mpData
->mnIconHorzSpace
; }
780 void SetIconVertSpace( long nSpace
)
781 { CopyData(); mpData
->mnIconVertSpace
= nSpace
; }
782 long GetIconVertSpace() const
783 { return mpData
->mnIconVertSpace
; }
785 void SetCursorSize( long nSize
)
786 { CopyData(); mpData
->mnCursorSize
= nSize
; }
787 long GetCursorSize() const
788 { return mpData
->mnCursorSize
; }
789 void SetCursorBlinkTime( long nBlinkTime
)
790 { CopyData(); mpData
->mnCursorBlinkTime
= nBlinkTime
; }
791 long GetCursorBlinkTime() const
792 { return (long) mpData
->mnCursorBlinkTime
; }
794 void SetScreenZoom( sal_uInt16 nPercent
)
795 { CopyData(); mpData
->mnScreenZoom
= nPercent
; }
796 sal_uInt16
GetScreenZoom() const
797 { return mpData
->mnScreenZoom
; }
798 void SetScreenFontZoom( sal_uInt16 nPercent
)
799 { CopyData(); mpData
->mnScreenFontZoom
= nPercent
; }
800 sal_uInt16
GetScreenFontZoom() const
801 { return mpData
->mnScreenFontZoom
; }
803 void SetLogoDisplayTime( sal_uLong nDisplayTime
)
804 { CopyData(); mpData
->mnLogoDisplayTime
= nDisplayTime
; }
805 sal_uLong
GetLogoDisplayTime() const
806 { return mpData
->mnLogoDisplayTime
; }
808 void SetDragFullOptions( sal_uLong nOptions
)
809 { CopyData(); mpData
->mnDragFullOptions
= nOptions
; }
810 sal_uLong
GetDragFullOptions() const
811 { return mpData
->mnDragFullOptions
; }
813 void SetAnimationOptions( sal_uLong nOptions
)
814 { CopyData(); mpData
->mnAnimationOptions
= nOptions
; }
815 sal_uLong
GetAnimationOptions() const
816 { return mpData
->mnAnimationOptions
; }
818 void SetSelectionOptions( sal_uLong nOptions
)
819 { CopyData(); mpData
->mnSelectionOptions
= nOptions
; }
820 sal_uLong
GetSelectionOptions() const
821 { return mpData
->mnSelectionOptions
; }
823 void SetDisplayOptions( sal_uLong nOptions
)
824 { CopyData(); mpData
->mnDisplayOptions
= nOptions
; }
825 sal_uLong
GetDisplayOptions() const
826 { return mpData
->mnDisplayOptions
; }
827 void SetAntialiasingMinPixelHeight( long nMinPixel
)
828 { CopyData(); mpData
->mnAntialiasedMin
= nMinPixel
; }
829 sal_uLong
GetAntialiasingMinPixelHeight() const
830 { return mpData
->mnAntialiasedMin
; }
832 void SetOptions( sal_uLong nOptions
)
833 { CopyData(); mpData
->mnOptions
= nOptions
; }
834 sal_uLong
GetOptions() const
835 { return mpData
->mnOptions
; }
836 void SetAutoMnemonic( sal_Bool bAutoMnemonic
)
837 { CopyData(); mpData
->mnAutoMnemonic
= (sal_uInt16
)bAutoMnemonic
; }
838 sal_Bool
GetAutoMnemonic() const
839 { return mpData
->mnAutoMnemonic
? sal_True
: sal_False
; }
841 void SetFontColor( const Color
& rColor
)
842 { CopyData(); mpData
->maFontColor
= rColor
; }
843 const Color
& GetFontColor() const
844 { return mpData
->maFontColor
; }
846 void SetToolbarIconSize( sal_uLong nSize
)
847 { CopyData(); mpData
->mnToolbarIconSize
= nSize
; }
848 sal_uLong
GetToolbarIconSize() const
849 { return mpData
->mnToolbarIconSize
; }
851 void SetSymbolsStyle( sal_uLong nStyle
)
852 { CopyData(); mpData
->mnSymbolsStyle
= nStyle
; }
853 sal_uLong
GetSymbolsStyle() const
854 { return mpData
->mnSymbolsStyle
; }
856 void SetPreferredSymbolsStyle( sal_uLong nStyle
)
857 { CopyData(); mpData
->mnPreferredSymbolsStyle
= nStyle
; }
858 void SetPreferredSymbolsStyleName( const OUString
&rName
);
859 sal_uLong
GetPreferredSymbolsStyle() const
860 { return mpData
->mnPreferredSymbolsStyle
; }
861 // check whether the symbols style is supported (icons are installed)
862 bool CheckSymbolStyle( sal_uLong nStyle
) const;
863 sal_uLong
GetAutoSymbolsStyle() const;
865 sal_uLong
GetCurrentSymbolsStyle() const;
867 void SetSymbolsStyleName( const OUString
&rName
)
868 { return SetSymbolsStyle( ImplNameToSymbolsStyle( rName
) ); }
869 OUString
GetSymbolsStyleName() const
870 { return ImplSymbolsStyleToName( GetSymbolsStyle() ); }
871 OUString
GetCurrentSymbolsStyleName() const
872 { return ImplSymbolsStyleToName( GetCurrentSymbolsStyle() ); }
874 const Wallpaper
& GetWorkspaceGradient() const
875 { return mpData
->maWorkspaceGradient
; }
876 void SetWorkspaceGradient( const Wallpaper
& rWall
)
877 { CopyData(); mpData
->maWorkspaceGradient
= rWall
; }
879 const DialogStyle
& GetDialogStyle() const
880 { return mpData
->maDialogStyle
; }
881 void SetDialogStyle( const DialogStyle
& rStyle
)
882 { CopyData(); mpData
->maDialogStyle
= rStyle
; }
884 const FrameStyle
& GetFrameStyle() const
885 { return mpData
->maFrameStyle
; }
886 void SetFrameStyle( const FrameStyle
& rStyle
)
887 { CopyData(); mpData
->maFrameStyle
= rStyle
; }
889 const BitmapEx
GetPersonaHeader() const;
891 // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox
892 // when activated there using Get/SetEdgeBlending; default is true
893 void SetEdgeBlending(sal_uInt16 nCount
) { CopyData(); mpData
->mnEdgeBlending
= nCount
; }
894 sal_uInt16
GetEdgeBlending() const { return mpData
->mnEdgeBlending
; }
896 // TopLeft (default RGB_COLORDATA(0xC0, 0xC0, 0xC0)) and BottomRight (default RGB_COLORDATA(0x40, 0x40, 0x40))
897 // default colors for EdgeBlending
898 void SetEdgeBlendingTopLeftColor(const Color
& rTopLeft
) { CopyData(); mpData
->maEdgeBlendingTopLeftColor
= rTopLeft
; }
899 const Color
& GetEdgeBlendingTopLeftColor() const { return mpData
->maEdgeBlendingTopLeftColor
; }
900 void SetEdgeBlendingBottomRightColor(const Color
& rBottomRight
) { CopyData(); mpData
->maEdgeBlendingBottomRightColor
= rBottomRight
; }
901 const Color
& GetEdgeBlendingBottomRightColor() const { return mpData
->maEdgeBlendingBottomRightColor
; }
903 // maximum line count for ListBox control; to use this, call AdaptDropDownLineCountToMaximum() at the
904 // ListBox after it's ItemCount has changed/got filled. Default is 25. If more Items exist, a scrollbar
906 void SetListBoxMaximumLineCount(sal_uInt16 nCount
) { CopyData(); mpData
->mnListBoxMaximumLineCount
= nCount
; }
907 sal_uInt16
GetListBoxMaximumLineCount() const { return mpData
->mnListBoxMaximumLineCount
; }
909 // maximum column count for the ColorValueSet control. Default is 12 and this is optimized for the
910 // color scheme which has 12-color alogned layout for the part taken over from Symphony. Do
911 // only change this if you know what you are doing.
912 void SetColorValueSetColumnCount(sal_uInt16 nCount
) { CopyData(); mpData
->mnColorValueSetColumnCount
= nCount
; }
913 sal_uInt16
GetColorValueSetColumnCount() const { return mpData
->mnColorValueSetColumnCount
; }
915 // maximum row/line count for the ColorValueSet control. If more lines would be needed, a scrollbar will
916 // be used. Default is 40.
917 void SetColorValueSetMaximumRowCount(sal_uInt16 nCount
) { CopyData(); mpData
->mnColorValueSetMaximumRowCount
= nCount
; }
918 sal_uInt16
GetColorValueSetMaximumRowCount() const { return mpData
->mnColorValueSetMaximumRowCount
; }
920 // the logical size for preview graphics in the ListBoxes (e.g. FillColor, FillGradient, FillHatch, FillGraphic, ..). The
921 // default defines a UI-Scale independent setting which will be scaled using MAP_APPFONT. This ensures that the size will
922 // fit independent from the used SystemFont (as all the ressources for UI elements). The default is Size(15, 7) which gives
923 // the correct height and a decent width. Do not change the height, but you may adapt the width to change the preview width.
924 // GetListBoxPreviewDefaultPixelSize() is for convenience so that not everyone has to do the scaling itself and contains
925 // the logical size scaled by MAP_APPFONT.
926 void SetListBoxPreviewDefaultLogicSize(const Size
& rSize
) { CopyData(); mpData
->maListBoxPreviewDefaultLogicSize
= rSize
; mpData
->maListBoxPreviewDefaultPixelSize
= Size(0, 0);}
927 const Size
& GetListBoxPreviewDefaultLogicSize() const { return mpData
->maListBoxPreviewDefaultLogicSize
; }
928 const Size
& GetListBoxPreviewDefaultPixelSize() const;
930 // the default LineWidth for ListBox UI previews (LineStyle, LineDash, LineStartEnd). Default is 1.
931 void SetListBoxPreviewDefaultLineWidth(sal_uInt16 nWidth
) { CopyData(); mpData
->mnListBoxPreviewDefaultLineWidth
= nWidth
; }
932 sal_uInt16
GetListBoxPreviewDefaultLineWidth() const { return mpData
->mnListBoxPreviewDefaultLineWidth
; }
934 void SetStandardStyles();
936 const StyleSettings
& operator =( const StyleSettings
& rSet
);
938 sal_Bool
operator ==( const StyleSettings
& rSet
) const;
939 sal_Bool
operator !=( const StyleSettings
& rSet
) const
940 { return !(*this == rSet
); }
943 OUString
ImplSymbolsStyleToName( sal_uLong nStyle
) const;
944 sal_uLong
ImplNameToSymbolsStyle( const OUString
&rName
) const;
953 friend class MiscSettings
;
956 ImplMiscData( const ImplMiscData
& rData
);
959 sal_uLong mnRefCount
;
960 sal_uInt16 mnEnableATT
;
961 sal_Bool mbEnableLocalizedDecimalSep
;
962 sal_uInt16 mnDisablePrinting
;
969 class VCL_DLLPUBLIC MiscSettings
974 ImplMiscData
* mpData
;
978 MiscSettings( const MiscSettings
& rSet
);
982 void SetEnableATToolSupport( sal_Bool bEnable
);
984 sal_Bool
GetEnableATToolSupport() const;
985 sal_Bool
GetDisablePrinting() const;
986 void SetEnableLocalizedDecimalSep( sal_Bool bEnable
);
987 sal_Bool
GetEnableLocalizedDecimalSep() const;
988 const MiscSettings
& operator =( const MiscSettings
& rSet
);
990 sal_Bool
operator ==( const MiscSettings
& rSet
) const;
991 sal_Bool
operator !=( const MiscSettings
& rSet
) const
992 { return !(*this == rSet
); }
1001 friend class HelpSettings
;
1004 ImplHelpData( const ImplHelpData
& rData
);
1007 sal_uLong mnRefCount
;
1008 sal_uLong mnOptions
;
1009 sal_uLong mnTipDelay
;
1010 sal_uLong mnTipTimeout
;
1011 sal_uLong mnBalloonDelay
;
1018 class VCL_DLLPUBLIC HelpSettings
1023 ImplHelpData
* mpData
;
1027 HelpSettings( const HelpSettings
& rSet
);
1030 void SetOptions( sal_uLong nOptions
)
1031 { CopyData(); mpData
->mnOptions
= nOptions
; }
1032 sal_uLong
GetOptions() const
1033 { return mpData
->mnOptions
; }
1034 void SetTipDelay( sal_uLong nTipDelay
)
1035 { CopyData(); mpData
->mnTipDelay
= nTipDelay
; }
1036 sal_uLong
GetTipDelay() const
1037 { return mpData
->mnTipDelay
; }
1038 void SetTipTimeout( sal_uLong nTipTimeout
)
1039 { CopyData(); mpData
->mnTipTimeout
= nTipTimeout
; }
1040 sal_uLong
GetTipTimeout() const
1041 { return mpData
->mnTipTimeout
; }
1042 void SetBalloonDelay( sal_uLong nBalloonDelay
)
1043 { CopyData(); mpData
->mnBalloonDelay
= nBalloonDelay
; }
1044 sal_uLong
GetBalloonDelay() const
1045 { return mpData
->mnBalloonDelay
; }
1047 const HelpSettings
& operator =( const HelpSettings
& rSet
);
1049 sal_Bool
operator ==( const HelpSettings
& rSet
) const;
1050 sal_Bool
operator !=( const HelpSettings
& rSet
) const
1051 { return !(*this == rSet
); }
1054 // -----------------------
1055 // - ImplAllSettingsData -
1056 // -----------------------
1057 class ImplAllSettingsData
1059 friend class AllSettings
;
1061 ImplAllSettingsData();
1062 ImplAllSettingsData( const ImplAllSettingsData
& rData
);
1063 ~ImplAllSettingsData();
1066 sal_uLong mnRefCount
;
1067 MouseSettings maMouseSettings
;
1068 StyleSettings maStyleSettings
;
1069 MiscSettings maMiscSettings
;
1070 HelpSettings maHelpSettings
;
1071 LanguageTag maLocale
;
1072 sal_uLong mnSystemUpdate
;
1073 sal_uLong mnWindowUpdate
;
1074 LanguageTag maUILocale
;
1075 LocaleDataWrapper
* mpLocaleDataWrapper
;
1076 LocaleDataWrapper
* mpUILocaleDataWrapper
;
1077 vcl::I18nHelper
* mpI18nHelper
;
1078 vcl::I18nHelper
* mpUII18nHelper
;
1079 SvtSysLocale maSysLocale
;
1086 const int SETTINGS_MOUSE
= 0x00000001;
1087 const int SETTINGS_STYLE
= 0x00000002;
1088 const int SETTINGS_MISC
= 0x00000004;
1089 const int SETTINGS_SOUND
= 0x00000008;
1090 const int SETTINGS_HELP
= 0x00000010;
1091 const int SETTINGS_LOCALE
= 0x00000020;
1092 const int SETTINGS_UILOCALE
= 0x00000040;
1093 const int SETTINGS_ALLSETTINGS
= ( SETTINGS_MOUSE
|
1094 SETTINGS_STYLE
| SETTINGS_MISC
|
1097 SETTINGS_LOCALE
| SETTINGS_UILOCALE
);
1098 const int SETTINGS_IN_UPDATE_SETTINGS
= 0x00000800; // this flag indicates that the data changed event was created
1099 // in Windows::UpdateSettings probably because of a global
1102 class VCL_DLLPUBLIC AllSettings
1107 ImplAllSettingsData
* mpData
;
1111 AllSettings( const AllSettings
& rSet
);
1114 void SetMouseSettings( const MouseSettings
& rSet
)
1115 { CopyData(); mpData
->maMouseSettings
= rSet
; }
1116 const MouseSettings
& GetMouseSettings() const
1117 { return mpData
->maMouseSettings
; }
1119 void SetStyleSettings( const StyleSettings
& rSet
)
1120 { CopyData(); mpData
->maStyleSettings
= rSet
; }
1121 const StyleSettings
& GetStyleSettings() const
1122 { return mpData
->maStyleSettings
; }
1124 void SetMiscSettings( const MiscSettings
& rSet
)
1125 { CopyData(); mpData
->maMiscSettings
= rSet
; }
1126 const MiscSettings
& GetMiscSettings() const
1127 { return mpData
->maMiscSettings
; }
1129 void SetHelpSettings( const HelpSettings
& rSet
)
1130 { CopyData(); mpData
->maHelpSettings
= rSet
; }
1131 const HelpSettings
& GetHelpSettings() const
1132 { return mpData
->maHelpSettings
; }
1134 void SetLanguageTag( const LanguageTag
& rLanguageTag
);
1135 const LanguageTag
& GetLanguageTag() const;
1136 void SetUILanguageTag( const LanguageTag
& rLanguageTag
);
1137 const LanguageTag
& GetUILanguageTag() const;
1138 bool GetLayoutRTL() const; // returns true if UI language requires right-to-left UI
1139 const LocaleDataWrapper
& GetLocaleDataWrapper() const;
1140 const LocaleDataWrapper
& GetUILocaleDataWrapper() const;
1141 const vcl::I18nHelper
& GetLocaleI18nHelper() const;
1142 const vcl::I18nHelper
& GetUILocaleI18nHelper() const;
1144 void SetSystemUpdate( sal_uLong nUpdate
)
1145 { CopyData(); mpData
->mnSystemUpdate
= nUpdate
; }
1146 sal_uLong
GetSystemUpdate() const
1147 { return mpData
->mnSystemUpdate
; }
1148 void SetWindowUpdate( sal_uLong nUpdate
)
1149 { CopyData(); mpData
->mnWindowUpdate
= nUpdate
; }
1150 sal_uLong
GetWindowUpdate() const
1151 { return mpData
->mnWindowUpdate
; }
1153 sal_uLong
Update( sal_uLong nFlags
, const AllSettings
& rSettings
);
1154 sal_uLong
GetChangeFlags( const AllSettings
& rSettings
) const;
1156 const AllSettings
& operator =( const AllSettings
& rSet
);
1158 sal_Bool
operator ==( const AllSettings
& rSet
) const;
1159 sal_Bool
operator !=( const AllSettings
& rSet
) const
1160 { return !(*this == rSet
); }
1161 static void LocaleSettingsChanged( sal_uInt32 nHint
);
1162 SvtSysLocale
& GetSysLocale() { return mpData
->maSysLocale
; }
1165 #endif // _SV_SETTINGS_HXX
1167 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */