1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sw.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski #include <tools/stream.hxx>
29*b1cdbd2cSJim Jagielski #include <unotools/syslocale.hxx>
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski #include "swtypes.hxx"
32*b1cdbd2cSJim Jagielski #include "hintids.hxx"
33*b1cdbd2cSJim Jagielski #include "uitool.hxx"
34*b1cdbd2cSJim Jagielski #include "usrpref.hxx"
35*b1cdbd2cSJim Jagielski #include "crstate.hxx"
36*b1cdbd2cSJim Jagielski #include <linguistic/lngprops.hxx>
37*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
38*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Any.hxx>
39*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Sequence.hxx>
40*b1cdbd2cSJim Jagielski #include <unotools/localedatawrapper.hxx>
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski #include <unomid.h>
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski using namespace utl;
45*b1cdbd2cSJim Jagielski using namespace rtl;
46*b1cdbd2cSJim Jagielski using namespace ::com::sun::star;
47*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski
SetUsrPref(const SwViewOption & rCopy)50*b1cdbd2cSJim Jagielski void SwMasterUsrPref::SetUsrPref(const SwViewOption &rCopy)
51*b1cdbd2cSJim Jagielski {
52*b1cdbd2cSJim Jagielski *((SwViewOption*)this) = rCopy;
53*b1cdbd2cSJim Jagielski }
54*b1cdbd2cSJim Jagielski
SwMasterUsrPref(sal_Bool bWeb)55*b1cdbd2cSJim Jagielski SwMasterUsrPref::SwMasterUsrPref(sal_Bool bWeb) :
56*b1cdbd2cSJim Jagielski eFldUpdateFlags(AUTOUPD_OFF),
57*b1cdbd2cSJim Jagielski nLinkUpdateMode(0),
58*b1cdbd2cSJim Jagielski bIsHScrollMetricSet(sal_False),
59*b1cdbd2cSJim Jagielski bIsVScrollMetricSet(sal_False),
60*b1cdbd2cSJim Jagielski nDefTab( MM50 * 4 ),
61*b1cdbd2cSJim Jagielski bIsSquaredPageMode(sal_False),
62*b1cdbd2cSJim Jagielski aContentConfig(bWeb, *this),
63*b1cdbd2cSJim Jagielski aLayoutConfig(bWeb, *this),
64*b1cdbd2cSJim Jagielski aGridConfig(bWeb, *this),
65*b1cdbd2cSJim Jagielski aCursorConfig(*this),
66*b1cdbd2cSJim Jagielski pWebColorConfig(bWeb ? new SwWebColorConfig(*this) : 0)
67*b1cdbd2cSJim Jagielski {
68*b1cdbd2cSJim Jagielski MeasurementSystem eSystem = SvtSysLocale().GetLocaleData().getMeasurementSystemEnum();
69*b1cdbd2cSJim Jagielski eUserMetric = MEASURE_METRIC == eSystem ? FUNIT_CM : FUNIT_INCH;
70*b1cdbd2cSJim Jagielski eHScrollMetric = eUserMetric;
71*b1cdbd2cSJim Jagielski eVScrollMetric = eUserMetric;
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski aContentConfig.Load();
74*b1cdbd2cSJim Jagielski aLayoutConfig.Load();
75*b1cdbd2cSJim Jagielski aGridConfig.Load();
76*b1cdbd2cSJim Jagielski aCursorConfig.Load();
77*b1cdbd2cSJim Jagielski if(pWebColorConfig)
78*b1cdbd2cSJim Jagielski pWebColorConfig->Load();
79*b1cdbd2cSJim Jagielski }
80*b1cdbd2cSJim Jagielski /* -----------------------------13.02.01 09:48--------------------------------
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
~SwMasterUsrPref()83*b1cdbd2cSJim Jagielski SwMasterUsrPref::~SwMasterUsrPref()
84*b1cdbd2cSJim Jagielski {
85*b1cdbd2cSJim Jagielski delete pWebColorConfig;
86*b1cdbd2cSJim Jagielski }
87*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:32---------------------------------------------------
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
GetPropertyNames()90*b1cdbd2cSJim Jagielski Sequence<OUString> SwContentViewConfig::GetPropertyNames()
91*b1cdbd2cSJim Jagielski {
92*b1cdbd2cSJim Jagielski static const char* aPropNames[] =
93*b1cdbd2cSJim Jagielski {
94*b1cdbd2cSJim Jagielski "Display/GraphicObject", // 0
95*b1cdbd2cSJim Jagielski "Display/Table", // 1
96*b1cdbd2cSJim Jagielski "Display/DrawingControl", // 2
97*b1cdbd2cSJim Jagielski "Display/FieldCode", // 3
98*b1cdbd2cSJim Jagielski "Display/Note", // 4
99*b1cdbd2cSJim Jagielski "Display/ShowContentTips", // 5
100*b1cdbd2cSJim Jagielski "NonprintingCharacter/MetaCharacters", // 6
101*b1cdbd2cSJim Jagielski "NonprintingCharacter/ParagraphEnd", // 7
102*b1cdbd2cSJim Jagielski "NonprintingCharacter/OptionalHyphen", // 8
103*b1cdbd2cSJim Jagielski "NonprintingCharacter/Space", // 9
104*b1cdbd2cSJim Jagielski "NonprintingCharacter/Break", // 10
105*b1cdbd2cSJim Jagielski "NonprintingCharacter/ProtectedSpace", // 11
106*b1cdbd2cSJim Jagielski "NonprintingCharacter/Tab", // 12 //not in Writer/Web
107*b1cdbd2cSJim Jagielski "NonprintingCharacter/HiddenText", // 13
108*b1cdbd2cSJim Jagielski "NonprintingCharacter/HiddenParagraph", // 14
109*b1cdbd2cSJim Jagielski "NonprintingCharacter/HiddenCharacter", // 15
110*b1cdbd2cSJim Jagielski "Update/Link", // 16
111*b1cdbd2cSJim Jagielski "Update/Field", // 17
112*b1cdbd2cSJim Jagielski "Update/Chart" // 18
113*b1cdbd2cSJim Jagielski
114*b1cdbd2cSJim Jagielski
115*b1cdbd2cSJim Jagielski };
116*b1cdbd2cSJim Jagielski const int nCount = bWeb ? 12 : 19;
117*b1cdbd2cSJim Jagielski Sequence<OUString> aNames(nCount);
118*b1cdbd2cSJim Jagielski OUString* pNames = aNames.getArray();
119*b1cdbd2cSJim Jagielski for(int i = 0; i < nCount; i++)
120*b1cdbd2cSJim Jagielski {
121*b1cdbd2cSJim Jagielski pNames[i] = OUString::createFromAscii(aPropNames[i]);
122*b1cdbd2cSJim Jagielski }
123*b1cdbd2cSJim Jagielski return aNames;
124*b1cdbd2cSJim Jagielski }
125*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
126*b1cdbd2cSJim Jagielski
127*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
SwContentViewConfig(sal_Bool bIsWeb,SwMasterUsrPref & rPar)128*b1cdbd2cSJim Jagielski SwContentViewConfig::SwContentViewConfig(sal_Bool bIsWeb, SwMasterUsrPref& rPar) :
129*b1cdbd2cSJim Jagielski ConfigItem(bIsWeb ? C2U("Office.WriterWeb/Content") : C2U("Office.Writer/Content")),
130*b1cdbd2cSJim Jagielski rParent(rPar),
131*b1cdbd2cSJim Jagielski bWeb(bIsWeb)
132*b1cdbd2cSJim Jagielski {
133*b1cdbd2cSJim Jagielski Load();
134*b1cdbd2cSJim Jagielski EnableNotification( GetPropertyNames() );
135*b1cdbd2cSJim Jagielski }
136*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
137*b1cdbd2cSJim Jagielski
138*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
~SwContentViewConfig()139*b1cdbd2cSJim Jagielski SwContentViewConfig::~SwContentViewConfig()
140*b1cdbd2cSJim Jagielski {
141*b1cdbd2cSJim Jagielski }
142*b1cdbd2cSJim Jagielski /*-- 09.02.07 09:55:33---------------------------------------------------
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Notify(const Sequence<OUString> &)145*b1cdbd2cSJim Jagielski void SwContentViewConfig::Notify( const Sequence< OUString > & /*rPropertyNames*/ )
146*b1cdbd2cSJim Jagielski {
147*b1cdbd2cSJim Jagielski Load();
148*b1cdbd2cSJim Jagielski }
149*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Commit()152*b1cdbd2cSJim Jagielski void SwContentViewConfig::Commit()
153*b1cdbd2cSJim Jagielski {
154*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim Jagielski Sequence<Any> aValues(aNames.getLength());
157*b1cdbd2cSJim Jagielski Any* pValues = aValues.getArray();
158*b1cdbd2cSJim Jagielski
159*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
160*b1cdbd2cSJim Jagielski {
161*b1cdbd2cSJim Jagielski sal_Bool bVal = sal_False;
162*b1cdbd2cSJim Jagielski switch(nProp)
163*b1cdbd2cSJim Jagielski {
164*b1cdbd2cSJim Jagielski case 0: bVal = rParent.IsGraphic(); break;// "Display/GraphicObject",
165*b1cdbd2cSJim Jagielski case 1: bVal = rParent.IsTable(); break;// "Display/Table",
166*b1cdbd2cSJim Jagielski case 2: bVal = rParent.IsDraw(); break;// "Display/DrawingControl",
167*b1cdbd2cSJim Jagielski case 3: bVal = rParent.IsFldName(); break;// "Display/FieldCode",
168*b1cdbd2cSJim Jagielski case 4: bVal = rParent.IsPostIts(); break;// "Display/Note",
169*b1cdbd2cSJim Jagielski case 5: bVal = rParent.IsShowContentTips(); break; // "Display/ShowContentTips"
170*b1cdbd2cSJim Jagielski case 6: bVal = rParent.IsViewMetaChars(); break; //"NonprintingCharacter/MetaCharacters"
171*b1cdbd2cSJim Jagielski case 7: bVal = rParent.IsParagraph(sal_True); break;// "NonprintingCharacter/ParagraphEnd",
172*b1cdbd2cSJim Jagielski case 8: bVal = rParent.IsSoftHyph(); break;// "NonprintingCharacter/OptionalHyphen",
173*b1cdbd2cSJim Jagielski case 9: bVal = rParent.IsBlank(sal_True); break;// "NonprintingCharacter/Space",
174*b1cdbd2cSJim Jagielski case 10: bVal = rParent.IsLineBreak(sal_True);break;// "NonprintingCharacter/Break",
175*b1cdbd2cSJim Jagielski case 11: bVal = rParent.IsHardBlank(); break;// "NonprintingCharacter/ProtectedSpace",
176*b1cdbd2cSJim Jagielski case 12: bVal = rParent.IsTab(sal_True); break;// "NonprintingCharacter/Tab",
177*b1cdbd2cSJim Jagielski case 13: bVal = rParent.IsShowHiddenField(); break;// "NonprintingCharacter/Fields: HiddenText",
178*b1cdbd2cSJim Jagielski case 14: bVal = rParent.IsShowHiddenPara(); break;// "NonprintingCharacter/Fields: HiddenParagraph",
179*b1cdbd2cSJim Jagielski case 15: bVal = rParent.IsShowHiddenChar(sal_True); break;// "NonprintingCharacter/HiddenCharacter",
180*b1cdbd2cSJim Jagielski case 16: pValues[nProp] <<= rParent.GetUpdateLinkMode(); break;// "Update/Link",
181*b1cdbd2cSJim Jagielski case 17: bVal = rParent.IsUpdateFields(); break;// "Update/Field",
182*b1cdbd2cSJim Jagielski case 18: bVal = rParent.IsUpdateCharts(); break;// "Update/Chart"
183*b1cdbd2cSJim Jagielski }
184*b1cdbd2cSJim Jagielski if(nProp != 16)
185*b1cdbd2cSJim Jagielski pValues[nProp].setValue(&bVal, ::getBooleanCppuType());
186*b1cdbd2cSJim Jagielski }
187*b1cdbd2cSJim Jagielski PutProperties(aNames, aValues);
188*b1cdbd2cSJim Jagielski }
189*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:34---------------------------------------------------
190*b1cdbd2cSJim Jagielski
191*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Load()192*b1cdbd2cSJim Jagielski void SwContentViewConfig::Load()
193*b1cdbd2cSJim Jagielski {
194*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
195*b1cdbd2cSJim Jagielski Sequence<Any> aValues = GetProperties(aNames);
196*b1cdbd2cSJim Jagielski const Any* pValues = aValues.getConstArray();
197*b1cdbd2cSJim Jagielski DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
198*b1cdbd2cSJim Jagielski if(aValues.getLength() == aNames.getLength())
199*b1cdbd2cSJim Jagielski {
200*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
201*b1cdbd2cSJim Jagielski {
202*b1cdbd2cSJim Jagielski if(pValues[nProp].hasValue())
203*b1cdbd2cSJim Jagielski {
204*b1cdbd2cSJim Jagielski sal_Bool bSet = nProp != 16 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
205*b1cdbd2cSJim Jagielski switch(nProp)
206*b1cdbd2cSJim Jagielski {
207*b1cdbd2cSJim Jagielski case 0: rParent.SetGraphic(bSet); break;// "Display/GraphicObject",
208*b1cdbd2cSJim Jagielski case 1: rParent.SetTable(bSet); break;// "Display/Table",
209*b1cdbd2cSJim Jagielski case 2: rParent.SetDraw(bSet); break;// "Display/DrawingControl",
210*b1cdbd2cSJim Jagielski case 3: rParent.SetFldName(bSet); break;// "Display/FieldCode",
211*b1cdbd2cSJim Jagielski case 4: rParent.SetPostIts(bSet); break;// "Display/Note",
212*b1cdbd2cSJim Jagielski case 5: rParent.SetShowContentTips(bSet); break;// "Display/ShowContentTips",
213*b1cdbd2cSJim Jagielski case 6: rParent.SetViewMetaChars(bSet); break; //"NonprintingCharacter/MetaCharacters"
214*b1cdbd2cSJim Jagielski case 7: rParent.SetParagraph(bSet); break;// "NonprintingCharacter/ParagraphEnd",
215*b1cdbd2cSJim Jagielski case 8: rParent.SetSoftHyph(bSet); break;// "NonprintingCharacter/OptionalHyphen",
216*b1cdbd2cSJim Jagielski case 9: rParent.SetBlank(bSet); break;// "NonprintingCharacter/Space",
217*b1cdbd2cSJim Jagielski case 10: rParent.SetLineBreak(bSet);break;// "NonprintingCharacter/Break",
218*b1cdbd2cSJim Jagielski case 11: rParent.SetHardBlank(bSet); break;// "NonprintingCharacter/ProtectedSpace",
219*b1cdbd2cSJim Jagielski case 12: rParent.SetTab(bSet); break;// "NonprintingCharacter/Tab",
220*b1cdbd2cSJim Jagielski case 13: rParent.SetShowHiddenField(bSet); break;// "NonprintingCharacter/Fields: HiddenText",
221*b1cdbd2cSJim Jagielski case 14: rParent.SetShowHiddenPara(bSet); break;// "NonprintingCharacter/Fields: HiddenParagraph",
222*b1cdbd2cSJim Jagielski case 15: rParent.SetShowHiddenChar(bSet); break;// "NonprintingCharacter/HiddenCharacter",
223*b1cdbd2cSJim Jagielski case 16:
224*b1cdbd2cSJim Jagielski {
225*b1cdbd2cSJim Jagielski sal_Int32 nSet = 0;
226*b1cdbd2cSJim Jagielski pValues[nProp] >>= nSet;
227*b1cdbd2cSJim Jagielski rParent.SetUpdateLinkMode(nSet, sal_True);
228*b1cdbd2cSJim Jagielski }
229*b1cdbd2cSJim Jagielski break;// "Update/Link",
230*b1cdbd2cSJim Jagielski case 17: rParent.SetUpdateFields(bSet, sal_True); break;// "Update/Field",
231*b1cdbd2cSJim Jagielski case 18: rParent.SetUpdateCharts(bSet, sal_True); break;// "Update/Chart"
232*b1cdbd2cSJim Jagielski }
233*b1cdbd2cSJim Jagielski }
234*b1cdbd2cSJim Jagielski }
235*b1cdbd2cSJim Jagielski }
236*b1cdbd2cSJim Jagielski }
237*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:34---------------------------------------------------
238*b1cdbd2cSJim Jagielski
239*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
GetPropertyNames()240*b1cdbd2cSJim Jagielski Sequence<OUString> SwLayoutViewConfig::GetPropertyNames()
241*b1cdbd2cSJim Jagielski {
242*b1cdbd2cSJim Jagielski static const char* aPropNames[] =
243*b1cdbd2cSJim Jagielski {
244*b1cdbd2cSJim Jagielski "Line/Guide", // 0
245*b1cdbd2cSJim Jagielski "Line/SimpleControlPoint", // 1
246*b1cdbd2cSJim Jagielski "Line/LargeControlPoint", // 2
247*b1cdbd2cSJim Jagielski "Window/HorizontalScroll", // 3
248*b1cdbd2cSJim Jagielski "Window/VerticalScroll", // 4
249*b1cdbd2cSJim Jagielski "Window/ShowRulers", // 5
250*b1cdbd2cSJim Jagielski "Window/HorizontalRuler", // 6
251*b1cdbd2cSJim Jagielski "Window/VerticalRuler", // 7
252*b1cdbd2cSJim Jagielski "Window/HorizontalRulerUnit", // 8
253*b1cdbd2cSJim Jagielski "Window/VerticalRulerUnit", // 9
254*b1cdbd2cSJim Jagielski "Window/SmoothScroll", //10
255*b1cdbd2cSJim Jagielski "Zoom/Value", //11
256*b1cdbd2cSJim Jagielski "Zoom/Type", //12
257*b1cdbd2cSJim Jagielski "Other/IsAlignMathObjectsToBaseline", //13
258*b1cdbd2cSJim Jagielski "Other/MeasureUnit", //14
259*b1cdbd2cSJim Jagielski // below properties are not available in WriterWeb
260*b1cdbd2cSJim Jagielski "Other/TabStop", //15
261*b1cdbd2cSJim Jagielski "Window/IsVerticalRulerRight", //16
262*b1cdbd2cSJim Jagielski "ViewLayout/Columns", //17
263*b1cdbd2cSJim Jagielski "ViewLayout/BookMode", //18
264*b1cdbd2cSJim Jagielski "Other/IsSquaredPageMode", //19
265*b1cdbd2cSJim Jagielski "Window/ShowScrollBarTips" //20
266*b1cdbd2cSJim Jagielski };
267*b1cdbd2cSJim Jagielski const int nCount = bWeb ? 15 : 21;
268*b1cdbd2cSJim Jagielski Sequence<OUString> aNames(nCount);
269*b1cdbd2cSJim Jagielski OUString* pNames = aNames.getArray();
270*b1cdbd2cSJim Jagielski for(int i = 0; i < nCount; i++)
271*b1cdbd2cSJim Jagielski {
272*b1cdbd2cSJim Jagielski pNames[i] = OUString::createFromAscii(aPropNames[i]);
273*b1cdbd2cSJim Jagielski }
274*b1cdbd2cSJim Jagielski return aNames;
275*b1cdbd2cSJim Jagielski }
276*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:34---------------------------------------------------
277*b1cdbd2cSJim Jagielski
278*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
SwLayoutViewConfig(sal_Bool bIsWeb,SwMasterUsrPref & rPar)279*b1cdbd2cSJim Jagielski SwLayoutViewConfig::SwLayoutViewConfig(sal_Bool bIsWeb, SwMasterUsrPref& rPar) :
280*b1cdbd2cSJim Jagielski ConfigItem(bIsWeb ? C2U("Office.WriterWeb/Layout") : C2U("Office.Writer/Layout"),
281*b1cdbd2cSJim Jagielski CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE),
282*b1cdbd2cSJim Jagielski rParent(rPar),
283*b1cdbd2cSJim Jagielski bWeb(bIsWeb)
284*b1cdbd2cSJim Jagielski {
285*b1cdbd2cSJim Jagielski }
286*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:35---------------------------------------------------
287*b1cdbd2cSJim Jagielski
288*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
~SwLayoutViewConfig()289*b1cdbd2cSJim Jagielski SwLayoutViewConfig::~SwLayoutViewConfig()
290*b1cdbd2cSJim Jagielski {
291*b1cdbd2cSJim Jagielski }
292*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:36---------------------------------------------------
293*b1cdbd2cSJim Jagielski
294*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Commit()295*b1cdbd2cSJim Jagielski void SwLayoutViewConfig::Commit()
296*b1cdbd2cSJim Jagielski {
297*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
298*b1cdbd2cSJim Jagielski
299*b1cdbd2cSJim Jagielski Sequence<Any> aValues(aNames.getLength());
300*b1cdbd2cSJim Jagielski Any* pValues = aValues.getArray();
301*b1cdbd2cSJim Jagielski
302*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
303*b1cdbd2cSJim Jagielski {
304*b1cdbd2cSJim Jagielski Any &rVal = pValues[nProp];
305*b1cdbd2cSJim Jagielski switch(nProp)
306*b1cdbd2cSJim Jagielski {
307*b1cdbd2cSJim Jagielski case 0: rVal <<= (sal_Bool) rParent.IsCrossHair(); break; // "Line/Guide",
308*b1cdbd2cSJim Jagielski case 1: rVal <<= (sal_Bool) rParent.IsSolidMarkHdl(); break; // "Line/SimpleControlPoint",
309*b1cdbd2cSJim Jagielski case 2: rVal <<= (sal_Bool) rParent.IsBigMarkHdl(); break; // "Line/LargeControlPoint",
310*b1cdbd2cSJim Jagielski case 3: rVal <<= (sal_Bool) rParent.IsViewHScrollBar(); break; // "Window/HorizontalScroll",
311*b1cdbd2cSJim Jagielski case 4: rVal <<= (sal_Bool) rParent.IsViewVScrollBar(); break; // "Window/VerticalScroll",
312*b1cdbd2cSJim Jagielski case 5: rVal <<= (sal_Bool) rParent.IsViewAnyRuler(); break; // "Window/ShowRulers"
313*b1cdbd2cSJim Jagielski // #i14593# use IsView*Ruler(sal_True) instead of IsView*Ruler()
314*b1cdbd2cSJim Jagielski // this preserves the single ruler states even if "Window/ShowRulers" is off
315*b1cdbd2cSJim Jagielski case 6: rVal <<= (sal_Bool) rParent.IsViewHRuler(sal_True); break; // "Window/HorizontalRuler",
316*b1cdbd2cSJim Jagielski case 7: rVal <<= (sal_Bool) rParent.IsViewVRuler(sal_True); break; // "Window/VerticalRuler",
317*b1cdbd2cSJim Jagielski case 8:
318*b1cdbd2cSJim Jagielski if(rParent.bIsHScrollMetricSet)
319*b1cdbd2cSJim Jagielski rVal <<= (sal_Int32)rParent.eHScrollMetric; // "Window/HorizontalRulerUnit"
320*b1cdbd2cSJim Jagielski break;
321*b1cdbd2cSJim Jagielski case 9:
322*b1cdbd2cSJim Jagielski if(rParent.bIsVScrollMetricSet)
323*b1cdbd2cSJim Jagielski rVal <<= (sal_Int32)rParent.eVScrollMetric; // "Window/VerticalRulerUnit"
324*b1cdbd2cSJim Jagielski break;
325*b1cdbd2cSJim Jagielski case 10: rVal <<= (sal_Bool) rParent.IsSmoothScroll(); break; // "Window/SmoothScroll",
326*b1cdbd2cSJim Jagielski case 11: rVal <<= (sal_Int32)rParent.GetZoom(); break; // "Zoom/Value",
327*b1cdbd2cSJim Jagielski case 12: rVal <<= (sal_Int32)rParent.GetZoomType(); break; // "Zoom/Type",
328*b1cdbd2cSJim Jagielski case 13: rVal <<= (sal_Bool) rParent.IsAlignMathObjectsToBaseline(); break; // "Other/IsAlignMathObjectsToBaseline"
329*b1cdbd2cSJim Jagielski case 14: rVal <<= (sal_Int32)rParent.GetMetric(); break; // "Other/MeasureUnit",
330*b1cdbd2cSJim Jagielski case 15: rVal <<= static_cast<sal_Int32>(TWIP_TO_MM100(rParent.GetDefTab())); break;// "Other/TabStop",
331*b1cdbd2cSJim Jagielski case 16: rVal <<= (sal_Bool) rParent.IsVRulerRight(); break; // "Window/IsVerticalRulerRight",
332*b1cdbd2cSJim Jagielski case 17: rVal <<= (sal_Int32)rParent.GetViewLayoutColumns(); break; // "ViewLayout/Columns",
333*b1cdbd2cSJim Jagielski case 18: rVal <<= (sal_Bool) rParent.IsViewLayoutBookMode(); break; // "ViewLayout/BookMode",
334*b1cdbd2cSJim Jagielski case 19: rVal <<= (sal_Bool) rParent.IsSquaredPageMode(); break; // "Other/IsSquaredPageMode",
335*b1cdbd2cSJim Jagielski case 20: rVal <<= (sal_Bool) rParent.IsShowScrollBarTips(); break; // "Window/ShowScrollBarTips",
336*b1cdbd2cSJim Jagielski }
337*b1cdbd2cSJim Jagielski }
338*b1cdbd2cSJim Jagielski PutProperties(aNames, aValues);
339*b1cdbd2cSJim Jagielski }
340*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:36---------------------------------------------------
341*b1cdbd2cSJim Jagielski
342*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Load()343*b1cdbd2cSJim Jagielski void SwLayoutViewConfig::Load()
344*b1cdbd2cSJim Jagielski {
345*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
346*b1cdbd2cSJim Jagielski Sequence<Any> aValues = GetProperties(aNames);
347*b1cdbd2cSJim Jagielski const Any* pValues = aValues.getConstArray();
348*b1cdbd2cSJim Jagielski DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
349*b1cdbd2cSJim Jagielski if(aValues.getLength() == aNames.getLength())
350*b1cdbd2cSJim Jagielski {
351*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
352*b1cdbd2cSJim Jagielski {
353*b1cdbd2cSJim Jagielski if(pValues[nProp].hasValue())
354*b1cdbd2cSJim Jagielski {
355*b1cdbd2cSJim Jagielski sal_Int32 nInt32Val = 0;
356*b1cdbd2cSJim Jagielski sal_Bool bSet = sal_False;
357*b1cdbd2cSJim Jagielski pValues[nProp] >>= nInt32Val;
358*b1cdbd2cSJim Jagielski pValues[nProp] >>= bSet;
359*b1cdbd2cSJim Jagielski
360*b1cdbd2cSJim Jagielski switch(nProp)
361*b1cdbd2cSJim Jagielski {
362*b1cdbd2cSJim Jagielski case 0: rParent.SetCrossHair(bSet); break;// "Line/Guide",
363*b1cdbd2cSJim Jagielski case 1: rParent.SetSolidMarkHdl(bSet); break;// "Line/SimpleControlPoint",
364*b1cdbd2cSJim Jagielski case 2: rParent.SetBigMarkHdl(bSet); break;// "Line/LargeControlPoint",
365*b1cdbd2cSJim Jagielski case 3: rParent.SetViewHScrollBar(bSet); break;// "Window/HorizontalScroll",
366*b1cdbd2cSJim Jagielski case 4: rParent.SetViewVScrollBar(bSet); break;// "Window/VerticalScroll",
367*b1cdbd2cSJim Jagielski case 5: rParent.SetViewAnyRuler(bSet);break; // "Window/ShowRulers"
368*b1cdbd2cSJim Jagielski case 6: rParent.SetViewHRuler(bSet); break;// "Window/HorizontalRuler",
369*b1cdbd2cSJim Jagielski case 7: rParent.SetViewVRuler(bSet); break;// "Window/VerticalRuler",
370*b1cdbd2cSJim Jagielski case 8:
371*b1cdbd2cSJim Jagielski {
372*b1cdbd2cSJim Jagielski rParent.bIsHScrollMetricSet = sal_True;
373*b1cdbd2cSJim Jagielski rParent.eHScrollMetric = ((FieldUnit)nInt32Val); // "Window/HorizontalRulerUnit"
374*b1cdbd2cSJim Jagielski }
375*b1cdbd2cSJim Jagielski break;
376*b1cdbd2cSJim Jagielski case 9:
377*b1cdbd2cSJim Jagielski {
378*b1cdbd2cSJim Jagielski rParent.bIsVScrollMetricSet = sal_True;
379*b1cdbd2cSJim Jagielski rParent.eVScrollMetric = ((FieldUnit)nInt32Val); // "Window/VerticalRulerUnit"
380*b1cdbd2cSJim Jagielski }
381*b1cdbd2cSJim Jagielski break;
382*b1cdbd2cSJim Jagielski case 10: rParent.SetSmoothScroll(bSet); break;// "Window/SmoothScroll",
383*b1cdbd2cSJim Jagielski case 11: rParent.SetZoom( static_cast< sal_uInt16 >(nInt32Val) ); break;// "Zoom/Value",
384*b1cdbd2cSJim Jagielski case 12: rParent.SetZoomType( static_cast< SvxZoomType >(nInt32Val) ); break;// "Zoom/Type",
385*b1cdbd2cSJim Jagielski case 13: rParent.SetAlignMathObjectsToBaseline(bSet); break;// "Other/IsAlignMathObjectsToBaseline"
386*b1cdbd2cSJim Jagielski case 14: rParent.SetMetric((FieldUnit)nInt32Val, sal_True); break;// "Other/MeasureUnit",
387*b1cdbd2cSJim Jagielski case 15: rParent.SetDefTab(MM100_TO_TWIP(nInt32Val), sal_True); break;// "Other/TabStop",
388*b1cdbd2cSJim Jagielski case 16: rParent.SetVRulerRight(bSet); break;// "Window/IsVerticalRulerRight",
389*b1cdbd2cSJim Jagielski case 17: rParent.SetViewLayoutColumns( static_cast<sal_uInt16>(nInt32Val) ); break;// "ViewLayout/Columns",
390*b1cdbd2cSJim Jagielski case 18: rParent.SetViewLayoutBookMode(bSet); break;// "ViewLayout/BookMode",
391*b1cdbd2cSJim Jagielski case 19: rParent.SetDefaultPageMode(bSet,sal_True); break;// "Other/IsSquaredPageMode",
392*b1cdbd2cSJim Jagielski case 20: rParent.SetShowScrollBarTips(bSet); break;// "Window/ShowScrollBarTips",
393*b1cdbd2cSJim Jagielski }
394*b1cdbd2cSJim Jagielski }
395*b1cdbd2cSJim Jagielski }
396*b1cdbd2cSJim Jagielski }
397*b1cdbd2cSJim Jagielski }
398*b1cdbd2cSJim Jagielski
Notify(const::com::sun::star::uno::Sequence<rtl::OUString> &)399*b1cdbd2cSJim Jagielski void SwLayoutViewConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {}
400*b1cdbd2cSJim Jagielski
401*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
402*b1cdbd2cSJim Jagielski
403*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
GetPropertyNames()404*b1cdbd2cSJim Jagielski Sequence<OUString> SwGridConfig::GetPropertyNames()
405*b1cdbd2cSJim Jagielski {
406*b1cdbd2cSJim Jagielski static const char* aPropNames[] =
407*b1cdbd2cSJim Jagielski {
408*b1cdbd2cSJim Jagielski "Option/SnapToGrid", // 0
409*b1cdbd2cSJim Jagielski "Option/VisibleGrid", // 1
410*b1cdbd2cSJim Jagielski "Option/Synchronize", // 2
411*b1cdbd2cSJim Jagielski "Resolution/XAxis", // 3
412*b1cdbd2cSJim Jagielski "Resolution/YAxis", // 4
413*b1cdbd2cSJim Jagielski "Subdivision/XAxis", // 5
414*b1cdbd2cSJim Jagielski "Subdivision/YAxis" // 6
415*b1cdbd2cSJim Jagielski };
416*b1cdbd2cSJim Jagielski const int nCount = 7;
417*b1cdbd2cSJim Jagielski Sequence<OUString> aNames(nCount);
418*b1cdbd2cSJim Jagielski OUString* pNames = aNames.getArray();
419*b1cdbd2cSJim Jagielski for(int i = 0; i < nCount; i++)
420*b1cdbd2cSJim Jagielski {
421*b1cdbd2cSJim Jagielski pNames[i] = OUString::createFromAscii(aPropNames[i]);
422*b1cdbd2cSJim Jagielski }
423*b1cdbd2cSJim Jagielski return aNames;
424*b1cdbd2cSJim Jagielski }
425*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
426*b1cdbd2cSJim Jagielski
427*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
SwGridConfig(sal_Bool bIsWeb,SwMasterUsrPref & rPar)428*b1cdbd2cSJim Jagielski SwGridConfig::SwGridConfig(sal_Bool bIsWeb, SwMasterUsrPref& rPar) :
429*b1cdbd2cSJim Jagielski ConfigItem(bIsWeb ? C2U("Office.WriterWeb/Grid") : C2U("Office.Writer/Grid"),
430*b1cdbd2cSJim Jagielski CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE),
431*b1cdbd2cSJim Jagielski rParent(rPar),
432*b1cdbd2cSJim Jagielski bWeb(bIsWeb)
433*b1cdbd2cSJim Jagielski {
434*b1cdbd2cSJim Jagielski }
435*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
436*b1cdbd2cSJim Jagielski
437*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
~SwGridConfig()438*b1cdbd2cSJim Jagielski SwGridConfig::~SwGridConfig()
439*b1cdbd2cSJim Jagielski {
440*b1cdbd2cSJim Jagielski }
441*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
442*b1cdbd2cSJim Jagielski
443*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
Commit()444*b1cdbd2cSJim Jagielski void SwGridConfig::Commit()
445*b1cdbd2cSJim Jagielski {
446*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
447*b1cdbd2cSJim Jagielski
448*b1cdbd2cSJim Jagielski Sequence<Any> aValues(aNames.getLength());
449*b1cdbd2cSJim Jagielski Any* pValues = aValues.getArray();
450*b1cdbd2cSJim Jagielski
451*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
452*b1cdbd2cSJim Jagielski {
453*b1cdbd2cSJim Jagielski sal_Bool bSet;
454*b1cdbd2cSJim Jagielski switch(nProp)
455*b1cdbd2cSJim Jagielski {
456*b1cdbd2cSJim Jagielski case 0: bSet = rParent.IsSnap(); break;// "Option/SnapToGrid",
457*b1cdbd2cSJim Jagielski case 1: bSet = rParent.IsGridVisible(); break;//"Option/VisibleGrid",
458*b1cdbd2cSJim Jagielski case 2: bSet = rParent.IsSynchronize(); break;// "Option/Synchronize",
459*b1cdbd2cSJim Jagielski case 3: pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100(rParent.GetSnapSize().Width()); break;// "Resolution/XAxis",
460*b1cdbd2cSJim Jagielski case 4: pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100(rParent.GetSnapSize().Height()); break;// "Resolution/YAxis",
461*b1cdbd2cSJim Jagielski case 5: pValues[nProp] <<= (sal_Int16)rParent.GetDivisionX(); break;// "Subdivision/XAxis",
462*b1cdbd2cSJim Jagielski case 6: pValues[nProp] <<= (sal_Int16)rParent.GetDivisionY(); break;// "Subdivision/YAxis"
463*b1cdbd2cSJim Jagielski }
464*b1cdbd2cSJim Jagielski if(nProp < 3)
465*b1cdbd2cSJim Jagielski pValues[nProp].setValue(&bSet, ::getBooleanCppuType());
466*b1cdbd2cSJim Jagielski }
467*b1cdbd2cSJim Jagielski PutProperties(aNames, aValues);
468*b1cdbd2cSJim Jagielski }
469*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
470*b1cdbd2cSJim Jagielski
471*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
Load()472*b1cdbd2cSJim Jagielski void SwGridConfig::Load()
473*b1cdbd2cSJim Jagielski {
474*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
475*b1cdbd2cSJim Jagielski Sequence<Any> aValues = GetProperties(aNames);
476*b1cdbd2cSJim Jagielski const Any* pValues = aValues.getConstArray();
477*b1cdbd2cSJim Jagielski DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
478*b1cdbd2cSJim Jagielski if(aValues.getLength() == aNames.getLength())
479*b1cdbd2cSJim Jagielski {
480*b1cdbd2cSJim Jagielski Size aSnap(rParent.GetSnapSize());
481*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
482*b1cdbd2cSJim Jagielski {
483*b1cdbd2cSJim Jagielski if(pValues[nProp].hasValue())
484*b1cdbd2cSJim Jagielski {
485*b1cdbd2cSJim Jagielski sal_Bool bSet = nProp < 3 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
486*b1cdbd2cSJim Jagielski sal_Int32 nSet = 0;
487*b1cdbd2cSJim Jagielski if(nProp >= 3)
488*b1cdbd2cSJim Jagielski pValues[nProp] >>= nSet;
489*b1cdbd2cSJim Jagielski switch(nProp)
490*b1cdbd2cSJim Jagielski {
491*b1cdbd2cSJim Jagielski case 0: rParent.SetSnap(bSet); break;// "Option/SnapToGrid",
492*b1cdbd2cSJim Jagielski case 1: rParent.SetGridVisible(bSet); break;//"Option/VisibleGrid",
493*b1cdbd2cSJim Jagielski case 2: rParent.SetSynchronize(bSet); break;// "Option/Synchronize",
494*b1cdbd2cSJim Jagielski case 3: aSnap.Width() = MM100_TO_TWIP(nSet); break;// "Resolution/XAxis",
495*b1cdbd2cSJim Jagielski case 4: aSnap.Height() = MM100_TO_TWIP(nSet); break;// "Resolution/YAxis",
496*b1cdbd2cSJim Jagielski case 5: rParent.SetDivisionX((short)nSet); break;// "Subdivision/XAxis",
497*b1cdbd2cSJim Jagielski case 6: rParent.SetDivisionY((short)nSet); break;// "Subdivision/YAxis"
498*b1cdbd2cSJim Jagielski }
499*b1cdbd2cSJim Jagielski }
500*b1cdbd2cSJim Jagielski }
501*b1cdbd2cSJim Jagielski rParent.SetSnapSize(aSnap);
502*b1cdbd2cSJim Jagielski }
503*b1cdbd2cSJim Jagielski }
504*b1cdbd2cSJim Jagielski
Notify(const::com::sun::star::uno::Sequence<rtl::OUString> &)505*b1cdbd2cSJim Jagielski void SwGridConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {}
506*b1cdbd2cSJim Jagielski
507*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
508*b1cdbd2cSJim Jagielski
509*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
GetPropertyNames()510*b1cdbd2cSJim Jagielski Sequence<OUString> SwCursorConfig::GetPropertyNames()
511*b1cdbd2cSJim Jagielski {
512*b1cdbd2cSJim Jagielski static const char* aPropNames[] =
513*b1cdbd2cSJim Jagielski {
514*b1cdbd2cSJim Jagielski "DirectCursor/UseDirectCursor", // 0
515*b1cdbd2cSJim Jagielski "DirectCursor/Insert", // 1
516*b1cdbd2cSJim Jagielski "Option/ProtectedArea" // 2
517*b1cdbd2cSJim Jagielski };
518*b1cdbd2cSJim Jagielski const int nCount = 3;
519*b1cdbd2cSJim Jagielski Sequence<OUString> aNames(nCount);
520*b1cdbd2cSJim Jagielski OUString* pNames = aNames.getArray();
521*b1cdbd2cSJim Jagielski for(int i = 0; i < nCount; i++)
522*b1cdbd2cSJim Jagielski pNames[i] = C2U(aPropNames[i]);
523*b1cdbd2cSJim Jagielski return aNames;
524*b1cdbd2cSJim Jagielski }
525*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
526*b1cdbd2cSJim Jagielski
527*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
SwCursorConfig(SwMasterUsrPref & rPar)528*b1cdbd2cSJim Jagielski SwCursorConfig::SwCursorConfig(SwMasterUsrPref& rPar) :
529*b1cdbd2cSJim Jagielski ConfigItem(C2U("Office.Writer/Cursor"),
530*b1cdbd2cSJim Jagielski CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE),
531*b1cdbd2cSJim Jagielski rParent(rPar)
532*b1cdbd2cSJim Jagielski {
533*b1cdbd2cSJim Jagielski }
534*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
535*b1cdbd2cSJim Jagielski
536*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
~SwCursorConfig()537*b1cdbd2cSJim Jagielski SwCursorConfig::~SwCursorConfig()
538*b1cdbd2cSJim Jagielski {
539*b1cdbd2cSJim Jagielski }
540*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
541*b1cdbd2cSJim Jagielski
542*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
Commit()543*b1cdbd2cSJim Jagielski void SwCursorConfig::Commit()
544*b1cdbd2cSJim Jagielski {
545*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
546*b1cdbd2cSJim Jagielski
547*b1cdbd2cSJim Jagielski Sequence<Any> aValues(aNames.getLength());
548*b1cdbd2cSJim Jagielski Any* pValues = aValues.getArray();
549*b1cdbd2cSJim Jagielski
550*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
551*b1cdbd2cSJim Jagielski {
552*b1cdbd2cSJim Jagielski sal_Bool bSet;
553*b1cdbd2cSJim Jagielski switch(nProp)
554*b1cdbd2cSJim Jagielski {
555*b1cdbd2cSJim Jagielski case 0: bSet = rParent.IsShadowCursor(); break;// "DirectCursor/UseDirectCursor",
556*b1cdbd2cSJim Jagielski case 1: pValues[nProp] <<= (sal_Int32)rParent.GetShdwCrsrFillMode(); break;// "DirectCursor/Insert",
557*b1cdbd2cSJim Jagielski case 2: bSet = rParent.IsCursorInProtectedArea(); break;// "Option/ProtectedArea"
558*b1cdbd2cSJim Jagielski }
559*b1cdbd2cSJim Jagielski if(nProp != 1 )
560*b1cdbd2cSJim Jagielski pValues[nProp].setValue(&bSet, ::getBooleanCppuType());
561*b1cdbd2cSJim Jagielski }
562*b1cdbd2cSJim Jagielski PutProperties(aNames, aValues);
563*b1cdbd2cSJim Jagielski }
564*b1cdbd2cSJim Jagielski /* -----------------------------19.01.01 13:07--------------------------------
565*b1cdbd2cSJim Jagielski
566*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
Load()567*b1cdbd2cSJim Jagielski void SwCursorConfig::Load()
568*b1cdbd2cSJim Jagielski {
569*b1cdbd2cSJim Jagielski Sequence<OUString> aNames = GetPropertyNames();
570*b1cdbd2cSJim Jagielski Sequence<Any> aValues = GetProperties(aNames);
571*b1cdbd2cSJim Jagielski const Any* pValues = aValues.getConstArray();
572*b1cdbd2cSJim Jagielski DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
573*b1cdbd2cSJim Jagielski if(aValues.getLength() == aNames.getLength())
574*b1cdbd2cSJim Jagielski {
575*b1cdbd2cSJim Jagielski
576*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aNames.getLength(); nProp++)
577*b1cdbd2cSJim Jagielski {
578*b1cdbd2cSJim Jagielski if(pValues[nProp].hasValue())
579*b1cdbd2cSJim Jagielski {
580*b1cdbd2cSJim Jagielski sal_Bool bSet = sal_False;
581*b1cdbd2cSJim Jagielski sal_Int32 nSet = 0;
582*b1cdbd2cSJim Jagielski if(nProp != 1 )
583*b1cdbd2cSJim Jagielski bSet = *(sal_Bool*)pValues[nProp].getValue();
584*b1cdbd2cSJim Jagielski else
585*b1cdbd2cSJim Jagielski pValues[nProp] >>= nSet;
586*b1cdbd2cSJim Jagielski switch(nProp)
587*b1cdbd2cSJim Jagielski {
588*b1cdbd2cSJim Jagielski case 0: rParent.SetShadowCursor(bSet); break;// "DirectCursor/UseDirectCursor",
589*b1cdbd2cSJim Jagielski case 1: rParent.SetShdwCrsrFillMode((sal_uInt8)nSet); break;// "DirectCursor/Insert",
590*b1cdbd2cSJim Jagielski case 2: rParent.SetCursorInProtectedArea(bSet); break;// "Option/ProtectedArea"
591*b1cdbd2cSJim Jagielski }
592*b1cdbd2cSJim Jagielski }
593*b1cdbd2cSJim Jagielski }
594*b1cdbd2cSJim Jagielski
595*b1cdbd2cSJim Jagielski }
596*b1cdbd2cSJim Jagielski }
597*b1cdbd2cSJim Jagielski
Notify(const::com::sun::star::uno::Sequence<rtl::OUString> &)598*b1cdbd2cSJim Jagielski void SwCursorConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {}
599*b1cdbd2cSJim Jagielski
600*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
601*b1cdbd2cSJim Jagielski
602*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
SwWebColorConfig(SwMasterUsrPref & rPar)603*b1cdbd2cSJim Jagielski SwWebColorConfig::SwWebColorConfig(SwMasterUsrPref& rPar) :
604*b1cdbd2cSJim Jagielski ConfigItem(C2U("Office.WriterWeb/Background"),
605*b1cdbd2cSJim Jagielski CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE),
606*b1cdbd2cSJim Jagielski rParent(rPar),
607*b1cdbd2cSJim Jagielski aPropNames(1)
608*b1cdbd2cSJim Jagielski {
609*b1cdbd2cSJim Jagielski aPropNames.getArray()[0] = C2U("Color");
610*b1cdbd2cSJim Jagielski }
611*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
612*b1cdbd2cSJim Jagielski
613*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
~SwWebColorConfig()614*b1cdbd2cSJim Jagielski SwWebColorConfig::~SwWebColorConfig()
615*b1cdbd2cSJim Jagielski {
616*b1cdbd2cSJim Jagielski }
617*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:33---------------------------------------------------
618*b1cdbd2cSJim Jagielski
619*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Commit()620*b1cdbd2cSJim Jagielski void SwWebColorConfig::Commit()
621*b1cdbd2cSJim Jagielski {
622*b1cdbd2cSJim Jagielski Sequence<Any> aValues(aPropNames.getLength());
623*b1cdbd2cSJim Jagielski Any* pValues = aValues.getArray();
624*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aPropNames.getLength(); nProp++)
625*b1cdbd2cSJim Jagielski {
626*b1cdbd2cSJim Jagielski switch(nProp)
627*b1cdbd2cSJim Jagielski {
628*b1cdbd2cSJim Jagielski case 0: pValues[nProp] <<= (sal_Int32)rParent.GetRetoucheColor().GetColor(); break;// "Color",
629*b1cdbd2cSJim Jagielski }
630*b1cdbd2cSJim Jagielski }
631*b1cdbd2cSJim Jagielski PutProperties(aPropNames, aValues);
632*b1cdbd2cSJim Jagielski }
633*b1cdbd2cSJim Jagielski
Notify(const::com::sun::star::uno::Sequence<rtl::OUString> &)634*b1cdbd2cSJim Jagielski void SwWebColorConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {}
635*b1cdbd2cSJim Jagielski
636*b1cdbd2cSJim Jagielski /*-- 28.09.00 09:55:34---------------------------------------------------
637*b1cdbd2cSJim Jagielski
638*b1cdbd2cSJim Jagielski -----------------------------------------------------------------------*/
Load()639*b1cdbd2cSJim Jagielski void SwWebColorConfig::Load()
640*b1cdbd2cSJim Jagielski {
641*b1cdbd2cSJim Jagielski Sequence<Any> aValues = GetProperties(aPropNames);
642*b1cdbd2cSJim Jagielski const Any* pValues = aValues.getConstArray();
643*b1cdbd2cSJim Jagielski DBG_ASSERT(aValues.getLength() == aPropNames.getLength(), "GetProperties failed");
644*b1cdbd2cSJim Jagielski if(aValues.getLength() == aPropNames.getLength())
645*b1cdbd2cSJim Jagielski {
646*b1cdbd2cSJim Jagielski for(int nProp = 0; nProp < aPropNames.getLength(); nProp++)
647*b1cdbd2cSJim Jagielski {
648*b1cdbd2cSJim Jagielski if(pValues[nProp].hasValue())
649*b1cdbd2cSJim Jagielski {
650*b1cdbd2cSJim Jagielski switch(nProp)
651*b1cdbd2cSJim Jagielski {
652*b1cdbd2cSJim Jagielski case 0:
653*b1cdbd2cSJim Jagielski sal_Int32 nSet = 0;
654*b1cdbd2cSJim Jagielski pValues[nProp] >>= nSet; rParent.SetRetoucheColor(nSet);
655*b1cdbd2cSJim Jagielski break;// "Color",
656*b1cdbd2cSJim Jagielski }
657*b1cdbd2cSJim Jagielski }
658*b1cdbd2cSJim Jagielski }
659*b1cdbd2cSJim Jagielski }
660*b1cdbd2cSJim Jagielski }
661*b1cdbd2cSJim Jagielski
662*b1cdbd2cSJim Jagielski
663