1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: labimg.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_sw.hxx"
35 #include <tools/stream.hxx>
36 #ifndef _RESID_HXX //autogen
37 #include <tools/resid.hxx>
39 #include <com/sun/star/uno/Any.hxx>
40 #include <com/sun/star/uno/Sequence.hxx>
41 #include <svtools/useroptions.hxx>
42 #include <tools/shl.hxx>
43 #include <swmodule.hxx>
46 #include "swtypes.hxx"
51 using namespace ::com::sun::star::uno
;
54 // ----------------------------------------------------------------------------
55 SwLabItem::SwLabItem() :
57 SfxPoolItem(FN_LABEL
),
65 bAddr
= bCont
= bSynchron
= FALSE
;
70 lHeight
= 5669; // 10 cm
73 // ----------------------------------------------------------------------------
74 SwLabItem::SwLabItem(const SwLabItem
& rItem
) :
79 // ----------------------------------------------------------------------------
80 SwLabItem
& SwLabItem::operator =(const SwLabItem
& rItem
)
83 aWriting
= rItem
.aWriting
;
85 sDBName
= rItem
.sDBName
;
86 aLstMake
= rItem
.aLstMake
;
87 aLstType
= rItem
.aLstType
;
91 bSynchron
= rItem
.bSynchron
;
95 lHDist
= rItem
.lHDist
;
96 lVDist
= rItem
.lVDist
;
97 lWidth
= rItem
.lWidth
;
98 lHeight
= rItem
.lHeight
;
100 lUpper
= rItem
.lUpper
;
103 aPrivFirstName
= rItem
.aPrivFirstName
;
104 aPrivName
= rItem
.aPrivName
;
105 aPrivShortCut
= rItem
.aPrivShortCut
;
106 aPrivFirstName2
= rItem
.aPrivFirstName2
;
107 aPrivName2
= rItem
.aPrivName2
;
108 aPrivShortCut2
= rItem
.aPrivShortCut2
;
109 aPrivStreet
= rItem
.aPrivStreet
;
110 aPrivZip
= rItem
.aPrivZip
;
111 aPrivCity
= rItem
.aPrivCity
;
112 aPrivCountry
= rItem
.aPrivCountry
;
113 aPrivState
= rItem
.aPrivState
;
114 aPrivTitle
= rItem
.aPrivTitle
;
115 aPrivProfession
= rItem
.aPrivProfession
;
116 aPrivPhone
= rItem
.aPrivPhone
;
117 aPrivMobile
= rItem
.aPrivMobile
;
118 aPrivFax
= rItem
.aPrivFax
;
119 aPrivWWW
= rItem
.aPrivWWW
;
120 aPrivMail
= rItem
.aPrivMail
;
121 aCompCompany
= rItem
.aCompCompany
;
122 aCompCompanyExt
= rItem
.aCompCompanyExt
;
123 aCompSlogan
= rItem
.aCompSlogan
;
124 aCompStreet
= rItem
.aCompStreet
;
125 aCompZip
= rItem
.aCompZip
;
126 aCompCity
= rItem
.aCompCity
;
127 aCompCountry
= rItem
.aCompCountry
;
128 aCompState
= rItem
.aCompState
;
129 aCompPosition
= rItem
.aCompPosition
;
130 aCompPhone
= rItem
.aCompPhone
;
131 aCompMobile
= rItem
.aCompMobile
;
132 aCompFax
= rItem
.aCompFax
;
133 aCompWWW
= rItem
.aCompWWW
;
134 aCompMail
= rItem
.aCompMail
;
135 sGlossaryGroup
= rItem
.sGlossaryGroup
;
136 sGlossaryBlockName
= rItem
.sGlossaryBlockName
;
140 // --------------------------------------------------------------------------
144 int SwLabItem::operator ==(const SfxPoolItem
& rItem
) const
146 const SwLabItem
& rLab
= (const SwLabItem
&) rItem
;
148 return bAddr
== rLab
.bAddr
&&
149 bCont
== rLab
.bCont
&&
150 bPage
== rLab
.bPage
&&
151 bSynchron
== rLab
.bSynchron
&&
155 lHDist
== rLab
.lHDist
&&
156 lVDist
== rLab
.lVDist
&&
157 lWidth
== rLab
.lWidth
&&
158 lHeight
== rLab
.lHeight
&&
159 lLeft
== rLab
.lLeft
&&
160 lUpper
== rLab
.lUpper
&&
161 nCols
== rLab
.nCols
&&
162 nRows
== rLab
.nRows
&&
163 aWriting
== rLab
.aWriting
&&
164 aMake
== rLab
.aMake
&&
165 aType
== rLab
.aType
&&
166 aLstMake
== rLab
.aLstMake
&&
167 aLstType
== rLab
.aLstType
&&
168 sDBName
== rLab
.sDBName
&&
169 aPrivFirstName
== rLab
.aPrivFirstName
&&
170 aPrivName
== rLab
.aPrivName
&&
171 aPrivShortCut
== rLab
.aPrivShortCut
&&
172 aPrivFirstName2
== rLab
.aPrivFirstName2
&&
173 aPrivName2
== rLab
.aPrivName2
&&
174 aPrivShortCut2
== rLab
.aPrivShortCut2
&&
175 aPrivStreet
== rLab
.aPrivStreet
&&
176 aPrivZip
== rLab
.aPrivZip
&&
177 aPrivCity
== rLab
.aPrivCity
&&
178 aPrivCountry
== rLab
.aPrivCountry
&&
179 aPrivState
== rLab
.aPrivState
&&
180 aPrivTitle
== rLab
.aPrivTitle
&&
181 aPrivProfession
== rLab
.aPrivProfession
&&
182 aPrivPhone
== rLab
.aPrivPhone
&&
183 aPrivMobile
== rLab
.aPrivMobile
&&
184 aPrivFax
== rLab
.aPrivFax
&&
185 aPrivWWW
== rLab
.aPrivWWW
&&
186 aPrivMail
== rLab
.aPrivMail
&&
187 aCompCompany
== rLab
.aCompCompany
&&
188 aCompCompanyExt
== rLab
.aCompCompanyExt
&&
189 aCompSlogan
== rLab
.aCompSlogan
&&
190 aCompStreet
== rLab
.aCompStreet
&&
191 aCompZip
== rLab
.aCompZip
&&
192 aCompCity
== rLab
.aCompCity
&&
193 aCompCountry
== rLab
.aCompCountry
&&
194 aCompState
== rLab
.aCompState
&&
195 aCompPosition
== rLab
.aCompPosition
&&
196 aCompPhone
== rLab
.aCompPhone
&&
197 aCompMobile
== rLab
.aCompMobile
&&
198 aCompFax
== rLab
.aCompFax
&&
199 aCompWWW
== rLab
.aCompWWW
&&
200 aCompMail
== rLab
.aCompMail
&&
201 sGlossaryGroup
== rLab
.sGlossaryGroup
&&
202 sGlossaryBlockName
== rLab
.sGlossaryBlockName
;
205 // --------------------------------------------------------------------------
206 SfxPoolItem
* SwLabItem::Clone(SfxItemPool
*) const
208 return new SwLabItem(*this);
211 /* -----------------------------25.09.00 16:25--------------------------------
213 ---------------------------------------------------------------------------*/
214 Sequence
<rtl::OUString
> SwLabCfgItem::GetPropertyNames()
216 static const char* aLabelPropNames
[] =
218 "Medium/Continous", // 0
221 "Format/Column", // 3
223 "Format/HorizontalDistance",// 5
224 "Format/VerticalDistance", // 6
226 "Format/Height", // 8
227 "Format/LeftMargin", // 9
228 "Format/TopMargin", //10
229 "Option/Synchronize", //11
231 "Option/Column", //13
233 "Inscription/UseAddress", //15
234 "Inscription/Address", //16
235 "Inscription/Database" //17
237 static const char* aBusinessPropNames
[] =
239 "PrivateAddress/FirstName", // 0
240 "PrivateAddress/Name", // 1
241 "PrivateAddress/ShortCut", // 2
242 "PrivateAddress/SecondFirstName", // 3
243 "PrivateAddress/SecondName", // 4
244 "PrivateAddress/SecondShortCut", // 5
245 "PrivateAddress/Street", // 6
246 "PrivateAddress/Zip", // 7
247 "PrivateAddress/City", // 8
248 "PrivateAddress/Country", // 9
249 "PrivateAddress/State", // 10
250 "PrivateAddress/Title", // 11
251 "PrivateAddress/Profession", // 12
252 "PrivateAddress/Phone", // 13
253 "PrivateAddress/Mobile", // 14
254 "PrivateAddress/Fax", // 15
255 "PrivateAddress/WebAddress", // 16
256 "PrivateAddress/Email", // 17
257 "BusinessAddress/Company", // 18
258 "BusinessAddress/CompanyExt", // 19
259 "BusinessAddress/Slogan", // 20
260 "BusinessAddress/Street", // 21
261 "BusinessAddress/Zip", // 22
262 "BusinessAddress/City", // 23
263 "BusinessAddress/Country", // 24
264 "BusinessAddress/State", // 25
265 "BusinessAddress/Position", // 26
266 "BusinessAddress/Phone", // 27
267 "BusinessAddress/Mobile", // 28
268 "BusinessAddress/Fax", // 29
269 "BusinessAddress/WebAddress", // 30
270 "BusinessAddress/Email", // 31
271 "AutoText/Group", // 32
272 "AutoText/Block" // 33
274 const int nBusinessCount
= bIsLabel
? 0 : 34;
275 const int nLabelCount
= bIsLabel
? 18 : 15;
276 Sequence
<OUString
> aNames(nBusinessCount
+ nLabelCount
);
277 OUString
* pNames
= aNames
.getArray();
279 for(int nLabel
= 0; nLabel
< nLabelCount
; nLabel
++)
280 pNames
[nIndex
++] = OUString::createFromAscii(aLabelPropNames
[nLabel
]);
281 for(int nBusiness
= 0; nBusiness
< nBusinessCount
; nBusiness
++)
282 pNames
[nIndex
++] = OUString::createFromAscii(aBusinessPropNames
[nBusiness
]);
285 /* ----------------------------------------------------------------------------
287 ---------------------------------------------------------------------------*/
288 SwLabCfgItem::SwLabCfgItem(sal_Bool bLabel
) :
289 ConfigItem(bLabel
? C2U("Office.Writer/Label") : C2U("Office.Writer/BusinessCard")),
292 Sequence
<OUString
> aNames
= GetPropertyNames();
293 Sequence
<Any
> aValues
= GetProperties(aNames
);
294 EnableNotification(aNames
);
295 const Any
* pValues
= aValues
.getConstArray();
296 DBG_ASSERT(aValues
.getLength() == aNames
.getLength(), "GetProperties failed");
297 sal_Bool bNoConfigValues
= sal_True
;
298 if(aValues
.getLength() == aNames
.getLength())
300 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
303 if(pValues
[nProp
].hasValue())
305 //to have a contiuous switch an offset is added
306 if(nProp
== 15 && !bIsLabel
)
309 bNoConfigValues
= sal_False
;
312 case 0: aItem
.bCont
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Medium/Continous",
313 case 1: pValues
[nProp
] >>= aItem
.aMake
; break;// "Medium/Brand",
314 case 2: pValues
[nProp
] >>= aItem
.aType
; break;// "Medium/Type",
315 case 3: pValues
[nProp
] >>= aItem
.nCols
; break;// "Format/Column",
316 case 4: pValues
[nProp
] >>= aItem
.nRows
; break;// "Format/Row",
318 pValues
[nProp
] >>= aItem
.lHDist
;
319 aItem
.lHDist
= MM100_TO_TWIP(aItem
.lHDist
);
320 break;// "Format/HorizontalDistance",
322 pValues
[nProp
] >>= aItem
.lVDist
;
323 aItem
.lVDist
= MM100_TO_TWIP(aItem
.lVDist
);
324 break;// "Format/VerticalDistance",
326 pValues
[nProp
] >>= aItem
.lWidth
;
327 aItem
.lWidth
= MM100_TO_TWIP(aItem
.lWidth
);
328 break;// "Format/Width",
330 pValues
[nProp
] >>= aItem
.lHeight
;
331 aItem
.lHeight
= MM100_TO_TWIP(aItem
.lHeight
);
332 break;// "Format/Height",
334 pValues
[nProp
] >>= aItem
.lLeft
;
335 aItem
.lLeft
= MM100_TO_TWIP(aItem
.lLeft
);
336 break;// "Format/LeftMargin",
338 pValues
[nProp
] >>= aItem
.lUpper
;
339 aItem
.lUpper
= MM100_TO_TWIP(aItem
.lUpper
);
340 break;// "Format/TopMargin",
341 case 11: aItem
.bSynchron
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Option/Synchronize",
342 case 12: aItem
.bPage
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Option/Page",
343 case 13: pValues
[nProp
] >>= aItem
.nCol
; break;// "Option/Column",
344 case 14: pValues
[nProp
] >>= aItem
.nRow
; break;// "Option/Row"
345 case 15: aItem
.bAddr
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Inscription/UseAddress",
346 case 16: pValues
[nProp
] >>= aItem
.aWriting
; break;// "Inscription/Address",
347 case 17: pValues
[nProp
] >>= aItem
.sDBName
; break;// "Inscription/Database"
348 case 18: pValues
[nProp
] >>= aItem
.aPrivFirstName
; break;// "PrivateAddress/FirstName",
349 case 19: pValues
[nProp
] >>= aItem
.aPrivName
; break;// "PrivateAddress/Name",
350 case 20: pValues
[nProp
] >>= aItem
.aPrivShortCut
; break;// "PrivateAddress/ShortCut",
351 case 21: pValues
[nProp
] >>= aItem
.aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
352 case 22: pValues
[nProp
] >>= aItem
.aPrivName2
; break;// "PrivateAddress/SecondName",
353 case 23: pValues
[nProp
] >>= aItem
.aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
354 case 24: pValues
[nProp
] >>= aItem
.aPrivStreet
; break;// "PrivateAddress/Street",
355 case 25: pValues
[nProp
] >>= aItem
.aPrivZip
; break;// "PrivateAddress/Zip",
356 case 26: pValues
[nProp
] >>= aItem
.aPrivCity
; break;// "PrivateAddress/City",
357 case 27: pValues
[nProp
] >>= aItem
.aPrivCountry
; break;// "PrivateAddress/Country",
358 case 28: pValues
[nProp
] >>= aItem
.aPrivState
; break;// "PrivateAddress/State",
359 case 29: pValues
[nProp
] >>= aItem
.aPrivTitle
; break;// "PrivateAddress/Title",
360 case 30: pValues
[nProp
] >>= aItem
.aPrivProfession
; break;// "PrivateAddress/Profession",
361 case 31: pValues
[nProp
] >>= aItem
.aPrivPhone
; break;// "PrivateAddress/Phone",
362 case 32: pValues
[nProp
] >>= aItem
.aPrivMobile
; break;// "PrivateAddress/Mobile",
363 case 33: pValues
[nProp
] >>= aItem
.aPrivFax
; break;// "PrivateAddress/Fax",
364 case 34: pValues
[nProp
] >>= aItem
.aPrivWWW
; break;// "PrivateAddress/WebAddress",
365 case 35: pValues
[nProp
] >>= aItem
.aPrivMail
; break;// "PrivateAddress/Email",
366 case 36: pValues
[nProp
] >>= aItem
.aCompCompany
; break;// "BusinessAddress/Company",
367 case 37: pValues
[nProp
] >>= aItem
.aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
368 case 38: pValues
[nProp
] >>= aItem
.aCompSlogan
; break;// "BusinessAddress/Slogan",
369 case 39: pValues
[nProp
] >>= aItem
.aCompStreet
; break;// "BusinessAddress/Street",
370 case 40: pValues
[nProp
] >>= aItem
.aCompZip
; break;// "BusinessAddress/Zip",
371 case 41: pValues
[nProp
] >>= aItem
.aCompCity
; break;// "BusinessAddress/City",
372 case 42: pValues
[nProp
] >>= aItem
.aCompCountry
; break;// "BusinessAddress/Country",
373 case 43: pValues
[nProp
] >>= aItem
.aCompState
; break;// "BusinessAddress/State",
374 case 44: pValues
[nProp
] >>= aItem
.aCompPosition
; break;// "BusinessAddress/Position",
375 case 45: pValues
[nProp
] >>= aItem
.aCompPhone
; break;// "BusinessAddress/Phone",
376 case 46: pValues
[nProp
] >>= aItem
.aCompMobile
; break;// "BusinessAddress/Mobile",
377 case 47: pValues
[nProp
] >>= aItem
.aCompFax
; break;// "BusinessAddress/Fax",
378 case 48: pValues
[nProp
] >>= aItem
.aCompWWW
; break;// "BusinessAddress/WebAddress",
379 case 49: pValues
[nProp
] >>= aItem
.aCompMail
; break;// "BusinessAddress/Email",
380 case 50: pValues
[nProp
] >>= aItem
.sGlossaryGroup
; break;// "AutoText/Group"
381 case 51: pValues
[nProp
] >>= aItem
.sGlossaryBlockName
; break;// "AutoText/Block"
386 if(!bIsLabel
&& bNoConfigValues
)
389 SvtUserOptions
& rUserOpt
= SW_MOD()->GetUserOptions();
390 aItem
.aPrivFirstName
= rUserOpt
.GetFirstName();
391 aItem
.aPrivName
= rUserOpt
.GetLastName();
392 aItem
.aPrivShortCut
= rUserOpt
.GetID();
393 aItem
.aCompCompany
= rUserOpt
.GetCompany();
394 aItem
.aCompStreet
= aItem
.aPrivStreet
= rUserOpt
.GetStreet();
396 aItem
.aCompCountry
= aItem
.aPrivCountry
= rUserOpt
.GetCountry();
397 aItem
.aCompZip
= aItem
.aPrivZip
= rUserOpt
.GetZip();
398 aItem
.aCompCity
= aItem
.aPrivCity
= rUserOpt
.GetCity();
399 aItem
.aPrivTitle
= rUserOpt
.GetTitle();
400 aItem
.aCompPosition
= rUserOpt
.GetPosition();
401 aItem
.aPrivPhone
= rUserOpt
.GetTelephoneHome();
402 aItem
.aCompPhone
= rUserOpt
.GetTelephoneWork();
403 aItem
.aCompFax
= aItem
.aPrivFax
= rUserOpt
.GetFax();
404 aItem
.aCompMail
= aItem
.aPrivMail
= rUserOpt
.GetEmail();
405 aItem
.aCompState
= aItem
.aPrivState
= rUserOpt
.GetState();
406 aItem
.bSynchron
= TRUE
;
410 /* -----------------------------25.09.00 16:26--------------------------------
412 ---------------------------------------------------------------------------*/
413 void SwLabCfgItem::Commit()
415 Sequence
<OUString
> aNames
= GetPropertyNames();
416 Sequence
<Any
> aValues(aNames
.getLength());
417 Any
* pValues
= aValues
.getArray();
419 const Type
& rType
= ::getBooleanCppuType();
420 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
422 //to have a contiuous switch an offset is added
423 if(nProp
== 15 && !bIsLabel
)
427 case 0: pValues
[nProp
].setValue(&aItem
.bCont
, rType
); break;// "Medium/Continous",
428 case 1: pValues
[nProp
] <<= aItem
.aMake
; break;// "Medium/Brand",
429 case 2: pValues
[nProp
] <<= aItem
.aType
; break;// "Medium/Type",
430 case 3: pValues
[nProp
] <<= aItem
.nCols
; break;// "Format/Column",
431 case 4: pValues
[nProp
] <<= aItem
.nRows
; break;// "Format/Row",
432 case 5: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lHDist
));break;// "Format/HorizontalDistance",
433 case 6: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lVDist
));break;// "Format/VerticalDistance",
434 case 7: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lWidth
)); break;// "Format/Width",
435 case 8: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lHeight
)); break;// "Format/Height",
436 case 9: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lLeft
)); break;// "Format/LeftMargin",
437 case 10: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lUpper
)); break;// "Format/TopMargin",
438 case 11: pValues
[nProp
].setValue(&aItem
.bSynchron
, rType
); break;// "Option/Synchronize",
439 case 12: pValues
[nProp
].setValue(&aItem
.bPage
, rType
); break;// "Option/Page",
440 case 13: pValues
[nProp
] <<= aItem
.nCol
; break;// "Option/Column",
441 case 14: pValues
[nProp
] <<= aItem
.nRow
; break;// "Option/Row"
442 case 15: pValues
[nProp
].setValue(&aItem
.bAddr
, rType
); break;// "Inscription/UseAddress",
443 case 16: pValues
[nProp
] <<= aItem
.aWriting
; break;// "Inscription/Address",
444 case 17: pValues
[nProp
] <<= aItem
.sDBName
; break;// "Inscription/Database"
445 case 18: pValues
[nProp
] <<= aItem
.aPrivFirstName
; break;// "PrivateAddress/FirstName",
446 case 19: pValues
[nProp
] <<= aItem
.aPrivName
; break;// "PrivateAddress/Name",
447 case 20: pValues
[nProp
] <<= aItem
.aPrivShortCut
; break;// "PrivateAddress/ShortCut",
448 case 21: pValues
[nProp
] <<= aItem
.aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
449 case 22: pValues
[nProp
] <<= aItem
.aPrivName2
; break;// "PrivateAddress/SecondName",
450 case 23: pValues
[nProp
] <<= aItem
.aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
451 case 24: pValues
[nProp
] <<= aItem
.aPrivStreet
; break;// "PrivateAddress/Street",
452 case 25: pValues
[nProp
] <<= aItem
.aPrivZip
; break;// "PrivateAddress/Zip",
453 case 26: pValues
[nProp
] <<= aItem
.aPrivCity
; break;// "PrivateAddress/City",
454 case 27: pValues
[nProp
] <<= aItem
.aPrivCountry
; break;// "PrivateAddress/Country",
455 case 28: pValues
[nProp
] <<= aItem
.aPrivState
; break;// "PrivateAddress/State",
456 case 29: pValues
[nProp
] <<= aItem
.aPrivTitle
; break;// "PrivateAddress/Title",
457 case 30: pValues
[nProp
] <<= aItem
.aPrivProfession
; break;// "PrivateAddress/Profession",
458 case 31: pValues
[nProp
] <<= aItem
.aPrivPhone
; break;// "PrivateAddress/Phone",
459 case 32: pValues
[nProp
] <<= aItem
.aPrivMobile
; break;// "PrivateAddress/Mobile",
460 case 33: pValues
[nProp
] <<= aItem
.aPrivFax
; break;// "PrivateAddress/Fax",
461 case 34: pValues
[nProp
] <<= aItem
.aPrivWWW
; break;// "PrivateAddress/WebAddress",
462 case 35: pValues
[nProp
] <<= aItem
.aPrivMail
; break;// "PrivateAddress/Email",
463 case 36: pValues
[nProp
] <<= aItem
.aCompCompany
; break;// "BusinessAddress/Company",
464 case 37: pValues
[nProp
] <<= aItem
.aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
465 case 38: pValues
[nProp
] <<= aItem
.aCompSlogan
; break;// "BusinessAddress/Slogan",
466 case 39: pValues
[nProp
] <<= aItem
.aCompStreet
; break;// "BusinessAddress/Street",
467 case 40: pValues
[nProp
] <<= aItem
.aCompZip
; break;// "BusinessAddress/Zip",
468 case 41: pValues
[nProp
] <<= aItem
.aCompCity
; break;// "BusinessAddress/City",
469 case 42: pValues
[nProp
] <<= aItem
.aCompCountry
; break;// "BusinessAddress/Country",
470 case 43: pValues
[nProp
] <<= aItem
.aCompState
; break;// "BusinessAddress/State",
471 case 44: pValues
[nProp
] <<= aItem
.aCompPosition
; break;// "BusinessAddress/Position",
472 case 45: pValues
[nProp
] <<= aItem
.aCompPhone
; break;// "BusinessAddress/Phone",
473 case 46: pValues
[nProp
] <<= aItem
.aCompMobile
; break;// "BusinessAddress/Mobile",
474 case 47: pValues
[nProp
] <<= aItem
.aCompFax
; break;// "BusinessAddress/Fax",
475 case 48: pValues
[nProp
] <<= aItem
.aCompWWW
; break;// "BusinessAddress/WebAddress",
476 case 49: pValues
[nProp
] <<= aItem
.aCompMail
; break;// "BusinessAddress/Email",
477 case 50: pValues
[nProp
] <<= aItem
.sGlossaryGroup
; break;// "AutoText/Group"
478 case 51: pValues
[nProp
] <<= aItem
.sGlossaryBlockName
; break;// "AutoText/Block"
481 PutProperties(aNames
, aValues
);