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