bump product version to 4.1.6.2
[LibreOffice.git] / include / vcl / settings.hxx
blob4a7cdf8fc7e63f8c52ced1b490054b310cbd35a0
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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;
36 namespace vcl {
37 class I18nHelper;
40 // -----------------
41 // - ImplMouseData -
42 // -----------------
44 class ImplMouseData
46 friend class MouseSettings;
48 ImplMouseData();
49 ImplMouseData( const ImplMouseData& rData );
51 private:
52 sal_uLong mnRefCount;
53 sal_uLong mnOptions;
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;
71 sal_uLong mnFollow;
72 sal_uInt16 mnMiddleButtonAction;
73 sal_uInt16 mnWheelBehavior;
76 // -----------------
77 // - MouseSettings -
78 // -----------------
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
97 void CopyData();
99 private:
100 ImplMouseData* mpData;
102 public:
103 MouseSettings();
104 MouseSettings( const MouseSettings& rSet );
105 ~MouseSettings();
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); }
206 struct DialogStyle
208 int content_area_border;
209 int content_area_spacing;
210 int button_spacing;
211 int action_area_border;
212 DialogStyle()
213 : content_area_border(2)
214 , content_area_spacing(0)
215 , button_spacing(6)
216 , action_area_border(5)
220 struct FrameStyle
222 int left;
223 int right;
224 int top;
225 int bottom;
226 FrameStyle()
227 : left(2)
228 , right(2)
229 , top(2)
230 , bottom(2)
234 // -----------------
235 // - ImplStyleData -
236 // -----------------
238 class ImplStyleData
240 friend class StyleSettings;
242 ImplStyleData();
243 ImplStyleData( const ImplStyleData& rData );
244 void SetStandardStyles();
246 private:
247 sal_uLong mnRefCount;
249 Color maActiveBorderColor;
250 Color maActiveColor;
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;
261 Color maDialogColor;
262 Color maDialogTextColor;
263 Color maDisableColor;
264 Color maFaceColor;
265 Color maFieldColor;
266 Color maFieldTextColor;
267 Color maFieldRolloverTextColor;
268 Color maFontColor;
269 Color maGroupTextColor;
270 Color maHelpColor;
271 Color maHelpTextColor;
272 Color maHighlightColor;
273 Color maHighlightLinkColor;
274 Color maHighlightTextColor;
275 Color maInfoTextColor;
276 Color maLabelTextColor;
277 Color maLightBorderColor;
278 Color maLightColor;
279 Color maLinkColor;
280 Color maMenuBarColor;
281 Color maMenuBarRolloverColor;
282 Color maMenuBorderColor;
283 Color maMenuColor;
284 Color maMenuHighlightColor;
285 Color maMenuHighlightTextColor;
286 Color maMenuTextColor;
287 Color maMenuBarTextColor;
288 Color maMenuBarRolloverTextColor;
289 Color maMonoColor;
290 Color maRadioCheckTextColor;
291 Color maShadowColor;
292 Color maVisitedLinkColor;
293 Color maWindowColor;
294 Color maWindowTextColor;
295 Color maWorkspaceColor;
296 Color maActiveTabColor;
297 Color maInactiveTabColor;
298 Font maAppFont;
299 Font maHelpFont;
300 Font maTitleFont;
301 Font maFloatTitleFont;
302 Font maMenuFont;
303 Font maToolFont;
304 Font maLabelFont;
305 Font maInfoFont;
306 Font maRadioCheckFont;
307 Font maPushButtonFont;
308 Font maFieldFont;
309 Font maIconFont;
310 Font maGroupFont;
311 long mnBorderSize;
312 long mnTitleHeight;
313 long mnFloatTitleHeight;
314 long mnTearOffTitleHeight;
315 long mnScrollBarSize;
316 long mnSplitSize;
317 long mnSpinSize;
318 long mnCursorSize;
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;
331 sal_uLong mnOptions;
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;
340 long mnMinThumbSize;
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 )
373 // -----------------
374 // - StyleSettings -
375 // -----------------
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
432 void CopyData();
434 private:
435 ImplStyleData* mpData;
437 public:
438 StyleSettings();
439 StyleSettings( const StyleSettings& rSet );
440 ~StyleSettings();
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
905 // will be used
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); }
942 protected:
943 OUString ImplSymbolsStyleToName( sal_uLong nStyle ) const;
944 sal_uLong ImplNameToSymbolsStyle( const OUString &rName ) const;
947 // ----------------
948 // - ImplMiscData -
949 // ----------------
951 class ImplMiscData
953 friend class MiscSettings;
955 ImplMiscData();
956 ImplMiscData( const ImplMiscData& rData );
958 private:
959 sal_uLong mnRefCount;
960 sal_uInt16 mnEnableATT;
961 sal_Bool mbEnableLocalizedDecimalSep;
962 sal_uInt16 mnDisablePrinting;
965 // ----------------
966 // - MiscSettings -
967 // ----------------
969 class VCL_DLLPUBLIC MiscSettings
971 void CopyData();
973 private:
974 ImplMiscData* mpData;
976 public:
977 MiscSettings();
978 MiscSettings( const MiscSettings& rSet );
979 ~MiscSettings();
981 #ifdef WNT
982 void SetEnableATToolSupport( sal_Bool bEnable );
983 #endif
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); }
995 // ----------------
996 // - ImplHelpData -
997 // ----------------
999 class ImplHelpData
1001 friend class HelpSettings;
1003 ImplHelpData();
1004 ImplHelpData( const ImplHelpData& rData );
1006 private:
1007 sal_uLong mnRefCount;
1008 sal_uLong mnOptions;
1009 sal_uLong mnTipDelay;
1010 sal_uLong mnTipTimeout;
1011 sal_uLong mnBalloonDelay;
1014 // ----------------
1015 // - HelpSettings -
1016 // ----------------
1018 class VCL_DLLPUBLIC HelpSettings
1020 void CopyData();
1022 private:
1023 ImplHelpData* mpData;
1025 public:
1026 HelpSettings();
1027 HelpSettings( const HelpSettings& rSet );
1028 ~HelpSettings();
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();
1065 private:
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;
1082 // ---------------
1083 // - AllSettings -
1084 // ---------------
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 |
1095 SETTINGS_SOUND |
1096 SETTINGS_HELP |
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
1100 // settings changed
1102 class VCL_DLLPUBLIC AllSettings
1104 void CopyData();
1106 private:
1107 ImplAllSettingsData* mpData;
1109 public:
1110 AllSettings();
1111 AllSettings( const AllSettings& rSet );
1112 ~AllSettings();
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: */