summaryrefslogtreecommitdiff
path: root/sw/source/ui/inc/usrpref.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/inc/usrpref.hxx')
-rw-r--r--sw/source/ui/inc/usrpref.hxx277
1 files changed, 277 insertions, 0 deletions
diff --git a/sw/source/ui/inc/usrpref.hxx b/sw/source/ui/inc/usrpref.hxx
new file mode 100644
index 000000000000..7864bf135934
--- /dev/null
+++ b/sw/source/ui/inc/usrpref.hxx
@@ -0,0 +1,277 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _USRPREF_HXX
+#define _USRPREF_HXX
+
+
+
+#include <unotools/configitem.hxx>
+#include <fldupde.hxx>
+#include "viewopt.hxx"
+#include <vcl/fldunit.hxx>
+
+/* -----------------------------28.09.00 09:45--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwMasterUsrPref;
+class SwContentViewConfig : public utl::ConfigItem
+{
+ SwMasterUsrPref& rParent;
+ BOOL bWeb;
+
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+ public:
+ SwContentViewConfig(BOOL bWeb, SwMasterUsrPref& rParent);
+ ~SwContentViewConfig();
+
+ // utl::ConfigItem
+ virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString > &rPropertyNames );
+ virtual void Commit();
+
+ void Load();
+ void SetModified(){ConfigItem::SetModified();}
+};
+/* -----------------------------28.09.00 09:45--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwLayoutViewConfig : public utl::ConfigItem
+{
+ SwMasterUsrPref& rParent;
+ BOOL bWeb;
+
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+ public:
+ SwLayoutViewConfig(BOOL bWeb, SwMasterUsrPref& rParent);
+ ~SwLayoutViewConfig();
+
+ virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
+ virtual void Commit();
+ void Load();
+ void SetModified(){ConfigItem::SetModified();}
+};
+/* -----------------------------19.01.01 13:06--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwGridConfig : public utl::ConfigItem
+{
+ SwMasterUsrPref& rParent;
+ BOOL bWeb;
+
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+ public:
+ SwGridConfig(BOOL bWeb, SwMasterUsrPref& rParent);
+ ~SwGridConfig();
+
+ virtual void Commit();
+ virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
+ void Load();
+ void SetModified(){ConfigItem::SetModified();}
+};
+/* -----------------------------19.01.01 13:06--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwCursorConfig : public utl::ConfigItem
+{
+ SwMasterUsrPref& rParent;
+
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+ public:
+ SwCursorConfig(SwMasterUsrPref& rParent);
+ ~SwCursorConfig();
+
+ virtual void Commit();
+ virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
+ void Load();
+ void SetModified(){ConfigItem::SetModified();}
+};
+/* -----------------------------28.09.00 09:45--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwWebColorConfig : public utl::ConfigItem
+{
+ SwMasterUsrPref& rParent;
+ com::sun::star::uno::Sequence<rtl::OUString> aPropNames;
+
+ public:
+ SwWebColorConfig(SwMasterUsrPref& rParent);
+ ~SwWebColorConfig();
+
+ virtual void Commit();
+ virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
+ void Load();
+ void SetModified(){ConfigItem::SetModified();}
+};
+/* -----------------------------28.09.00 09:45--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SwMasterUsrPref : public SwViewOption
+{
+ friend class SwContentViewConfig;
+ friend class SwLayoutViewConfig;
+ friend class SwGridConfig;
+ friend class SwCursorConfig;
+ friend class SwWebColorConfig;
+
+ SwFldUpdateFlags eFldUpdateFlags; //udpate of fields and charts
+ sal_Int32 nLinkUpdateMode;
+ FieldUnit eUserMetric;
+ FieldUnit eHScrollMetric;
+ sal_Bool bIsHScrollMetricSet;
+ FieldUnit eVScrollMetric;
+ sal_Bool bIsVScrollMetricSet;
+
+ sal_Int32 nDefTab; //default tab stop distance
+
+ sal_Bool bIsSquaredPageMode; //default page mode for text grid
+ SwContentViewConfig aContentConfig;
+ SwLayoutViewConfig aLayoutConfig;
+ SwGridConfig aGridConfig;
+ SwCursorConfig aCursorConfig;
+ SwWebColorConfig* pWebColorConfig;
+
+public:
+ SwMasterUsrPref(BOOL bWeb);
+ ~SwMasterUsrPref();
+
+ void SetUsrPref(const SwViewOption &rCopy);
+
+ void Commit()
+ {
+ aContentConfig.Commit();
+ aLayoutConfig.Commit();
+ aGridConfig.Commit();
+ aCursorConfig.Commit();
+ if(pWebColorConfig)
+ pWebColorConfig->Commit();
+ }
+ void SetModified()
+ {
+ aContentConfig.SetModified();
+ aLayoutConfig.SetModified();
+ aGridConfig.SetModified();
+ aCursorConfig.SetModified();
+ if(pWebColorConfig)
+ pWebColorConfig->SetModified();
+ }
+
+ void SetUpdateLinkMode(sal_Int32 nSet, sal_Bool bNoModify = sal_False)
+ {
+ nLinkUpdateMode = nSet;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+ sal_Int32 GetUpdateLinkMode() const {return nLinkUpdateMode; }
+
+ void SetUpdateFields(BOOL bSet, sal_Bool bNoModify = sal_False)
+ {
+ if(bSet && eFldUpdateFlags == AUTOUPD_OFF)
+ {
+ eFldUpdateFlags = AUTOUPD_FIELD_ONLY;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+ else if(!bSet)
+ {
+ eFldUpdateFlags = AUTOUPD_OFF;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+ };
+ sal_Bool IsUpdateFields()const {return eFldUpdateFlags != AUTOUPD_OFF; }
+
+ SwFldUpdateFlags GetFldUpdateFlags()const {return eFldUpdateFlags;}
+ void SetFldUpdateFlags(SwFldUpdateFlags eSet, sal_Bool bNoModify = sal_False)
+ {
+ eFldUpdateFlags = eSet;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+
+ void SetUpdateCharts(BOOL bSet, sal_Bool bNoModify = sal_False)
+ {
+ if(bSet)
+ {
+ eFldUpdateFlags = AUTOUPD_FIELD_AND_CHARTS;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+ else if(eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS)
+ {
+ eFldUpdateFlags = AUTOUPD_FIELD_ONLY;
+ if(!bNoModify)
+ aContentConfig.SetModified();
+ }
+ };
+ sal_Bool IsUpdateCharts()const {return eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS; }
+
+ FieldUnit GetMetric() const { return eUserMetric;}
+ void SetMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
+ {
+ eUserMetric = eSet;
+ if(!bNoModify)
+ aLayoutConfig.SetModified();
+ }
+
+ sal_Bool IsHScrollMetric()const {return bIsHScrollMetricSet;}
+ FieldUnit GetHScrollMetric() const { return bIsHScrollMetricSet ? eHScrollMetric : eUserMetric;}
+ void SetHScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
+ {
+ eHScrollMetric = eSet; bIsHScrollMetricSet = sal_True;
+ if(!bNoModify)
+ aLayoutConfig.SetModified();
+ }
+
+ sal_Bool IsVScrollMetric()const {return bIsVScrollMetricSet;}
+ FieldUnit GetVScrollMetric() const { return bIsVScrollMetricSet ? eVScrollMetric : eUserMetric;}
+ void SetVScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False)
+ {
+ eVScrollMetric = eSet; bIsVScrollMetricSet = sal_True;
+ if(!bNoModify)
+ aLayoutConfig.SetModified();
+ }
+
+ sal_Int32 GetDefTab() const { return nDefTab;}
+ void SetDefTab( sal_Int32 nSet, sal_Bool bNoModify = sal_False )
+ {
+ nDefTab = nSet;
+ if(!bNoModify)
+ aLayoutConfig.SetModified();
+ }
+
+ //default page mode for text grid
+ sal_Bool IsSquaredPageMode() const {return bIsSquaredPageMode;}
+ void SetDefaultPageMode( sal_Bool bVal, sal_Bool bNoModify = sal_False )
+ {
+ bIsSquaredPageMode = bVal;
+ if(!bNoModify)
+ aLayoutConfig.SetModified();
+ }
+
+};
+
+#endif
+