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 
59*ca6f8f21SArmin Le Grand     // options for configuring the look and feel for the ColorValueSet (color selector)
60*ca6f8f21SArmin Le Grand     sal_Int16   GetColorValueSetMaximumRowCount() const;
61*ca6f8f21SArmin Le Grand     sal_Int16   GetColorValueSetEntryEdgeLength() const;
62*ca6f8f21SArmin Le Grand     sal_Int16   GetColorValueSetColumnCount() const;
63*ca6f8f21SArmin Le Grand 
64*ca6f8f21SArmin Le Grand     // option to activate EdgeBlending for previews in the UI (ColorValueSet, ColorDropDown,
65*ca6f8f21SArmin Le Grand     // FillStyle/LineStyle previews, etc...). 0 == off, 100% == full paint, in-between == alpha
66*ca6f8f21SArmin Le Grand     sal_Int16   GetEdgeBlending() const;
67*ca6f8f21SArmin Le Grand 
68cdf0e10cSrcweir     void        SetIsForPagePreviews(sal_Bool bSet);
69cdf0e10cSrcweir 	void 		SetIsHelpTipsDisappear(sal_Bool bSet);
70cdf0e10cSrcweir 	void 		SetIsAllowAnimatedGraphics(sal_Bool bSet);
71cdf0e10cSrcweir 	void 		SetIsAllowAnimatedText(sal_Bool bSet);
72cdf0e10cSrcweir 	void 		SetIsAutomaticFontColor(sal_Bool bSet);
73cdf0e10cSrcweir 	void 		SetIsSystemFont(sal_Bool bSet);
74cdf0e10cSrcweir 	void		SetHelpTipSeconds(sal_Int16 nSet);
75cdf0e10cSrcweir     void        SetSelectionInReadonly(sal_Bool bSet);
76cdf0e10cSrcweir 	void        SetAutoDetectSystemHC(sal_Bool bSet);
77*ca6f8f21SArmin Le Grand 
78*ca6f8f21SArmin Le Grand     void        SetColorValueSetMaximumRowCount(sal_Int16 nSet);
79*ca6f8f21SArmin Le Grand     void        SetColorValueSetEntryEdgeLength(sal_Int16 nSet);
80*ca6f8f21SArmin Le Grand     void        SetColorValueSetColumnCount(sal_Int16 nSet);
81*ca6f8f21SArmin Le Grand     void        SetEdgeBlending(sal_Int16 nSet);
82cdf0e10cSrcweir 
83cdf0e10cSrcweir 	sal_Bool                IsModified() const;
84cdf0e10cSrcweir 	void		            Commit();
85cdf0e10cSrcweir 
86cdf0e10cSrcweir 	//SfxListener:
87cdf0e10cSrcweir 	virtual void		Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
88cdf0e10cSrcweir 	void 		SetVCLSettings();
89cdf0e10cSrcweir };
90cdf0e10cSrcweir 
91cdf0e10cSrcweir #endif // #ifndef INCLUDED_SVTOOLS_ACCESSIBILITYOPTIONS_HXX
92cdf0e10cSrcweir 
93