101aa44aaSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
301aa44aaSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
401aa44aaSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
501aa44aaSAndrew Rist  * distributed with this work for additional information
601aa44aaSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
701aa44aaSAndrew Rist  * to you under the Apache License, Version 2.0 (the
801aa44aaSAndrew Rist  * "License"); you may not use this file except in compliance
901aa44aaSAndrew Rist  * with the License.  You may obtain a copy of the License at
1001aa44aaSAndrew Rist  *
1101aa44aaSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
1201aa44aaSAndrew Rist  *
1301aa44aaSAndrew Rist  * Unless required by applicable law or agreed to in writing,
1401aa44aaSAndrew Rist  * software distributed under the License is distributed on an
1501aa44aaSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
1601aa44aaSAndrew Rist  * KIND, either express or implied.  See the License for the
1701aa44aaSAndrew Rist  * specific language governing permissions and limitations
1801aa44aaSAndrew Rist  * under the License.
1901aa44aaSAndrew Rist  *
2001aa44aaSAndrew Rist  *************************************************************/
2101aa44aaSAndrew Rist 
2201aa44aaSAndrew Rist 
23cdf0e10cSrcweir #ifndef INCLUDED_SVTOOLS_ACCESSIBILITYOPTIONS_HXX
24cdf0e10cSrcweir #define INCLUDED_SVTOOLS_ACCESSIBILITYOPTIONS_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include "svtools/svtdllapi.h"
27cdf0e10cSrcweir #include <unotools/configitem.hxx>
28cdf0e10cSrcweir #include <tools/string.hxx>
29cdf0e10cSrcweir #include <svl/brdcst.hxx>
30cdf0e10cSrcweir #include <svl/lstner.hxx>
31cdf0e10cSrcweir #include <unotools/options.hxx>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir class SvtAccessibilityOptions_Impl;
34cdf0e10cSrcweir 
35cdf0e10cSrcweir class SVT_DLLPUBLIC SvtAccessibilityOptions:
36cdf0e10cSrcweir     public utl::detail::Options, private SfxListener
37cdf0e10cSrcweir {
38cdf0e10cSrcweir private:
39cdf0e10cSrcweir 	static SvtAccessibilityOptions_Impl* volatile sm_pSingleImplConfig;
40cdf0e10cSrcweir 	static sal_Int32					 volatile sm_nAccessibilityRefCount;
41cdf0e10cSrcweir 
42cdf0e10cSrcweir public:
43cdf0e10cSrcweir 	SvtAccessibilityOptions();
44cdf0e10cSrcweir 	virtual ~SvtAccessibilityOptions();
45cdf0e10cSrcweir 
46cdf0e10cSrcweir 	// get & set config entries
47cdf0e10cSrcweir 	sal_Bool 	GetIsForDrawings() const;		// obsolete!
48cdf0e10cSrcweir     sal_Bool    GetIsForBorders() const;		// obsolete!
49cdf0e10cSrcweir     sal_Bool    GetIsForPagePreviews() const;
50cdf0e10cSrcweir 	sal_Bool 	GetIsHelpTipsDisappear() const;
51cdf0e10cSrcweir 	sal_Bool 	GetIsAllowAnimatedGraphics() const;
52cdf0e10cSrcweir 	sal_Bool 	GetIsAllowAnimatedText() const;
53cdf0e10cSrcweir 	sal_Bool 	GetIsAutomaticFontColor() const;
54cdf0e10cSrcweir 	sal_Bool 	GetIsSystemFont() const;
55cdf0e10cSrcweir 	sal_Int16	GetHelpTipSeconds() const;
56cdf0e10cSrcweir     sal_Bool    IsSelectionInReadonly() const;
57cdf0e10cSrcweir 	sal_Bool	GetAutoDetectSystemHC() const;
58cdf0e10cSrcweir 
59ca6f8f21SArmin Le Grand     // option to activate EdgeBlending for previews in the UI (ColorValueSet, ColorDropDown,
60ca6f8f21SArmin Le Grand     // FillStyle/LineStyle previews, etc...). 0 == off, 100% == full paint, in-between == alpha
61ca6f8f21SArmin Le Grand     sal_Int16   GetEdgeBlending() const;
62ca6f8f21SArmin Le Grand 
63a68b38dfSArmin Le Grand     // option to set a maximum line count for ListBoxes; when less or equal than this count
64a68b38dfSArmin Le Grand     // is in a ListBox, all will be shown, else a ScrollBar will be used
65a68b38dfSArmin Le Grand     sal_Int16   GetListBoxMaximumLineCount() const;
66a68b38dfSArmin Le Grand 
67e2020f46SArmin Le Grand     // option to set the width of ColorValueSets in columns; this allows
68e2020f46SArmin Le Grand     // adaption to own colr set layouts. The default layout is 12 columns and should
69e2020f46SArmin Le Grand     // only be changed when the color palette is changed from the default
70e2020f46SArmin Le Grand     sal_Int16   GetColorValueSetColumnCount() const;
71e2020f46SArmin Le Grand 
72*33b19716SArmin Le Grand     // option to make previews show the content with a checkeded background to allow
73*33b19716SArmin Le Grand     // simple identification and better preview of transparent content
74*33b19716SArmin Le Grand     sal_Bool    GetPreviewUsesCheckeredBackground() const;
75*33b19716SArmin Le Grand 
76cdf0e10cSrcweir     void        SetIsForPagePreviews(sal_Bool bSet);
77cdf0e10cSrcweir 	void 		SetIsHelpTipsDisappear(sal_Bool bSet);
78cdf0e10cSrcweir 	void 		SetIsAllowAnimatedGraphics(sal_Bool bSet);
79cdf0e10cSrcweir 	void 		SetIsAllowAnimatedText(sal_Bool bSet);
80cdf0e10cSrcweir 	void 		SetIsAutomaticFontColor(sal_Bool bSet);
81cdf0e10cSrcweir 	void 		SetIsSystemFont(sal_Bool bSet);
82cdf0e10cSrcweir 	void		SetHelpTipSeconds(sal_Int16 nSet);
83cdf0e10cSrcweir     void        SetSelectionInReadonly(sal_Bool bSet);
84cdf0e10cSrcweir 	void        SetAutoDetectSystemHC(sal_Bool bSet);
85ca6f8f21SArmin Le Grand 
86ca6f8f21SArmin Le Grand     void        SetEdgeBlending(sal_Int16 nSet);
87a68b38dfSArmin Le Grand     void        SetListBoxMaximumLineCount(sal_Int16 nSet);
88e2020f46SArmin Le Grand     void        SetColorValueSetColumnCount(sal_Int16 nSet);
89*33b19716SArmin Le Grand     void        SetPreviewUsesCheckeredBackground(sal_Bool bSet);
90cdf0e10cSrcweir 
91cdf0e10cSrcweir 	sal_Bool                IsModified() const;
92cdf0e10cSrcweir 	void		            Commit();
93cdf0e10cSrcweir 
94cdf0e10cSrcweir 	//SfxListener:
95cdf0e10cSrcweir 	virtual void		Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
96cdf0e10cSrcweir 	void 		SetVCLSettings();
97cdf0e10cSrcweir };
98cdf0e10cSrcweir 
99cdf0e10cSrcweir #endif // #ifndef INCLUDED_SVTOOLS_ACCESSIBILITYOPTIONS_HXX
100cdf0e10cSrcweir 
101