Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
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 .
18 : */
19 :
20 : #ifndef _SV_SETTINGS_HXX
21 : #define _SV_SETTINGS_HXX
22 :
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>
32 :
33 : class CollatorWrapper;
34 : class LocaleDataWrapper;
35 :
36 : namespace vcl {
37 : class I18nHelper;
38 : }
39 :
40 : // -----------------
41 : // - ImplMouseData -
42 : // -----------------
43 :
44 : class ImplMouseData
45 : {
46 : friend class MouseSettings;
47 :
48 : ImplMouseData();
49 : ImplMouseData( const ImplMouseData& rData );
50 :
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;
74 : };
75 :
76 : // -----------------
77 : // - MouseSettings -
78 : // -----------------
79 :
80 : #define MOUSE_OPTION_AUTOFOCUS ((sal_uLong)0x00000001)
81 : #define MOUSE_OPTION_AUTOCENTERPOS ((sal_uLong)0x00000002)
82 : #define MOUSE_OPTION_AUTODEFBTNPOS ((sal_uLong)0x00000004)
83 :
84 : #define MOUSE_FOLLOW_MENU ((sal_uLong)0x00000001)
85 : #define MOUSE_FOLLOW_DDLIST ((sal_uLong)0x00000002)
86 :
87 : #define MOUSE_MIDDLE_NOTHING ((sal_uInt16)0)
88 : #define MOUSE_MIDDLE_AUTOSCROLL ((sal_uInt16)1)
89 : #define MOUSE_MIDDLE_PASTESELECTION ((sal_uInt16)2)
90 :
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)
94 :
95 : class VCL_DLLPUBLIC MouseSettings
96 : {
97 : void CopyData();
98 :
99 : private:
100 : ImplMouseData* mpData;
101 :
102 : public:
103 : MouseSettings();
104 : MouseSettings( const MouseSettings& rSet );
105 : ~MouseSettings();
106 :
107 83 : void SetOptions( sal_uLong nOptions )
108 83 : { CopyData(); mpData->mnOptions = nOptions; }
109 86 : sal_uLong GetOptions() const
110 86 : { return mpData->mnOptions; }
111 :
112 0 : void SetDoubleClickTime( sal_uLong nDoubleClkTime )
113 0 : { CopyData(); mpData->mnDoubleClkTime = nDoubleClkTime; }
114 606 : sal_uLong GetDoubleClickTime() const
115 606 : { return mpData->mnDoubleClkTime; }
116 0 : void SetDoubleClickWidth( long nDoubleClkWidth )
117 0 : { CopyData(); mpData->mnDoubleClkWidth = nDoubleClkWidth; }
118 0 : long GetDoubleClickWidth() const
119 0 : { return mpData->mnDoubleClkWidth; }
120 0 : void SetDoubleClickHeight( long nDoubleClkHeight )
121 0 : { CopyData(); mpData->mnDoubleClkHeight = nDoubleClkHeight; }
122 0 : long GetDoubleClickHeight() const
123 0 : { return mpData->mnDoubleClkHeight; }
124 :
125 0 : void SetStartDragWidth( long nDragWidth )
126 0 : { CopyData(); mpData->mnStartDragWidth = nDragWidth; }
127 0 : long GetStartDragWidth() const
128 0 : { return mpData->mnStartDragWidth; }
129 0 : void SetStartDragHeight( long nDragHeight )
130 0 : { CopyData(); mpData->mnStartDragHeight = nDragHeight; }
131 0 : long GetStartDragHeight() const
132 0 : { return mpData->mnStartDragHeight; }
133 : void SetStartDragCode( sal_uInt16 nCode )
134 : { CopyData(); mpData->mnStartDragCode = nCode; }
135 0 : sal_uInt16 GetStartDragCode() const
136 0 : { 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; }
149 :
150 : void SetContextMenuCode( sal_uInt16 nCode )
151 : { CopyData(); mpData->mnContextMenuCode = nCode; }
152 0 : sal_uInt16 GetContextMenuCode() const
153 0 : { return mpData->mnContextMenuCode; }
154 : void SetContextMenuClicks( sal_uInt16 nClicks )
155 : { CopyData(); mpData->mnContextMenuClicks = nClicks; }
156 0 : sal_uInt16 GetContextMenuClicks() const
157 0 : { return mpData->mnContextMenuClicks; }
158 : void SetContextMenuDown( sal_Bool bDown )
159 : { CopyData(); mpData->mbContextMenuDown = bDown; }
160 0 : sal_Bool GetContextMenuDown() const
161 0 : { return mpData->mbContextMenuDown; }
162 :
163 : void SetScrollRepeat( sal_uLong nRepeat )
164 : { CopyData(); mpData->mnScrollRepeat = nRepeat; }
165 0 : sal_uLong GetScrollRepeat() const
166 0 : { return mpData->mnScrollRepeat; }
167 : void SetButtonStartRepeat( sal_uLong nRepeat )
168 : { CopyData(); mpData->mnButtonStartRepeat = nRepeat; }
169 94 : sal_uLong GetButtonStartRepeat() const
170 94 : { return mpData->mnButtonStartRepeat; }
171 227 : void SetButtonRepeat( sal_uLong nRepeat )
172 227 : { CopyData(); mpData->mnButtonRepeat = nRepeat; }
173 21 : sal_uLong GetButtonRepeat() const
174 21 : { return mpData->mnButtonRepeat; }
175 : void SetActionDelay( sal_uLong nDelay )
176 : { CopyData(); mpData->mnActionDelay = nDelay; }
177 0 : sal_uLong GetActionDelay() const
178 0 : { return mpData->mnActionDelay; }
179 16 : void SetMenuDelay( sal_uLong nDelay )
180 16 : { CopyData(); mpData->mnMenuDelay = nDelay; }
181 24 : sal_uLong GetMenuDelay() const
182 24 : { return mpData->mnMenuDelay; }
183 :
184 249 : void SetFollow( sal_uLong nFollow )
185 249 : { CopyData(); mpData->mnFollow = nFollow; }
186 249 : sal_uLong GetFollow() const
187 249 : { return mpData->mnFollow; }
188 :
189 83 : void SetMiddleButtonAction( sal_uInt16 nAction )
190 83 : { CopyData(); mpData->mnMiddleButtonAction = nAction; }
191 0 : sal_uInt16 GetMiddleButtonAction() const
192 0 : { return mpData->mnMiddleButtonAction; }
193 :
194 694 : void SetWheelBehavior( sal_uInt16 nBehavior )
195 694 : { CopyData(); mpData->mnWheelBehavior = nBehavior; }
196 500 : sal_uInt16 GetWheelBehavior() const
197 500 : { return mpData->mnWheelBehavior; }
198 :
199 : const MouseSettings& operator =( const MouseSettings& rSet );
200 :
201 : sal_Bool operator ==( const MouseSettings& rSet ) const;
202 22746 : sal_Bool operator !=( const MouseSettings& rSet ) const
203 22746 : { return !(*this == rSet); }
204 : };
205 :
206 : struct DialogStyle
207 : {
208 : int content_area_border;
209 : int content_area_spacing;
210 : int button_spacing;
211 : int action_area_border;
212 144 : DialogStyle()
213 : : content_area_border(2)
214 : , content_area_spacing(0)
215 : , button_spacing(6)
216 144 : , action_area_border(5)
217 144 : {}
218 : };
219 :
220 : struct FrameStyle
221 : {
222 : int left;
223 : int right;
224 : int top;
225 : int bottom;
226 144 : FrameStyle()
227 : : left(2)
228 : , right(2)
229 : , top(2)
230 144 : , bottom(2)
231 144 : {}
232 : };
233 :
234 : // -----------------
235 : // - ImplStyleData -
236 : // -----------------
237 :
238 20364 : class ImplStyleData
239 : {
240 : friend class StyleSettings;
241 :
242 : ImplStyleData();
243 : ImplStyleData( const ImplStyleData& rData );
244 : void SetStandardStyles();
245 :
246 : private:
247 : sal_uLong mnRefCount;
248 :
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;
353 :
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;
363 : sal_Bool mbPreviewUsesCheckeredBackground;
364 :
365 : OUString maPersonaHeaderFooter; ///< Cache the settings to detect changes.
366 :
367 : BitmapEx maPersonaHeaderBitmap; ///< Cache the header bitmap.
368 : BitmapEx maPersonaFooterBitmap; ///< Cache the footer bitmap.
369 : };
370 :
371 : #define DEFAULT_WORKSPACE_GRADIENT_START_COLOR Color( 0xa3, 0xae, 0xb8 )
372 : #define DEFAULT_WORKSPACE_GRADIENT_END_COLOR Color( 0x73, 0x7e, 0x88 )
373 :
374 : // -----------------
375 : // - StyleSettings -
376 : // -----------------
377 :
378 : #define STYLE_OPTION_MONO ((sal_uLong)0x00000001)
379 : #define STYLE_OPTION_COLOR ((sal_uLong)0x00000002)
380 : #define STYLE_OPTION_FLAT ((sal_uLong)0x00000004)
381 : #define STYLE_OPTION_GREAT ((sal_uLong)0x00000008)
382 : #define STYLE_OPTION_HIGHLIGHT ((sal_uLong)0x00000010)
383 : #define STYLE_OPTION_ADVANCEDUSER ((sal_uLong)0x00000020)
384 : #define STYLE_OPTION_SCROLLARROW ((sal_uLong)0x00000040)
385 : #define STYLE_OPTION_SPINARROW ((sal_uLong)0x00000080)
386 : #define STYLE_OPTION_SPINUPDOWN ((sal_uLong)0x00000100)
387 : #define STYLE_OPTION_NOMNEMONICS ((sal_uLong)0x00000200)
388 :
389 : #define DRAGFULL_OPTION_WINDOWMOVE ((sal_uLong)0x00000001)
390 : #define DRAGFULL_OPTION_WINDOWSIZE ((sal_uLong)0x00000002)
391 : #define DRAGFULL_OPTION_OBJECTMOVE ((sal_uLong)0x00000004)
392 : #define DRAGFULL_OPTION_OBJECTSIZE ((sal_uLong)0x00000008)
393 : #define DRAGFULL_OPTION_DOCKING ((sal_uLong)0x00000010)
394 : #define DRAGFULL_OPTION_SPLIT ((sal_uLong)0x00000020)
395 : #define DRAGFULL_OPTION_SCROLL ((sal_uLong)0x00000040)
396 :
397 : #define LOGO_DISPLAYTIME_STARTTIME ((sal_uLong)0xFFFFFFFF)
398 :
399 : #define SELECTION_OPTION_WORD ((sal_uLong)0x00000001)
400 : #define SELECTION_OPTION_FOCUS ((sal_uLong)0x00000002)
401 : #define SELECTION_OPTION_INVERT ((sal_uLong)0x00000004)
402 : #define SELECTION_OPTION_SHOWFIRST ((sal_uLong)0x00000008)
403 :
404 : #define DISPLAY_OPTION_AA_DISABLE ((sal_uLong)0x00000001)
405 :
406 : #define STYLE_RADIOBUTTON_MONO ((sal_uInt16)0x0001) // legacy
407 : #define STYLE_CHECKBOX_MONO ((sal_uInt16)0x0001) // legacy
408 :
409 : #define STYLE_TOOLBAR_ICONSIZE_UNKNOWN ((sal_uLong)0)
410 : #define STYLE_TOOLBAR_ICONSIZE_SMALL ((sal_uLong)1)
411 : #define STYLE_TOOLBAR_ICONSIZE_LARGE ((sal_uLong)2)
412 :
413 : #define STYLE_SYMBOLS_AUTO ((sal_uLong)0)
414 : #define STYLE_SYMBOLS_DEFAULT ((sal_uLong)1)
415 : #define STYLE_SYMBOLS_HICONTRAST ((sal_uLong)2)
416 : #define STYLE_SYMBOLS_INDUSTRIAL ((sal_uLong)3)
417 : #define STYLE_SYMBOLS_CRYSTAL ((sal_uLong)4)
418 : #define STYLE_SYMBOLS_TANGO ((sal_uLong)5)
419 : #define STYLE_SYMBOLS_OXYGEN ((sal_uLong)6)
420 : #define STYLE_SYMBOLS_CLASSIC ((sal_uLong)7)
421 : #define STYLE_SYMBOLS_HUMAN ((sal_uLong)8)
422 : #define STYLE_SYMBOLS_SIFR ((sal_uLong)9)
423 : #define STYLE_SYMBOLS_TANGO_TESTING ((sal_uLong)10)
424 : #define STYLE_SYMBOLS_THEMES_MAX ((sal_uLong)11)
425 :
426 : #define STYLE_MENUIMAGES_OFF ((sal_uInt16)0)
427 : #define STYLE_MENUIMAGES_ON ((sal_uInt16)1)
428 : #define STYLE_MENUIMAGES_AUTO ((sal_uInt16)2)
429 :
430 : #define STYLE_CURSOR_NOBLINKTIME ((sal_uLong)0xFFFFFFFF)
431 :
432 : class VCL_DLLPUBLIC StyleSettings
433 : {
434 : void CopyData();
435 :
436 : private:
437 : ImplStyleData* mpData;
438 :
439 : public:
440 : StyleSettings();
441 : StyleSettings( const StyleSettings& rSet );
442 : ~StyleSettings();
443 :
444 : void Set3DColors( const Color& rColor );
445 11 : void SetFaceColor( const Color& rColor )
446 11 : { CopyData(); mpData->maFaceColor = rColor; }
447 447333 : const Color& GetFaceColor() const
448 447333 : { return mpData->maFaceColor; }
449 : Color GetFaceGradientColor() const;
450 : Color GetSeparatorColor() const;
451 11 : void SetCheckedColor( const Color& rColor )
452 11 : { CopyData(); mpData->maCheckedColor = rColor; }
453 : void SetCheckedColorSpecialCase( );
454 5938 : const Color& GetCheckedColor() const
455 5938 : { return mpData->maCheckedColor; }
456 2 : void SetLightColor( const Color& rColor )
457 2 : { CopyData(); mpData->maLightColor = rColor; }
458 47850 : const Color& GetLightColor() const
459 47850 : { return mpData->maLightColor; }
460 2 : void SetLightBorderColor( const Color& rColor )
461 2 : { CopyData(); mpData->maLightBorderColor = rColor; }
462 23641 : const Color& GetLightBorderColor() const
463 23641 : { return mpData->maLightBorderColor; }
464 11 : void SetShadowColor( const Color& rColor )
465 11 : { CopyData(); mpData->maShadowColor = rColor; }
466 208172 : const Color& GetShadowColor() const
467 208172 : { return mpData->maShadowColor; }
468 2 : void SetDarkShadowColor( const Color& rColor )
469 2 : { CopyData(); mpData->maDarkShadowColor = rColor; }
470 62310 : const Color& GetDarkShadowColor() const
471 62310 : { return mpData->maDarkShadowColor; }
472 19 : void SetButtonTextColor( const Color& rColor )
473 19 : { CopyData(); mpData->maButtonTextColor = rColor; }
474 81949 : const Color& GetButtonTextColor() const
475 81949 : { return mpData->maButtonTextColor; }
476 0 : void SetButtonRolloverTextColor( const Color& rColor )
477 0 : { CopyData(); mpData->maButtonRolloverTextColor = rColor; }
478 0 : const Color& GetButtonRolloverTextColor() const
479 0 : { return mpData->maButtonRolloverTextColor; }
480 0 : void SetRadioCheckTextColor( const Color& rColor )
481 0 : { CopyData(); mpData->maRadioCheckTextColor = rColor; }
482 604 : const Color& GetRadioCheckTextColor() const
483 604 : { return mpData->maRadioCheckTextColor; }
484 0 : void SetGroupTextColor( const Color& rColor )
485 0 : { CopyData(); mpData->maGroupTextColor = rColor; }
486 275 : const Color& GetGroupTextColor() const
487 275 : { return mpData->maGroupTextColor; }
488 0 : void SetLabelTextColor( const Color& rColor )
489 0 : { CopyData(); mpData->maLabelTextColor = rColor; }
490 646 : const Color& GetLabelTextColor() const
491 646 : { return mpData->maLabelTextColor; }
492 0 : void SetInfoTextColor( const Color& rColor )
493 0 : { CopyData(); mpData->maInfoTextColor = rColor; }
494 0 : const Color& GetInfoTextColor() const
495 0 : { return mpData->maInfoTextColor; }
496 0 : void SetWindowColor( const Color& rColor )
497 0 : { CopyData(); mpData->maWindowColor = rColor; }
498 36322 : const Color& GetWindowColor() const
499 36322 : { return mpData->maWindowColor; }
500 0 : void SetWindowTextColor( const Color& rColor )
501 0 : { CopyData(); mpData->maWindowTextColor = rColor; }
502 27739 : const Color& GetWindowTextColor() const
503 27739 : { return mpData->maWindowTextColor; }
504 0 : void SetDialogColor( const Color& rColor )
505 0 : { CopyData(); mpData->maDialogColor = rColor; }
506 421 : const Color& GetDialogColor() const
507 421 : { return mpData->maDialogColor; }
508 0 : void SetDialogTextColor( const Color& rColor )
509 0 : { CopyData(); mpData->maDialogTextColor = rColor; }
510 0 : const Color& GetDialogTextColor() const
511 0 : { return mpData->maDialogTextColor; }
512 0 : void SetWorkspaceColor( const Color& rColor )
513 0 : { CopyData(); mpData->maWorkspaceColor = rColor; }
514 7089 : const Color& GetWorkspaceColor() const
515 7089 : { return mpData->maWorkspaceColor; }
516 0 : void SetFieldColor( const Color& rColor )
517 0 : { CopyData(); mpData->maFieldColor = rColor; }
518 29204 : const Color& GetFieldColor() const
519 29204 : { return mpData->maFieldColor; }
520 18 : void SetFieldTextColor( const Color& rColor )
521 18 : { CopyData(); mpData->maFieldTextColor = rColor; }
522 16665 : const Color& GetFieldTextColor() const
523 16665 : { return mpData->maFieldTextColor; }
524 0 : void SetFieldRolloverTextColor( const Color& rColor )
525 0 : { CopyData(); mpData->maFieldRolloverTextColor = rColor; }
526 0 : const Color& GetFieldRolloverTextColor() const
527 0 : { return mpData->maFieldRolloverTextColor; }
528 0 : void SetActiveColor( const Color& rColor )
529 0 : { CopyData(); mpData->maActiveColor = rColor; }
530 0 : const Color& GetActiveColor() const
531 0 : { return mpData->maActiveColor; }
532 : void SetActiveColor2( const Color& rColor )
533 : { CopyData(); mpData->maActiveColor2 = rColor; }
534 0 : const Color& GetActiveColor2() const
535 0 : { return mpData->maActiveColor2; }
536 0 : void SetActiveTextColor( const Color& rColor )
537 0 : { CopyData(); mpData->maActiveTextColor = rColor; }
538 194 : const Color& GetActiveTextColor() const
539 194 : { return mpData->maActiveTextColor; }
540 0 : void SetActiveBorderColor( const Color& rColor )
541 0 : { CopyData(); mpData->maActiveBorderColor = rColor; }
542 0 : const Color& GetActiveBorderColor() const
543 0 : { return mpData->maActiveBorderColor; }
544 0 : void SetDeactiveColor( const Color& rColor )
545 0 : { CopyData(); mpData->maDeactiveColor = rColor; }
546 508 : const Color& GetDeactiveColor() const
547 508 : { return mpData->maDeactiveColor; }
548 : void SetDeactiveColor2( const Color& rColor )
549 : { CopyData(); mpData->maDeactiveColor2 = rColor; }
550 0 : const Color& GetDeactiveColor2() const
551 0 : { return mpData->maDeactiveColor2; }
552 0 : void SetDeactiveTextColor( const Color& rColor )
553 0 : { CopyData(); mpData->maDeactiveTextColor = rColor; }
554 15 : const Color& GetDeactiveTextColor() const
555 15 : { return mpData->maDeactiveTextColor; }
556 0 : void SetDeactiveBorderColor( const Color& rColor )
557 0 : { CopyData(); mpData->maDeactiveBorderColor = rColor; }
558 0 : const Color& GetDeactiveBorderColor() const
559 0 : { return mpData->maDeactiveBorderColor; }
560 0 : void SetHighlightColor( const Color& rColor )
561 0 : { CopyData(); mpData->maHighlightColor = rColor; }
562 8298 : const Color& GetHighlightColor() const
563 8298 : { return mpData->maHighlightColor; }
564 0 : void SetHighlightTextColor( const Color& rColor )
565 0 : { CopyData(); mpData->maHighlightTextColor = rColor; }
566 4798 : const Color& GetHighlightTextColor() const
567 4798 : { return mpData->maHighlightTextColor; }
568 0 : void SetDisableColor( const Color& rColor )
569 0 : { CopyData(); mpData->maDisableColor = rColor; }
570 1500 : const Color& GetDisableColor() const
571 1500 : { return mpData->maDisableColor; }
572 0 : void SetHelpColor( const Color& rColor )
573 0 : { CopyData(); mpData->maHelpColor = rColor; }
574 0 : const Color& GetHelpColor() const
575 0 : { return mpData->maHelpColor; }
576 0 : void SetHelpTextColor( const Color& rColor )
577 0 : { CopyData(); mpData->maHelpTextColor = rColor; }
578 0 : const Color& GetHelpTextColor() const
579 0 : { return mpData->maHelpTextColor; }
580 0 : void SetMenuColor( const Color& rColor )
581 0 : { CopyData(); mpData->maMenuColor = rColor; }
582 825 : const Color& GetMenuColor() const
583 825 : { return mpData->maMenuColor; }
584 0 : void SetMenuBarColor( const Color& rColor )
585 0 : { CopyData(); mpData->maMenuBarColor = rColor; }
586 1 : const Color& GetMenuBarColor() const
587 1 : { return mpData->maMenuBarColor; }
588 0 : void SetMenuBarRolloverColor( const Color& rColor )
589 0 : { CopyData(); mpData->maMenuBarRolloverColor = rColor; }
590 0 : const Color& GetMenuBarRolloverColor() const
591 0 : { return mpData->maMenuBarRolloverColor; }
592 0 : void SetMenuBorderColor( const Color& rColor )
593 0 : { CopyData(); mpData->maMenuBorderColor = rColor; }
594 7 : const Color& GetMenuBorderColor() const
595 7 : { return mpData->maMenuBorderColor; }
596 0 : void SetMenuTextColor( const Color& rColor )
597 0 : { CopyData(); mpData->maMenuTextColor = rColor; }
598 9 : const Color& GetMenuTextColor() const
599 9 : { return mpData->maMenuTextColor; }
600 0 : void SetMenuBarTextColor( const Color& rColor )
601 0 : { CopyData(); mpData->maMenuBarTextColor = rColor; }
602 1089 : const Color& GetMenuBarTextColor() const
603 1089 : { return mpData->maMenuBarTextColor; }
604 0 : void SetMenuBarRolloverTextColor( const Color& rColor )
605 0 : { CopyData(); mpData->maMenuBarRolloverTextColor = rColor; }
606 0 : const Color& GetMenuBarRolloverTextColor() const
607 0 : { return mpData->maMenuBarRolloverTextColor; }
608 0 : void SetMenuHighlightColor( const Color& rColor )
609 0 : { CopyData(); mpData->maMenuHighlightColor = rColor; }
610 210 : const Color& GetMenuHighlightColor() const
611 210 : { return mpData->maMenuHighlightColor; }
612 0 : void SetMenuHighlightTextColor( const Color& rColor )
613 0 : { CopyData(); mpData->maMenuHighlightTextColor = rColor; }
614 15 : const Color& GetMenuHighlightTextColor() const
615 15 : { return mpData->maMenuHighlightTextColor; }
616 0 : void SetLinkColor( const Color& rColor )
617 0 : { CopyData(); mpData->maLinkColor = rColor; }
618 80 : const Color& GetLinkColor() const
619 80 : { return mpData->maLinkColor; }
620 0 : void SetVisitedLinkColor( const Color& rColor )
621 0 : { CopyData(); mpData->maVisitedLinkColor = rColor; }
622 57 : const Color& GetVisitedLinkColor() const
623 57 : { return mpData->maVisitedLinkColor; }
624 : void SetHighlightLinkColor( const Color& rColor )
625 : { CopyData(); mpData->maHighlightLinkColor = rColor; }
626 4 : const Color& GetHighlightLinkColor() const
627 4 : { return mpData->maHighlightLinkColor; }
628 :
629 253 : void SetMonoColor( const Color& rColor )
630 253 : { CopyData(); mpData->maMonoColor = rColor; }
631 872 : const Color& GetMonoColor() const
632 872 : { return mpData->maMonoColor; }
633 :
634 0 : void SetActiveTabColor( const Color& rColor )
635 0 : { CopyData(); mpData->maActiveTabColor = rColor; }
636 323 : const Color& GetActiveTabColor() const
637 323 : { return mpData->maActiveTabColor; }
638 0 : void SetInactiveTabColor( const Color& rColor )
639 0 : { CopyData(); mpData->maInactiveTabColor = rColor; }
640 323 : const Color& GetInactiveTabColor() const
641 323 : { return mpData->maInactiveTabColor; }
642 :
643 280 : void SetHighContrastMode( sal_Bool bHighContrast )
644 280 : { CopyData(); mpData->mnHighContrast = bHighContrast; }
645 253982 : sal_Bool GetHighContrastMode() const
646 253982 : { return (sal_Bool) mpData->mnHighContrast; }
647 83 : void SetUseSystemUIFonts( sal_Bool bUseSystemUIFonts )
648 83 : { CopyData(); mpData->mnUseSystemUIFonts = bUseSystemUIFonts; }
649 446 : sal_Bool GetUseSystemUIFonts() const
650 446 : { return (sal_Bool) mpData->mnUseSystemUIFonts; }
651 : void SetUseFlatBorders( sal_Bool bUseFlatBorders )
652 : { CopyData(); mpData->mnUseFlatBorders = bUseFlatBorders; }
653 22294 : sal_Bool GetUseFlatBorders() const
654 22294 : { return (sal_Bool) mpData->mnUseFlatBorders; }
655 : void SetUseFlatMenus( sal_Bool bUseFlatMenus )
656 : { CopyData(); mpData->mnUseFlatMenus = bUseFlatMenus; }
657 7 : sal_Bool GetUseFlatMenus() const
658 7 : { return (sal_Bool) mpData->mnUseFlatMenus; }
659 166 : void SetUseImagesInMenus( sal_Bool bUseImagesInMenus )
660 166 : { CopyData(); mpData->mnUseImagesInMenus = bUseImagesInMenus; }
661 : sal_Bool GetUseImagesInMenus() const;
662 0 : void SetPreferredUseImagesInMenus( sal_Bool bPreferredUseImagesInMenus )
663 0 : { CopyData(); mpData->mbPreferredUseImagesInMenus = bPreferredUseImagesInMenus; }
664 26506 : sal_Bool GetPreferredUseImagesInMenus() const
665 26506 : { return mpData->mbPreferredUseImagesInMenus; }
666 0 : void SetSkipDisabledInMenus( sal_Bool bSkipDisabledInMenus )
667 0 : { CopyData(); mpData->mnSkipDisabledInMenus = bSkipDisabledInMenus; }
668 0 : sal_Bool GetSkipDisabledInMenus() const
669 0 : { return (sal_Bool) mpData->mnSkipDisabledInMenus; }
670 : void SetHideDisabledMenuItems( sal_Bool bHideDisabledMenuItems )
671 : { CopyData(); mpData->mbHideDisabledMenuItems = bHideDisabledMenuItems; }
672 0 : sal_Bool GetHideDisabledMenuItems() const
673 0 : { return mpData->mbHideDisabledMenuItems; }
674 0 : void SetAcceleratorsInContextMenus( sal_Bool bAcceleratorsInContextMenus )
675 0 : { CopyData(); mpData->mbAcceleratorsInContextMenus = bAcceleratorsInContextMenus; }
676 0 : sal_Bool GetAcceleratorsInContextMenus() const
677 0 : { return mpData->mbAcceleratorsInContextMenus; }
678 0 : void SetPrimaryButtonWarpsSlider( sal_Bool bPrimaryButtonWarpsSlider )
679 0 : { CopyData(); mpData->mbPrimaryButtonWarpsSlider = bPrimaryButtonWarpsSlider; }
680 0 : sal_Bool GetPrimaryButtonWarpsSlider() const
681 0 : { return mpData->mbPrimaryButtonWarpsSlider; }
682 :
683 0 : void SetCairoFontOptions( const void *pOptions )
684 0 : { CopyData(); mpData->mpFontOptions = pOptions; }
685 0 : const void* GetCairoFontOptions() const
686 0 : { return mpData->mpFontOptions; }
687 :
688 280 : void SetAppFont( const Font& rFont )
689 280 : { CopyData(); mpData->maAppFont = rFont; }
690 77379 : const Font& GetAppFont() const
691 77379 : { return mpData->maAppFont; }
692 0 : void SetHelpFont( const Font& rFont )
693 0 : { CopyData(); mpData->maHelpFont = rFont; }
694 0 : const Font& GetHelpFont() const
695 0 : { return mpData->maHelpFont; }
696 280 : void SetTitleFont( const Font& rFont )
697 280 : { CopyData(); mpData->maTitleFont = rFont; }
698 280 : const Font& GetTitleFont() const
699 280 : { return mpData->maTitleFont; }
700 280 : void SetFloatTitleFont( const Font& rFont )
701 280 : { CopyData(); mpData->maFloatTitleFont = rFont; }
702 280 : const Font& GetFloatTitleFont() const
703 280 : { return mpData->maFloatTitleFont; }
704 0 : void SetMenuFont( const Font& rFont )
705 0 : { CopyData(); mpData->maMenuFont = rFont; }
706 1365 : const Font& GetMenuFont() const
707 1365 : { return mpData->maMenuFont; }
708 280 : void SetToolFont( const Font& rFont )
709 280 : { CopyData(); mpData->maToolFont = rFont; }
710 10740 : const Font& GetToolFont() const
711 10740 : { return mpData->maToolFont; }
712 280 : void SetGroupFont( const Font& rFont )
713 280 : { CopyData(); mpData->maGroupFont = rFont; }
714 555 : const Font& GetGroupFont() const
715 555 : { return mpData->maGroupFont; }
716 280 : void SetLabelFont( const Font& rFont )
717 280 : { CopyData(); mpData->maLabelFont = rFont; }
718 929 : const Font& GetLabelFont() const
719 929 : { return mpData->maLabelFont; }
720 280 : void SetInfoFont( const Font& rFont )
721 280 : { CopyData(); mpData->maInfoFont = rFont; }
722 280 : const Font& GetInfoFont() const
723 280 : { return mpData->maInfoFont; }
724 280 : void SetRadioCheckFont( const Font& rFont )
725 280 : { CopyData(); mpData->maRadioCheckFont = rFont; }
726 1067 : const Font& GetRadioCheckFont() const
727 1067 : { return mpData->maRadioCheckFont; }
728 280 : void SetPushButtonFont( const Font& rFont )
729 280 : { CopyData(); mpData->maPushButtonFont = rFont; }
730 9194 : const Font& GetPushButtonFont() const
731 9194 : { return mpData->maPushButtonFont; }
732 298 : void SetFieldFont( const Font& rFont )
733 298 : { CopyData(); mpData->maFieldFont = rFont; }
734 10601 : const Font& GetFieldFont() const
735 10601 : { return mpData->maFieldFont; }
736 280 : void SetIconFont( const Font& rFont )
737 280 : { CopyData(); mpData->maIconFont = rFont; }
738 280 : const Font& GetIconFont() const
739 280 : { return mpData->maIconFont; }
740 :
741 : void SetBorderSize( long nSize )
742 : { CopyData(); mpData->mnBorderSize = nSize; }
743 0 : long GetBorderSize() const
744 0 : { return mpData->mnBorderSize; }
745 : void SetTitleHeight( long nSize )
746 : { CopyData(); mpData->mnTitleHeight = nSize; }
747 565 : long GetTitleHeight() const
748 565 : { return mpData->mnTitleHeight; }
749 : void SetFloatTitleHeight( long nSize )
750 : { CopyData(); mpData->mnFloatTitleHeight = nSize; }
751 0 : long GetFloatTitleHeight() const
752 0 : { return mpData->mnFloatTitleHeight; }
753 : void SetTearOffTitleHeight( long nSize )
754 : { CopyData(); mpData->mnTearOffTitleHeight = nSize; }
755 0 : long GetTearOffTitleHeight() const
756 0 : { return mpData->mnTearOffTitleHeight; }
757 : void SetMenuBarHeight( long nSize )
758 : { CopyData(); mpData->mnMenuBarHeight = nSize; }
759 : long GetMenuBarHeight() const
760 : { return mpData->mnMenuBarHeight; }
761 0 : void SetScrollBarSize( long nSize )
762 0 : { CopyData(); mpData->mnScrollBarSize = nSize; }
763 28842 : long GetScrollBarSize() const
764 28842 : { return mpData->mnScrollBarSize; }
765 0 : void SetMinThumbSize( long nSize )
766 0 : { CopyData(); mpData->mnMinThumbSize = nSize; }
767 5884 : long GetMinThumbSize() const
768 5884 : { return mpData->mnMinThumbSize; }
769 : void SetSpinSize( long nSize )
770 : { CopyData(); mpData->mnSpinSize = nSize; }
771 446 : long GetSpinSize() const
772 446 : { return mpData->mnSpinSize; }
773 : void SetSplitSize( long nSize )
774 : { CopyData(); mpData->mnSplitSize = nSize; }
775 407 : long GetSplitSize() const
776 407 : { return mpData->mnSplitSize; }
777 :
778 : void SetIconHorzSpace( long nSpace )
779 : { CopyData(); mpData->mnIconHorzSpace = nSpace; }
780 : long GetIconHorzSpace() const
781 : { return mpData->mnIconHorzSpace; }
782 : void SetIconVertSpace( long nSpace )
783 : { CopyData(); mpData->mnIconVertSpace = nSpace; }
784 : long GetIconVertSpace() const
785 : { return mpData->mnIconVertSpace; }
786 :
787 : void SetCursorSize( long nSize )
788 : { CopyData(); mpData->mnCursorSize = nSize; }
789 17543 : long GetCursorSize() const
790 17543 : { return mpData->mnCursorSize; }
791 18755 : void SetCursorBlinkTime( long nBlinkTime )
792 18755 : { CopyData(); mpData->mnCursorBlinkTime = nBlinkTime; }
793 54077 : long GetCursorBlinkTime() const
794 54077 : { return (long) mpData->mnCursorBlinkTime; }
795 :
796 83 : void SetScreenZoom( sal_uInt16 nPercent )
797 83 : { CopyData(); mpData->mnScreenZoom = nPercent; }
798 76151 : sal_uInt16 GetScreenZoom() const
799 76151 : { return mpData->mnScreenZoom; }
800 83 : void SetScreenFontZoom( sal_uInt16 nPercent )
801 83 : { CopyData(); mpData->mnScreenFontZoom = nPercent; }
802 108312 : sal_uInt16 GetScreenFontZoom() const
803 108312 : { return mpData->mnScreenFontZoom; }
804 :
805 : void SetLogoDisplayTime( sal_uLong nDisplayTime )
806 : { CopyData(); mpData->mnLogoDisplayTime = nDisplayTime; }
807 : sal_uLong GetLogoDisplayTime() const
808 : { return mpData->mnLogoDisplayTime; }
809 :
810 167 : void SetDragFullOptions( sal_uLong nOptions )
811 167 : { CopyData(); mpData->mnDragFullOptions = nOptions; }
812 1922 : sal_uLong GetDragFullOptions() const
813 1922 : { return mpData->mnDragFullOptions; }
814 :
815 : void SetAnimationOptions( sal_uLong nOptions )
816 : { CopyData(); mpData->mnAnimationOptions = nOptions; }
817 : sal_uLong GetAnimationOptions() const
818 : { return mpData->mnAnimationOptions; }
819 :
820 31 : void SetSelectionOptions( sal_uLong nOptions )
821 31 : { CopyData(); mpData->mnSelectionOptions = nOptions; }
822 91 : sal_uLong GetSelectionOptions() const
823 91 : { return mpData->mnSelectionOptions; }
824 :
825 83 : void SetDisplayOptions( sal_uLong nOptions )
826 83 : { CopyData(); mpData->mnDisplayOptions = nOptions; }
827 181870 : sal_uLong GetDisplayOptions() const
828 181870 : { return mpData->mnDisplayOptions; }
829 83 : void SetAntialiasingMinPixelHeight( long nMinPixel )
830 83 : { CopyData(); mpData->mnAntialiasedMin = nMinPixel; }
831 181870 : sal_uLong GetAntialiasingMinPixelHeight() const
832 181870 : { return mpData->mnAntialiasedMin; }
833 :
834 54 : void SetOptions( sal_uLong nOptions )
835 54 : { CopyData(); mpData->mnOptions = nOptions; }
836 112060 : sal_uLong GetOptions() const
837 112060 : { return mpData->mnOptions; }
838 133 : void SetAutoMnemonic( sal_Bool bAutoMnemonic )
839 133 : { CopyData(); mpData->mnAutoMnemonic = (sal_uInt16)bAutoMnemonic; }
840 19 : sal_Bool GetAutoMnemonic() const
841 19 : { return mpData->mnAutoMnemonic ? sal_True : sal_False; }
842 :
843 0 : void SetFontColor( const Color& rColor )
844 0 : { CopyData(); mpData->maFontColor = rColor; }
845 80 : const Color& GetFontColor() const
846 80 : { return mpData->maFontColor; }
847 :
848 0 : void SetToolbarIconSize( sal_uLong nSize )
849 0 : { CopyData(); mpData->mnToolbarIconSize = nSize; }
850 7042 : sal_uLong GetToolbarIconSize() const
851 7042 : { return mpData->mnToolbarIconSize; }
852 :
853 0 : void SetSymbolsStyle( sal_uLong nStyle )
854 0 : { CopyData(); mpData->mnSymbolsStyle = nStyle; }
855 119236 : sal_uLong GetSymbolsStyle() const
856 119236 : { return mpData->mnSymbolsStyle; }
857 :
858 0 : void SetPreferredSymbolsStyle( sal_uLong nStyle )
859 0 : { CopyData(); mpData->mnPreferredSymbolsStyle = nStyle; }
860 : void SetPreferredSymbolsStyleName( const OUString &rName );
861 102495 : sal_uLong GetPreferredSymbolsStyle() const
862 102495 : { return mpData->mnPreferredSymbolsStyle; }
863 : // check whether the symbols style is supported (icons are installed)
864 : bool CheckSymbolStyle( sal_uLong nStyle ) const;
865 : sal_uLong GetAutoSymbolsStyle() const;
866 :
867 : sal_uLong GetCurrentSymbolsStyle() const;
868 :
869 0 : void SetSymbolsStyleName( const OUString &rName )
870 0 : { return SetSymbolsStyle( ImplNameToSymbolsStyle( rName ) ); }
871 388 : OUString GetSymbolsStyleName() const
872 388 : { return ImplSymbolsStyleToName( GetSymbolsStyle() ); }
873 22251 : OUString GetCurrentSymbolsStyleName() const
874 22251 : { return ImplSymbolsStyleToName( GetCurrentSymbolsStyle() ); }
875 :
876 : const Wallpaper& GetWorkspaceGradient() const
877 : { return mpData->maWorkspaceGradient; }
878 280 : void SetWorkspaceGradient( const Wallpaper& rWall )
879 280 : { CopyData(); mpData->maWorkspaceGradient = rWall; }
880 :
881 0 : const DialogStyle& GetDialogStyle() const
882 0 : { return mpData->maDialogStyle; }
883 0 : void SetDialogStyle( const DialogStyle& rStyle )
884 0 : { CopyData(); mpData->maDialogStyle = rStyle; }
885 :
886 0 : const FrameStyle& GetFrameStyle() const
887 0 : { return mpData->maFrameStyle; }
888 0 : void SetFrameStyle( const FrameStyle& rStyle )
889 0 : { CopyData(); mpData->maFrameStyle = rStyle; }
890 :
891 : const BitmapEx GetPersonaHeader() const;
892 :
893 : // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox
894 : // when activated there using Get/SetEdgeBlending; default is true
895 0 : void SetEdgeBlending(sal_uInt16 nCount) { CopyData(); mpData->mnEdgeBlending = nCount; }
896 213 : sal_uInt16 GetEdgeBlending() const { return mpData->mnEdgeBlending; }
897 :
898 : // TopLeft (default RGB_COLORDATA(0xC0, 0xC0, 0xC0)) and BottomRight (default RGB_COLORDATA(0x40, 0x40, 0x40))
899 : // default colors for EdgeBlending
900 : void SetEdgeBlendingTopLeftColor(const Color& rTopLeft) { CopyData(); mpData->maEdgeBlendingTopLeftColor = rTopLeft; }
901 130 : const Color& GetEdgeBlendingTopLeftColor() const { return mpData->maEdgeBlendingTopLeftColor; }
902 : void SetEdgeBlendingBottomRightColor(const Color& rBottomRight) { CopyData(); mpData->maEdgeBlendingBottomRightColor = rBottomRight; }
903 130 : const Color& GetEdgeBlendingBottomRightColor() const { return mpData->maEdgeBlendingBottomRightColor; }
904 :
905 : // maximum line count for ListBox control; to use this, call AdaptDropDownLineCountToMaximum() at the
906 : // ListBox after it's ItemCount has changed/got filled. Default is 25. If more Items exist, a scrollbar
907 : // will be used
908 0 : void SetListBoxMaximumLineCount(sal_uInt16 nCount) { CopyData(); mpData->mnListBoxMaximumLineCount = nCount; }
909 332 : sal_uInt16 GetListBoxMaximumLineCount() const { return mpData->mnListBoxMaximumLineCount; }
910 :
911 : // maximum column count for the ColorValueSet control. Default is 12 and this is optimized for the
912 : // color scheme which has 12-color alogned layout for the part taken over from Symphony. Do
913 : // only change this if you know what you are doing.
914 83 : void SetColorValueSetColumnCount(sal_uInt16 nCount) { CopyData(); mpData->mnColorValueSetColumnCount = nCount; }
915 83 : sal_uInt16 GetColorValueSetColumnCount() const { return mpData->mnColorValueSetColumnCount; }
916 :
917 : // maximum row/line count for the ColorValueSet control. If more lines would be needed, a scrollbar will
918 : // be used. Default is 40.
919 : void SetColorValueSetMaximumRowCount(sal_uInt16 nCount) { CopyData(); mpData->mnColorValueSetMaximumRowCount = nCount; }
920 0 : sal_uInt16 GetColorValueSetMaximumRowCount() const { return mpData->mnColorValueSetMaximumRowCount; }
921 :
922 : // the logical size for preview graphics in the ListBoxes (e.g. FillColor, FillGradient, FillHatch, FillGraphic, ..). The
923 : // default defines a UI-Scale independent setting which will be scaled using MAP_APPFONT. This ensures that the size will
924 : // fit independent from the used SystemFont (as all the ressources for UI elements). The default is Size(15, 7) which gives
925 : // the correct height and a decent width. Do not change the height, but you may adapt the width to change the preview width.
926 : // GetListBoxPreviewDefaultPixelSize() is for convenience so that not everyone has to do the scaling itself and contains
927 : // the logical size scaled by MAP_APPFONT.
928 : void SetListBoxPreviewDefaultLogicSize(const Size& rSize) { CopyData(); mpData->maListBoxPreviewDefaultLogicSize = rSize; mpData->maListBoxPreviewDefaultPixelSize = Size(0, 0);}
929 : const Size& GetListBoxPreviewDefaultLogicSize() const { return mpData->maListBoxPreviewDefaultLogicSize; }
930 : const Size& GetListBoxPreviewDefaultPixelSize() const;
931 :
932 : // the default LineWidth for ListBox UI previews (LineStyle, LineDash, LineStartEnd). Default is 1.
933 : void SetListBoxPreviewDefaultLineWidth(sal_uInt16 nWidth) { CopyData(); mpData->mnListBoxPreviewDefaultLineWidth = nWidth; }
934 732 : sal_uInt16 GetListBoxPreviewDefaultLineWidth() const { return mpData->mnListBoxPreviewDefaultLineWidth; }
935 :
936 : // defines if previews which containn potentially transparent objects (e.g. the dash/line/LineStartEnd previews and others)
937 : // use the default transparent visualization background (checkered background) as it has got standard in graphic programs nowadays
938 83 : void SetPreviewUsesCheckeredBackground(bool bNew) { CopyData(); mpData->mbPreviewUsesCheckeredBackground = bNew; }
939 815 : bool GetPreviewUsesCheckeredBackground() const { return mpData->mbPreviewUsesCheckeredBackground; }
940 :
941 : void SetStandardStyles();
942 :
943 : const StyleSettings& operator =( const StyleSettings& rSet );
944 :
945 : sal_Bool operator ==( const StyleSettings& rSet ) const;
946 22746 : sal_Bool operator !=( const StyleSettings& rSet ) const
947 22746 : { return !(*this == rSet); }
948 :
949 : protected:
950 : OUString ImplSymbolsStyleToName( sal_uLong nStyle ) const;
951 : sal_uLong ImplNameToSymbolsStyle( const OUString &rName ) const;
952 : };
953 :
954 : // ----------------
955 : // - ImplMiscData -
956 : // ----------------
957 :
958 : class ImplMiscData
959 : {
960 : friend class MiscSettings;
961 :
962 : ImplMiscData();
963 : ImplMiscData( const ImplMiscData& rData );
964 :
965 : private:
966 : sal_uLong mnRefCount;
967 : sal_uInt16 mnEnableATT;
968 : sal_Bool mbEnableLocalizedDecimalSep;
969 : sal_uInt16 mnDisablePrinting;
970 : };
971 :
972 : // ----------------
973 : // - MiscSettings -
974 : // ----------------
975 :
976 : class VCL_DLLPUBLIC MiscSettings
977 : {
978 : void CopyData();
979 :
980 : private:
981 : ImplMiscData* mpData;
982 :
983 : public:
984 : MiscSettings();
985 : MiscSettings( const MiscSettings& rSet );
986 : ~MiscSettings();
987 :
988 : #ifdef WNT
989 : void SetEnableATToolSupport( sal_Bool bEnable );
990 : #endif
991 : sal_Bool GetEnableATToolSupport() const;
992 : sal_Bool GetDisablePrinting() const;
993 : void SetEnableLocalizedDecimalSep( sal_Bool bEnable );
994 : sal_Bool GetEnableLocalizedDecimalSep() const;
995 : const MiscSettings& operator =( const MiscSettings& rSet );
996 :
997 : sal_Bool operator ==( const MiscSettings& rSet ) const;
998 22746 : sal_Bool operator !=( const MiscSettings& rSet ) const
999 22746 : { return !(*this == rSet); }
1000 : };
1001 :
1002 : // ----------------
1003 : // - ImplHelpData -
1004 : // ----------------
1005 :
1006 : class ImplHelpData
1007 : {
1008 : friend class HelpSettings;
1009 :
1010 : ImplHelpData();
1011 : ImplHelpData( const ImplHelpData& rData );
1012 :
1013 : private:
1014 : sal_uLong mnRefCount;
1015 : sal_uLong mnOptions;
1016 : sal_uLong mnTipDelay;
1017 : sal_uLong mnTipTimeout;
1018 : sal_uLong mnBalloonDelay;
1019 : };
1020 :
1021 : // ----------------
1022 : // - HelpSettings -
1023 : // ----------------
1024 :
1025 : class VCL_DLLPUBLIC HelpSettings
1026 : {
1027 : void CopyData();
1028 :
1029 : private:
1030 : ImplHelpData* mpData;
1031 :
1032 : public:
1033 : HelpSettings();
1034 : HelpSettings( const HelpSettings& rSet );
1035 : ~HelpSettings();
1036 :
1037 : void SetOptions( sal_uLong nOptions )
1038 : { CopyData(); mpData->mnOptions = nOptions; }
1039 : sal_uLong GetOptions() const
1040 : { return mpData->mnOptions; }
1041 : void SetTipDelay( sal_uLong nTipDelay )
1042 : { CopyData(); mpData->mnTipDelay = nTipDelay; }
1043 130 : sal_uLong GetTipDelay() const
1044 130 : { return mpData->mnTipDelay; }
1045 83 : void SetTipTimeout( sal_uLong nTipTimeout )
1046 83 : { CopyData(); mpData->mnTipTimeout = nTipTimeout; }
1047 0 : sal_uLong GetTipTimeout() const
1048 0 : { return mpData->mnTipTimeout; }
1049 : void SetBalloonDelay( sal_uLong nBalloonDelay )
1050 : { CopyData(); mpData->mnBalloonDelay = nBalloonDelay; }
1051 0 : sal_uLong GetBalloonDelay() const
1052 0 : { return mpData->mnBalloonDelay; }
1053 :
1054 : const HelpSettings& operator =( const HelpSettings& rSet );
1055 :
1056 : sal_Bool operator ==( const HelpSettings& rSet ) const;
1057 22746 : sal_Bool operator !=( const HelpSettings& rSet ) const
1058 22746 : { return !(*this == rSet); }
1059 : };
1060 :
1061 : // -----------------------
1062 : // - ImplAllSettingsData -
1063 : // -----------------------
1064 : class ImplAllSettingsData
1065 : {
1066 : friend class AllSettings;
1067 :
1068 : ImplAllSettingsData();
1069 : ImplAllSettingsData( const ImplAllSettingsData& rData );
1070 : ~ImplAllSettingsData();
1071 :
1072 : private:
1073 : sal_uLong mnRefCount;
1074 : MouseSettings maMouseSettings;
1075 : StyleSettings maStyleSettings;
1076 : MiscSettings maMiscSettings;
1077 : HelpSettings maHelpSettings;
1078 : LanguageTag maLocale;
1079 : sal_uLong mnSystemUpdate;
1080 : sal_uLong mnWindowUpdate;
1081 : LanguageTag maUILocale;
1082 : LocaleDataWrapper* mpLocaleDataWrapper;
1083 : LocaleDataWrapper* mpUILocaleDataWrapper;
1084 : vcl::I18nHelper* mpI18nHelper;
1085 : vcl::I18nHelper* mpUII18nHelper;
1086 : SvtSysLocale maSysLocale;
1087 : };
1088 :
1089 : // ---------------
1090 : // - AllSettings -
1091 : // ---------------
1092 :
1093 : const int SETTINGS_MOUSE = 0x00000001;
1094 : const int SETTINGS_STYLE = 0x00000002;
1095 : const int SETTINGS_MISC = 0x00000004;
1096 : const int SETTINGS_SOUND = 0x00000008;
1097 : const int SETTINGS_HELP = 0x00000010;
1098 : const int SETTINGS_LOCALE = 0x00000020;
1099 : const int SETTINGS_UILOCALE = 0x00000040;
1100 : const int SETTINGS_ALLSETTINGS = ( SETTINGS_MOUSE |
1101 : SETTINGS_STYLE | SETTINGS_MISC |
1102 : SETTINGS_SOUND |
1103 : SETTINGS_HELP |
1104 : SETTINGS_LOCALE | SETTINGS_UILOCALE );
1105 : const int SETTINGS_IN_UPDATE_SETTINGS = 0x00000800; // this flag indicates that the data changed event was created
1106 : // in Windows::UpdateSettings probably because of a global
1107 : // settings changed
1108 :
1109 : class VCL_DLLPUBLIC AllSettings
1110 : {
1111 : void CopyData();
1112 :
1113 : private:
1114 : ImplAllSettingsData* mpData;
1115 :
1116 : public:
1117 : AllSettings();
1118 : AllSettings( const AllSettings& rSet );
1119 : ~AllSettings();
1120 :
1121 1186 : void SetMouseSettings( const MouseSettings& rSet )
1122 1186 : { CopyData(); mpData->maMouseSettings = rSet; }
1123 2405 : const MouseSettings& GetMouseSettings() const
1124 2405 : { return mpData->maMouseSettings; }
1125 :
1126 20233 : void SetStyleSettings( const StyleSettings& rSet )
1127 20233 : { CopyData(); mpData->maStyleSettings = rSet; }
1128 1551580 : const StyleSettings& GetStyleSettings() const
1129 1551580 : { return mpData->maStyleSettings; }
1130 :
1131 0 : void SetMiscSettings( const MiscSettings& rSet )
1132 0 : { CopyData(); mpData->maMiscSettings = rSet; }
1133 25486 : const MiscSettings& GetMiscSettings() const
1134 25486 : { return mpData->maMiscSettings; }
1135 :
1136 83 : void SetHelpSettings( const HelpSettings& rSet )
1137 83 : { CopyData(); mpData->maHelpSettings = rSet; }
1138 148 : const HelpSettings& GetHelpSettings() const
1139 148 : { return mpData->maHelpSettings; }
1140 :
1141 : void SetLanguageTag( const LanguageTag& rLanguageTag );
1142 : const LanguageTag& GetLanguageTag() const;
1143 : void SetUILanguageTag( const LanguageTag& rLanguageTag );
1144 : const LanguageTag& GetUILanguageTag() const;
1145 : bool GetLayoutRTL() const; // returns true if UI language requires right-to-left UI
1146 : const LocaleDataWrapper& GetLocaleDataWrapper() const;
1147 : const LocaleDataWrapper& GetUILocaleDataWrapper() const;
1148 : const vcl::I18nHelper& GetLocaleI18nHelper() const;
1149 : const vcl::I18nHelper& GetUILocaleI18nHelper() const;
1150 :
1151 : void SetSystemUpdate( sal_uLong nUpdate )
1152 : { CopyData(); mpData->mnSystemUpdate = nUpdate; }
1153 : sal_uLong GetSystemUpdate() const
1154 : { return mpData->mnSystemUpdate; }
1155 : void SetWindowUpdate( sal_uLong nUpdate )
1156 : { CopyData(); mpData->mnWindowUpdate = nUpdate; }
1157 500 : sal_uLong GetWindowUpdate() const
1158 500 : { return mpData->mnWindowUpdate; }
1159 :
1160 : sal_uLong Update( sal_uLong nFlags, const AllSettings& rSettings );
1161 : sal_uLong GetChangeFlags( const AllSettings& rSettings ) const;
1162 :
1163 : const AllSettings& operator =( const AllSettings& rSet );
1164 :
1165 : sal_Bool operator ==( const AllSettings& rSet ) const;
1166 : sal_Bool operator !=( const AllSettings& rSet ) const
1167 : { return !(*this == rSet); }
1168 : static void LocaleSettingsChanged( sal_uInt32 nHint );
1169 238 : SvtSysLocale& GetSysLocale() { return mpData->maSysLocale; }
1170 : };
1171 :
1172 : #endif // _SV_SETTINGS_HXX
1173 :
1174 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|