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