xref: /trunk/main/vcl/inc/vcl/settings.hxx (revision 824a979c)
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