xref: /aoo41x/main/sw/source/ui/inc/usrpref.hxx (revision 1d2dbeb0)
1*1d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*1d2dbeb0SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*1d2dbeb0SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*1d2dbeb0SAndrew Rist  * distributed with this work for additional information
6*1d2dbeb0SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*1d2dbeb0SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*1d2dbeb0SAndrew Rist  * "License"); you may not use this file except in compliance
9*1d2dbeb0SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*1d2dbeb0SAndrew Rist  *
11*1d2dbeb0SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*1d2dbeb0SAndrew Rist  *
13*1d2dbeb0SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*1d2dbeb0SAndrew Rist  * software distributed under the License is distributed on an
15*1d2dbeb0SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1d2dbeb0SAndrew Rist  * KIND, either express or implied.  See the License for the
17*1d2dbeb0SAndrew Rist  * specific language governing permissions and limitations
18*1d2dbeb0SAndrew Rist  * under the License.
19*1d2dbeb0SAndrew Rist  *
20*1d2dbeb0SAndrew Rist  *************************************************************/
21*1d2dbeb0SAndrew Rist 
22*1d2dbeb0SAndrew Rist 
23cdf0e10cSrcweir #ifndef _USRPREF_HXX
24cdf0e10cSrcweir #define _USRPREF_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir 
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #include <unotools/configitem.hxx>
29cdf0e10cSrcweir #include <fldupde.hxx>
30cdf0e10cSrcweir #include "viewopt.hxx"
31cdf0e10cSrcweir #include <tools/fldunit.hxx>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir /* -----------------------------28.09.00 09:45--------------------------------
34cdf0e10cSrcweir 
35cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
36cdf0e10cSrcweir class SwMasterUsrPref;
37cdf0e10cSrcweir class SwContentViewConfig : public utl::ConfigItem
38cdf0e10cSrcweir {
39cdf0e10cSrcweir 	SwMasterUsrPref& 		rParent;
40cdf0e10cSrcweir 	sal_Bool 					bWeb;
41cdf0e10cSrcweir 
42cdf0e10cSrcweir 	com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
43cdf0e10cSrcweir 	public:
44cdf0e10cSrcweir 		SwContentViewConfig(sal_Bool bWeb, SwMasterUsrPref& rParent);
45cdf0e10cSrcweir 		~SwContentViewConfig();
46cdf0e10cSrcweir 
47cdf0e10cSrcweir     // utl::ConfigItem
48cdf0e10cSrcweir     virtual void    Notify( const com::sun::star::uno::Sequence< rtl::OUString > &rPropertyNames );
49cdf0e10cSrcweir     virtual void    Commit();
50cdf0e10cSrcweir 
51cdf0e10cSrcweir     void                    Load();
SetModified()52cdf0e10cSrcweir 	void 					SetModified(){ConfigItem::SetModified();}
53cdf0e10cSrcweir };
54cdf0e10cSrcweir /* -----------------------------28.09.00 09:45--------------------------------
55cdf0e10cSrcweir 
56cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
57cdf0e10cSrcweir class SwLayoutViewConfig : public utl::ConfigItem
58cdf0e10cSrcweir {
59cdf0e10cSrcweir 	SwMasterUsrPref& 	rParent;
60cdf0e10cSrcweir 	sal_Bool 				bWeb;
61cdf0e10cSrcweir 
62cdf0e10cSrcweir 	com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
63cdf0e10cSrcweir 	public:
64cdf0e10cSrcweir 		SwLayoutViewConfig(sal_Bool bWeb, SwMasterUsrPref& rParent);
65cdf0e10cSrcweir 		~SwLayoutViewConfig();
66cdf0e10cSrcweir 
67cdf0e10cSrcweir 	virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
68cdf0e10cSrcweir 	virtual void			Commit();
69cdf0e10cSrcweir 	void					Load();
SetModified()70cdf0e10cSrcweir 	void 					SetModified(){ConfigItem::SetModified();}
71cdf0e10cSrcweir };
72cdf0e10cSrcweir /* -----------------------------19.01.01 13:06--------------------------------
73cdf0e10cSrcweir 
74cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
75cdf0e10cSrcweir class SwGridConfig : public utl::ConfigItem
76cdf0e10cSrcweir {
77cdf0e10cSrcweir 	SwMasterUsrPref& 	rParent;
78cdf0e10cSrcweir 	sal_Bool 				bWeb;
79cdf0e10cSrcweir 
80cdf0e10cSrcweir 	com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
81cdf0e10cSrcweir 	public:
82cdf0e10cSrcweir 		SwGridConfig(sal_Bool bWeb, SwMasterUsrPref& rParent);
83cdf0e10cSrcweir 		~SwGridConfig();
84cdf0e10cSrcweir 
85cdf0e10cSrcweir 	virtual void Commit();
86cdf0e10cSrcweir 	virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
87cdf0e10cSrcweir 	void					Load();
SetModified()88cdf0e10cSrcweir 	void 					SetModified(){ConfigItem::SetModified();}
89cdf0e10cSrcweir };
90cdf0e10cSrcweir /* -----------------------------19.01.01 13:06--------------------------------
91cdf0e10cSrcweir 
92cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
93cdf0e10cSrcweir class SwCursorConfig : public utl::ConfigItem
94cdf0e10cSrcweir {
95cdf0e10cSrcweir 	SwMasterUsrPref& 	rParent;
96cdf0e10cSrcweir 
97cdf0e10cSrcweir 	com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
98cdf0e10cSrcweir 	public:
99cdf0e10cSrcweir 		SwCursorConfig(SwMasterUsrPref& rParent);
100cdf0e10cSrcweir 		~SwCursorConfig();
101cdf0e10cSrcweir 
102cdf0e10cSrcweir 	virtual void Commit();
103cdf0e10cSrcweir 	virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
104cdf0e10cSrcweir 	void					Load();
SetModified()105cdf0e10cSrcweir 	void 					SetModified(){ConfigItem::SetModified();}
106cdf0e10cSrcweir };
107cdf0e10cSrcweir /* -----------------------------28.09.00 09:45--------------------------------
108cdf0e10cSrcweir 
109cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
110cdf0e10cSrcweir class SwWebColorConfig : public utl::ConfigItem
111cdf0e10cSrcweir {
112cdf0e10cSrcweir 	SwMasterUsrPref& 		rParent;
113cdf0e10cSrcweir 	com::sun::star::uno::Sequence<rtl::OUString> aPropNames;
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 	public:
116cdf0e10cSrcweir 		SwWebColorConfig(SwMasterUsrPref& rParent);
117cdf0e10cSrcweir 		~SwWebColorConfig();
118cdf0e10cSrcweir 
119cdf0e10cSrcweir 	virtual void Commit();
120cdf0e10cSrcweir 	virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
121cdf0e10cSrcweir 	void					Load();
SetModified()122cdf0e10cSrcweir 	void 					SetModified(){ConfigItem::SetModified();}
123cdf0e10cSrcweir };
124cdf0e10cSrcweir /* -----------------------------28.09.00 09:45--------------------------------
125cdf0e10cSrcweir 
126cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
127cdf0e10cSrcweir class SwMasterUsrPref : public SwViewOption
128cdf0e10cSrcweir {
129cdf0e10cSrcweir 	friend class SwContentViewConfig;
130cdf0e10cSrcweir 	friend class SwLayoutViewConfig;
131cdf0e10cSrcweir 	friend class SwGridConfig;
132cdf0e10cSrcweir 	friend class SwCursorConfig;
133cdf0e10cSrcweir 	friend class SwWebColorConfig;
134cdf0e10cSrcweir 
135cdf0e10cSrcweir     SwFldUpdateFlags eFldUpdateFlags;    //udpate of fields and charts
136cdf0e10cSrcweir 	sal_Int32	nLinkUpdateMode;
137cdf0e10cSrcweir 	FieldUnit	eUserMetric;
138cdf0e10cSrcweir     FieldUnit   eHScrollMetric;
139cdf0e10cSrcweir     sal_Bool    bIsHScrollMetricSet;
140cdf0e10cSrcweir     FieldUnit   eVScrollMetric;
141cdf0e10cSrcweir     sal_Bool    bIsVScrollMetricSet;
142cdf0e10cSrcweir 
143cdf0e10cSrcweir 	sal_Int32	nDefTab;			//default tab stop distance
144cdf0e10cSrcweir 
145cdf0e10cSrcweir     sal_Bool    bIsSquaredPageMode; //default page mode for text grid
146cdf0e10cSrcweir     sal_Bool    bIsAlignMathObjectsToBaseline;
147cdf0e10cSrcweir 
148cdf0e10cSrcweir     SwContentViewConfig aContentConfig;
149cdf0e10cSrcweir     SwLayoutViewConfig  aLayoutConfig;
150cdf0e10cSrcweir     SwGridConfig        aGridConfig;
151cdf0e10cSrcweir     SwCursorConfig      aCursorConfig;
152cdf0e10cSrcweir     SwWebColorConfig*   pWebColorConfig;
153cdf0e10cSrcweir 
154cdf0e10cSrcweir public:
155cdf0e10cSrcweir 	SwMasterUsrPref(sal_Bool bWeb);
156cdf0e10cSrcweir 	~SwMasterUsrPref();
157cdf0e10cSrcweir 
158cdf0e10cSrcweir 	void SetUsrPref(const SwViewOption &rCopy);
159cdf0e10cSrcweir 
Commit()160cdf0e10cSrcweir 	void Commit()
161cdf0e10cSrcweir 		{
162cdf0e10cSrcweir 			aContentConfig.Commit();
163cdf0e10cSrcweir 			aLayoutConfig.Commit();
164cdf0e10cSrcweir 			aGridConfig.Commit();
165cdf0e10cSrcweir 			aCursorConfig.Commit();
166cdf0e10cSrcweir 			if(pWebColorConfig)
167cdf0e10cSrcweir 				pWebColorConfig->Commit();
168cdf0e10cSrcweir 		}
SetModified()169cdf0e10cSrcweir     void SetModified()
170cdf0e10cSrcweir 		{
171cdf0e10cSrcweir 			aContentConfig.SetModified();
172cdf0e10cSrcweir 			aLayoutConfig.SetModified();
173cdf0e10cSrcweir 			aGridConfig.SetModified();
174cdf0e10cSrcweir 			aCursorConfig.SetModified();
175cdf0e10cSrcweir 			if(pWebColorConfig)
176cdf0e10cSrcweir 				pWebColorConfig->SetModified();
177cdf0e10cSrcweir 		}
178cdf0e10cSrcweir 
SetUpdateLinkMode(sal_Int32 nSet,sal_Bool bNoModify=sal_False)179cdf0e10cSrcweir     void SetUpdateLinkMode(sal_Int32 nSet, sal_Bool bNoModify = sal_False)
180cdf0e10cSrcweir         {
181cdf0e10cSrcweir             nLinkUpdateMode = nSet;
182cdf0e10cSrcweir             if(!bNoModify)
183cdf0e10cSrcweir                 aContentConfig.SetModified();
184cdf0e10cSrcweir         }
GetUpdateLinkMode() const185cdf0e10cSrcweir 	sal_Int32 GetUpdateLinkMode() const {return nLinkUpdateMode; }
186cdf0e10cSrcweir 
SetUpdateFields(sal_Bool bSet,sal_Bool bNoModify=sal_False)187cdf0e10cSrcweir     void SetUpdateFields(sal_Bool bSet, sal_Bool bNoModify = sal_False)
188cdf0e10cSrcweir 		{
189cdf0e10cSrcweir             if(bSet && eFldUpdateFlags == AUTOUPD_OFF)
190cdf0e10cSrcweir 			{
191cdf0e10cSrcweir                 eFldUpdateFlags = AUTOUPD_FIELD_ONLY;
192cdf0e10cSrcweir                 if(!bNoModify)
193cdf0e10cSrcweir                     aContentConfig.SetModified();
194cdf0e10cSrcweir 		 	}
195cdf0e10cSrcweir 			else if(!bSet)
196cdf0e10cSrcweir 			{
197cdf0e10cSrcweir                 eFldUpdateFlags = AUTOUPD_OFF;
198cdf0e10cSrcweir                 if(!bNoModify)
199cdf0e10cSrcweir                     aContentConfig.SetModified();
200cdf0e10cSrcweir 			}
201cdf0e10cSrcweir 		};
IsUpdateFields() const202cdf0e10cSrcweir     sal_Bool IsUpdateFields()const {return eFldUpdateFlags != AUTOUPD_OFF; }
203cdf0e10cSrcweir 
GetFldUpdateFlags() const204cdf0e10cSrcweir     SwFldUpdateFlags   GetFldUpdateFlags()const {return eFldUpdateFlags;}
SetFldUpdateFlags(SwFldUpdateFlags eSet,sal_Bool bNoModify=sal_False)205cdf0e10cSrcweir     void        SetFldUpdateFlags(SwFldUpdateFlags eSet, sal_Bool bNoModify = sal_False)
206cdf0e10cSrcweir         {
207cdf0e10cSrcweir             eFldUpdateFlags = eSet;
208cdf0e10cSrcweir             if(!bNoModify)
209cdf0e10cSrcweir                 aContentConfig.SetModified();
210cdf0e10cSrcweir         }
211cdf0e10cSrcweir 
SetUpdateCharts(sal_Bool bSet,sal_Bool bNoModify=sal_False)212cdf0e10cSrcweir     void SetUpdateCharts(sal_Bool bSet, sal_Bool bNoModify = sal_False)
213cdf0e10cSrcweir 		{
214cdf0e10cSrcweir 			if(bSet)
215cdf0e10cSrcweir 			{
216cdf0e10cSrcweir                 eFldUpdateFlags = AUTOUPD_FIELD_AND_CHARTS;
217cdf0e10cSrcweir                 if(!bNoModify)
218cdf0e10cSrcweir                     aContentConfig.SetModified();
219cdf0e10cSrcweir 			 }
220cdf0e10cSrcweir              else if(eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS)
221cdf0e10cSrcweir 			 {
222cdf0e10cSrcweir                 eFldUpdateFlags = AUTOUPD_FIELD_ONLY;
223cdf0e10cSrcweir                 if(!bNoModify)
224cdf0e10cSrcweir                     aContentConfig.SetModified();
225cdf0e10cSrcweir 			 }
226cdf0e10cSrcweir 		};
IsUpdateCharts() const227cdf0e10cSrcweir     sal_Bool IsUpdateCharts()const {return eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS; }
228cdf0e10cSrcweir 
GetMetric() const229cdf0e10cSrcweir 	FieldUnit	GetMetric() const { return eUserMetric;}
SetMetric(FieldUnit eSet,sal_Bool bNoModify=sal_False)230cdf0e10cSrcweir     void        SetMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
231cdf0e10cSrcweir                 {
232cdf0e10cSrcweir                     eUserMetric = eSet;
233cdf0e10cSrcweir                     if(!bNoModify)
234cdf0e10cSrcweir                         aLayoutConfig.SetModified();
235cdf0e10cSrcweir                 }
236cdf0e10cSrcweir 
IsHScrollMetric() const237cdf0e10cSrcweir     sal_Bool    IsHScrollMetric()const {return bIsHScrollMetricSet;}
GetHScrollMetric() const238cdf0e10cSrcweir     FieldUnit   GetHScrollMetric() const { return bIsHScrollMetricSet ? eHScrollMetric : eUserMetric;}
SetHScrollMetric(FieldUnit eSet,sal_Bool bNoModify=sal_False)239cdf0e10cSrcweir     void        SetHScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
240cdf0e10cSrcweir                 {
241cdf0e10cSrcweir                     eHScrollMetric = eSet; bIsHScrollMetricSet = sal_True;
242cdf0e10cSrcweir                     if(!bNoModify)
243cdf0e10cSrcweir                         aLayoutConfig.SetModified();
244cdf0e10cSrcweir                 }
245cdf0e10cSrcweir 
IsVScrollMetric() const246cdf0e10cSrcweir     sal_Bool    IsVScrollMetric()const {return bIsVScrollMetricSet;}
GetVScrollMetric() const247cdf0e10cSrcweir     FieldUnit   GetVScrollMetric() const { return bIsVScrollMetricSet ? eVScrollMetric : eUserMetric;}
SetVScrollMetric(FieldUnit eSet,sal_Bool bNoModify=sal_False)248cdf0e10cSrcweir     void        SetVScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
249cdf0e10cSrcweir                 {
250cdf0e10cSrcweir                     eVScrollMetric = eSet; bIsVScrollMetricSet = sal_True;
251cdf0e10cSrcweir                     if(!bNoModify)
252cdf0e10cSrcweir                         aLayoutConfig.SetModified();
253cdf0e10cSrcweir                 }
254cdf0e10cSrcweir 
GetDefTab() const255cdf0e10cSrcweir     sal_Int32   GetDefTab() const { return nDefTab;}
SetDefTab(sal_Int32 nSet,sal_Bool bNoModify=sal_False)256cdf0e10cSrcweir     void        SetDefTab( sal_Int32  nSet, sal_Bool bNoModify = sal_False )
257cdf0e10cSrcweir                 {
258cdf0e10cSrcweir                     nDefTab = nSet;
259cdf0e10cSrcweir                     if(!bNoModify)
260cdf0e10cSrcweir                         aLayoutConfig.SetModified();
261cdf0e10cSrcweir                 }
262cdf0e10cSrcweir 
263cdf0e10cSrcweir     //default page mode for text grid
IsSquaredPageMode() const264cdf0e10cSrcweir     sal_Bool    IsSquaredPageMode() const {return bIsSquaredPageMode;}
SetDefaultPageMode(sal_Bool bVal,sal_Bool bNoModify=sal_False)265cdf0e10cSrcweir     void        SetDefaultPageMode( sal_Bool bVal, sal_Bool bNoModify = sal_False )
266cdf0e10cSrcweir                 {
267cdf0e10cSrcweir                     bIsSquaredPageMode = bVal;
268cdf0e10cSrcweir                     if(!bNoModify)
269cdf0e10cSrcweir                         aLayoutConfig.SetModified();
270cdf0e10cSrcweir                 }
271cdf0e10cSrcweir 
IsAlignMathObjectsToBaseline() const272cdf0e10cSrcweir     sal_Bool    IsAlignMathObjectsToBaseline() const { return bIsAlignMathObjectsToBaseline; }
SetAlignMathObjectsToBaseline(sal_Bool bVal,sal_Bool bNoModify=sal_False)273cdf0e10cSrcweir     void        SetAlignMathObjectsToBaseline( sal_Bool bVal, sal_Bool bNoModify = sal_False )
274cdf0e10cSrcweir                 {
275cdf0e10cSrcweir                     bIsAlignMathObjectsToBaseline = bVal;
276cdf0e10cSrcweir                     if(!bNoModify)
277cdf0e10cSrcweir                         aLayoutConfig.SetModified();
278cdf0e10cSrcweir                 }
279cdf0e10cSrcweir };
280cdf0e10cSrcweir 
281cdf0e10cSrcweir #endif
282cdf0e10cSrcweir 
283