xref: /aoo42x/main/sw/source/ui/envelp/label1.cxx (revision 56fad454)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_sw.hxx"
26 #ifdef SW_DLLIMPLEMENTATION
27 #undef SW_DLLIMPLEMENTATION
28 #endif
29 
30 
31 #include <vcl/waitobj.hxx>
32 #include <rtl/ustring.hxx>
33 #include <com/sun/star/uno/Sequence.h>
34 #include <swtypes.hxx>
35 #include <wrtsh.hxx>
36 #include <initui.hxx>
37 #include <labimp.hxx>
38 #include <labfmt.hxx>
39 #include <labprt.hxx>
40 #include <unotools.hxx>
41 #ifndef _DBMGR_HXX
42 #include <dbmgr.hxx>
43 #endif
44 #include "uitool.hxx"
45 #ifndef _CMDID_H
46 #include <cmdid.h>
47 #endif
48 #ifndef _HELPID_H
49 #include <helpid.h>
50 #endif
51 #ifndef _GLOBALS_HRC
52 #include <globals.hrc>
53 #endif
54 #ifndef _LABEL_HRC
55 #include <label.hrc>
56 #endif
57 
58 //impl in envimg.cxx
59 extern SW_DLLPUBLIC String MakeSender();
60 
61 
62 SV_IMPL_PTRARR( SwLabRecs, SwLabRec* );
63 
SetFromItem(const SwLabItem & rItem)64 void SwLabRec::SetFromItem( const SwLabItem& rItem )
65 {
66 	lHDist  = rItem.lHDist;
67 	lVDist  = rItem.lVDist;
68 	lWidth  = rItem.lWidth;
69 	lHeight = rItem.lHeight;
70 	lLeft   = rItem.lLeft;
71 	lUpper  = rItem.lUpper;
72 	nCols   = rItem.nCols;
73 	nRows   = rItem.nRows;
74 	lPaperWidth  = rItem.lPaperWidth;
75 	lPaperHeight = rItem.lPaperHeight;
76 	bCont   = rItem.bCont;
77 }
78 
FillItem(SwLabItem & rItem) const79 void SwLabRec::FillItem( SwLabItem& rItem ) const
80 {
81 	rItem.lHDist  = lHDist;
82 	rItem.lVDist  = lVDist;
83 	rItem.lWidth  = lWidth;
84 	rItem.lHeight = lHeight;
85 	rItem.lLeft   = lLeft;
86 	rItem.lUpper  = lUpper;
87 	rItem.nCols   = nCols;
88 	rItem.nRows   = nRows;
89 	rItem.lPaperWidth  = lPaperWidth;
90 	rItem.lPaperHeight = lPaperHeight;
91 }
92 
93 // --------------------------------------------------------------------------
_ReplaceGroup(const String & rMake)94 void SwLabDlg::_ReplaceGroup( const String &rMake )
95 {
96 	//Die alten Eintraege vernichten.
97 	pRecs->Remove( 1, pRecs->Count() - 1 );
98 	aLabelsCfg.FillLabels(rtl::OUString(rMake), *pRecs);
99 	aLstGroup = rMake;
100 }
101 
102 // --------------------------------------------------------------------------
103 
104 
105 
PageCreated(sal_uInt16 nId,SfxTabPage & rPage)106 void SwLabDlg::PageCreated(sal_uInt16 nId, SfxTabPage &rPage)
107 {
108 	if (nId == TP_LAB_LAB)
109 	{
110 		if(m_bLabel)
111 		{
112 			((SwLabPage*)&rPage)->SetNewDBMgr(pNewDBMgr);
113 			((SwLabPage*)&rPage)->InitDatabaseBox();
114 		}
115 		else
116 			((SwLabPage*)&rPage)->SetToBusinessCard();
117 	}
118 	else if (nId == TP_LAB_PRT)
119 		pPrtPage = (SwLabPrtPage*)&rPage;
120 }
121 
122 // --------------------------------------------------------------------------
123 
124 
125 
SwLabDlg(Window * pParent,const SfxItemSet & rSet,SwNewDBMgr * pDBMgr,sal_Bool bLabel)126 SwLabDlg::SwLabDlg(Window* pParent, const SfxItemSet& rSet,
127 								SwNewDBMgr* pDBMgr, sal_Bool bLabel) :
128 	SfxTabDialog( pParent, SW_RES(DLG_LAB), &rSet, sal_False ),
129     pNewDBMgr(pDBMgr),
130     pPrtPage(0),
131 
132     aTypeIds( 50, 10 ),
133     aMakes  (  5,  0 ),
134 
135     pRecs   ( new SwLabRecs() ),
136     sBusinessCardDlg(SW_RES(ST_BUSINESSCARDDLG)),
137     sFormat(SW_RES(ST_FIRSTPAGE_LAB)),
138     sMedium(SW_RES(ST_FIRSTPAGE_BC)),
139 	m_bLabel(bLabel)
140 {
141 	WaitObject aWait( pParent );
142 
143 	FreeResource();
144 
145 	GetOKButton().SetText(String(SW_RES(STR_BTN_NEW_DOC)));
146 	GetOKButton().SetHelpId(HID_LABEL_INSERT);
147 	GetOKButton().SetHelpText(aEmptyStr);	// Damit generierter Hilfetext verwendet wird
148 
149 	AddTabPage(TP_LAB_LAB, m_bLabel ? sFormat : sMedium ,SwLabPage   ::Create, 0, sal_False, 0);
150 	AddTabPage(TP_VISITING_CARDS, SwVisitingCardPage::Create, 0);
151 	AddTabPage(TP_LAB_FMT, SwLabFmtPage::Create, 0);
152 	AddTabPage(TP_LAB_PRT, SwLabPrtPage::Create, 0);
153 	AddTabPage(TP_BUSINESS_DATA, SwBusinessDataPage::Create, 0 );
154 	AddTabPage(TP_PRIVATE_DATA, SwPrivateDataPage::Create, 0);
155 
156 
157 	if(m_bLabel)
158 	{
159 		RemoveTabPage(TP_BUSINESS_DATA);
160 		RemoveTabPage(TP_PRIVATE_DATA);
161 		RemoveTabPage(TP_VISITING_CARDS);
162 	}
163 	else
164 	{
165 		SetText(sBusinessCardDlg);
166 	}
167 	// Benutzer-Etikette aus writer.cfg lesen
168 	SwLabItem aItem((const SwLabItem&)rSet.Get( FN_LABEL ));
169 	SwLabRec* pRec = new SwLabRec;
170 	const String aTmp( SW_RES( STR_CUSTOM ) );
171 	pRec->aMake   = pRec->aType = aTmp;
172 	pRec->SetFromItem( aItem );
173 
174 	sal_Bool bDouble = sal_False;
175 
176 	for (sal_uInt16 nRecPos = 0; nRecPos < pRecs->Count(); nRecPos++)
177 	{
178 		if (pRec->aMake == pRecs->GetObject(nRecPos)->aMake &&
179 			pRec->aType == pRecs->GetObject(nRecPos)->aType)
180 		{
181 			bDouble = sal_True;
182 			break;
183 		}
184 	}
185 
186 	if (!bDouble)
187 		pRecs->C40_INSERT( SwLabRec, pRec, 0 );
188 	else
189 		delete pRec;
190 
191 	sal_uInt16 nLstGroup = 0;
192 	const UNO_NMSPC::Sequence<rtl::OUString>& rMan = aLabelsCfg.GetManufacturers();
193 	const rtl::OUString* pMan = rMan.getConstArray();
194 	for(sal_Int32 nMan = 0; nMan < rMan.getLength(); nMan++)
195 	{
196 		aMakes.Insert( new String(pMan[nMan]), aMakes.Count() );
197 		if ( pMan[nMan] == aItem.aLstMake )
198 			nLstGroup = (sal_uInt16) nMan;
199 	}
200 
201 	if ( aMakes.Count() )
202         _ReplaceGroup( *aMakes[nLstGroup] );
203 	if (pExampleSet)
204 		pExampleSet->Put(aItem);
205 }
206 
207 // --------------------------------------------------------------------------
208 
~SwLabDlg()209 SwLabDlg::~SwLabDlg()
210 {
211 	delete pRecs;
212 }
213 // --------------------------------------------------------------------------
214 
GetLabItem(SwLabItem & rItem)215 void SwLabDlg::GetLabItem(SwLabItem &rItem)
216 {
217 	const SwLabItem& rActItem = (const SwLabItem&)GetExampleSet()->Get(FN_LABEL);
218 	const SwLabItem& rOldItem = (const SwLabItem&)GetInputSetImpl()->Get(FN_LABEL);
219 
220 	if (rActItem != rOldItem)
221 	{	// Wurde schon mal mit (hoffentlich) korrektem Inhalt "geputtet"
222 		rItem = rActItem;
223 	}
224 	else
225 	{
226 		rItem = rOldItem;
227 
228 		// Im rItem stehen (vom Namen mal abgesehen) immer nur die
229 		// benutzerdefinierbaren Einstellungen. Daher richtige Werte
230 		// direkt aus dem Record besorgen:
231 		SwLabRec* pRec = GetRecord(rItem.aType, rItem.bCont);
232 		pRec->FillItem( rItem );
233 	}
234 }
235 
236 // --------------------------------------------------------------------------
237 
GetRecord(const String & rRecName,sal_Bool bCont)238 SwLabRec* SwLabDlg::GetRecord(const String &rRecName, sal_Bool bCont)
239 {
240 	SwLabRec* pRec = NULL;
241 	sal_Bool bFound = sal_False;
242 	String sCustom(SW_RES(STR_CUSTOM));
243 
244 	const sal_uInt16 nCount = Recs().Count();
245 	for (sal_uInt16 i = 0; i < nCount; i++)
246 	{
247 		pRec = Recs()[i];
248 		if (pRec->aType != sCustom &&
249 			rRecName == pRec->aType && bCont == pRec->bCont)
250 		{
251 			bFound = sal_True;
252 			break;
253 		}
254 	}
255 	if (!bFound)	// Benutzerdefiniert
256 		pRec = Recs()[0];
257 
258 	return(pRec);
259 }
260 
261 // --------------------------------------------------------------------------
262 
GetPrt()263 Printer *SwLabDlg::GetPrt()
264 {
265 	if (pPrtPage)
266 		return (pPrtPage->GetPrt());
267 	else
268 		return (NULL);
269 }
270 
271 // --------------------------------------------------------------------------
SwLabPage(Window * pParent,const SfxItemSet & rSet)272 SwLabPage::SwLabPage(Window* pParent, const SfxItemSet& rSet) :
273 	SfxTabPage(pParent, SW_RES(TP_LAB_LAB), rSet),
274 	pNewDBMgr(NULL),
275 	aItem		   ((const SwLabItem&) rSet.Get(FN_LABEL)),
276 
277     aWritingFL     (this, SW_RES(FL_WRITING)),
278 	aWritingText   (this, SW_RES(TXT_WRITING)),
279 	aAddrBox	   (this, SW_RES(BOX_ADDR   )),
280 	aWritingEdit   (this, SW_RES(EDT_WRITING)),
281 	aDatabaseFT    (this, SW_RES(FT_DATABASE)),
282 	aDatabaseLB    (this, SW_RES(LB_DATABASE)),
283 	aTableFT       (this, SW_RES(FT_TABLE   )),
284 	aTableLB       (this, SW_RES(LB_TABLE   )),
285 	aInsertBT      (this, SW_RES(BTN_INSERT )),
286 	aDBFieldFT     (this, SW_RES(FT_DBFIELD )),
287 	aDBFieldLB     (this, SW_RES(LB_DBFIELD )),
288 	aFormatFL      (this, SW_RES(FL_FORMAT )),
289     aContButton    (this, SW_RES(BTN_CONT   )),
290 	aSheetButton   (this, SW_RES(BTN_SHEET  )),
291 	aMakeText	   (this, SW_RES(TXT_MAKE   )),
292 	aMakeBox	   (this, SW_RES(BOX_MAKE   )),
293 	aTypeText	   (this, SW_RES(TXT_TYPE   )),
294 	aTypeBox	   (this, SW_RES(BOX_TYPE   )),
295     aHiddenSortTypeBox(this, WB_SORT|WB_HIDE),
296 	aFormatInfo    (this, SW_RES(INF_FORMAT ))
297    {
298 	WaitObject aWait( pParent );
299 
300 	FreeResource();
301 	SetExchangeSupport();
302 
303 
304 	// Handler installieren
305 	aAddrBox	   .SetClickHdl (LINK(this, SwLabPage, AddrHdl		   ));
306 	aDatabaseLB    .SetSelectHdl(LINK(this, SwLabPage, DatabaseHdl	   ));
307 	aTableLB       .SetSelectHdl(LINK(this, SwLabPage, DatabaseHdl	   ));
308 	aInsertBT      .SetClickHdl	(LINK(this, SwLabPage, FieldHdl		   ));
309 	aContButton    .SetClickHdl (LINK(this, SwLabPage, PageHdl		   ));
310 	aSheetButton   .SetClickHdl (LINK(this, SwLabPage, PageHdl		   ));
311 	aMakeBox	   .SetSelectHdl(LINK(this, SwLabPage, MakeHdl		   ));
312 	aTypeBox	   .SetSelectHdl(LINK(this, SwLabPage, TypeHdl		   ));
313 
314 	InitDatabaseBox();
315 
316 	sal_uInt16 nLstGroup = 0;
317 
318 	const sal_uInt16 nCount = (sal_uInt16)GetParent()->Makes().Count();
319 	for (sal_uInt16 i = 0; i < nCount; ++i)
320 	{
321 		String &rStr = *GetParent()->Makes()[i];
322 		aMakeBox.InsertEntry( rStr );
323 		if ( rStr == String(aItem.aLstMake) )
324 			nLstGroup = i;
325 	}
326 //	Reset(rSet);
327 	aMakeBox.SelectEntryPos( nLstGroup );
328 	aMakeBox.GetSelectHdl().Call( &aMakeBox );
329 }
330 
331 // --------------------------------------------------------------------------
332 
333 
334 
~SwLabPage()335 SwLabPage::~SwLabPage()
336 {
337 }
338 /* -----------------29.09.99 09:08-------------------
339 
340  --------------------------------------------------*/
lcl_ChgYPos(Window & rWin,long nDiff)341 void lcl_ChgYPos(Window& rWin, long nDiff)
342 {
343 	Point aTempPos(rWin.GetPosPixel());
344 	aTempPos.Y() += nDiff;
345 	rWin.SetPosPixel(aTempPos);
346 }
347 
SetToBusinessCard()348 void SwLabPage::SetToBusinessCard()
349 {
350     SetHelpId(HID_BUSINESS_FMT_PAGE);
351     aContButton.SetHelpId(HID_BUSINESS_FMT_PAGE_CONT);
352     aSheetButton.SetHelpId(HID_BUSINESS_FMT_PAGE_SHEET);
353     aMakeBox.SetHelpId(HID_BUSINESS_FMT_PAGE_BRAND);
354     aTypeBox.SetHelpId(HID_BUSINESS_FMT_PAGE_TYPE);
355     m_bLabel = sal_False;
356 	aWritingText.Hide();
357 	aAddrBox.Hide();
358 	aWritingEdit.Hide();
359 	aDatabaseFT.Hide();
360 	aDatabaseLB.Hide();
361 	aTableFT.Hide();
362 	aTableLB.Hide();
363 	aInsertBT.Hide();
364 	aDBFieldFT.Hide();
365 	aDBFieldLB.Hide();
366     aWritingFL.Hide();
367 
368 	//resize the form
369     Point aFLPos(aWritingFL.GetPosPixel());
370     long nDiffPos = aFormatFL.GetPosPixel().Y() - aFLPos.Y();
371     Size aFLSz(aFormatFL.GetSizePixel());
372 //  aFLSz.Height() += nDiffPos;
373     aFormatFL.SetPosSizePixel(aFLPos, aFLSz);
374 
375 	// move all controls up
376 	lcl_ChgYPos(aContButton, -nDiffPos);
377 	lcl_ChgYPos(aSheetButton, -nDiffPos);
378 	lcl_ChgYPos(aMakeText, -nDiffPos);
379 
380 	lcl_ChgYPos(aTypeText, -nDiffPos);
381 	lcl_ChgYPos(aFormatInfo, -nDiffPos);
382 
383 	Size aTmpSz(3, 3);
384 	aTmpSz = LogicToPixel(aTmpSz, MAP_APPFONT);
385 
386 	lcl_ChgYPos(aMakeBox, - nDiffPos);
387 	Point aLBPos(aMakeBox.GetPosPixel());
388 	aLBPos.Y() += aMakeBox.GetSizePixel().Height() + aTmpSz.Height();
389 	aTypeBox.SetPosPixel(aLBPos);
390 };
391 
392 // --------------------------------------------------------------------------
393 
394 
IMPL_LINK(SwLabPage,AddrHdl,Button *,EMPTYARG)395 IMPL_LINK( SwLabPage, AddrHdl, Button *, EMPTYARG )
396 {
397 	String aWriting;
398 	if ( aAddrBox.IsChecked() )
399 		aWriting = MakeSender();
400 	aWritingEdit.SetText( aWriting.ConvertLineEnd() );
401 	aWritingEdit.GrabFocus();
402 	return 0;
403 }
404 
405 // --------------------------------------------------------------------------
406 
407 
408 
IMPL_LINK(SwLabPage,DatabaseHdl,ListBox *,pListBox)409 IMPL_LINK( SwLabPage, DatabaseHdl, ListBox *, pListBox )
410 {
411 	sActDBName = aDatabaseLB.GetSelectEntry();
412 
413 	WaitObject aObj( GetParent() );
414 
415 	if (pListBox == &aDatabaseLB)
416 		GetNewDBMgr()->GetTableNames(&aTableLB, sActDBName);
417 	GetNewDBMgr()->GetColumnNames(&aDBFieldLB, sActDBName, aTableLB.GetSelectEntry());
418 	return 0;
419 }
420 
421 
422 
IMPL_LINK(SwLabPage,FieldHdl,Button *,EMPTYARG)423 IMPL_LINK( SwLabPage, FieldHdl, Button *, EMPTYARG )
424 {
425 	String aStr ( '<' );
426 	aStr += aDatabaseLB.GetSelectEntry();
427 	aStr += '.';
428 	aStr += aTableLB.GetSelectEntry();
429 	aStr += '.';
430     aStr += aTableLB.GetEntryData(aTableLB.GetSelectEntryPos()) == 0 ? '0' : '1';
431 	aStr += '.';
432     aStr += aDBFieldLB.GetSelectEntry();
433 	aStr += '>';
434 	aWritingEdit.ReplaceSelected(aStr);
435 	Selection aSel = aWritingEdit.GetSelection();
436 	aWritingEdit.GrabFocus();
437 	aWritingEdit.SetSelection(aSel);
438 	return 0;
439 }
440 
441 // --------------------------------------------------------------------------
442 
443 
444 
IMPL_LINK_INLINE_START(SwLabPage,PageHdl,Button *,EMPTYARG)445 IMPL_LINK_INLINE_START( SwLabPage, PageHdl, Button *, EMPTYARG )
446 {
447 	aMakeBox.GetSelectHdl().Call( &aMakeBox );
448 	return 0;
449 }
IMPL_LINK_INLINE_END(SwLabPage,PageHdl,Button *,EMPTYARG)450 IMPL_LINK_INLINE_END( SwLabPage, PageHdl, Button *, EMPTYARG )
451 
452 // --------------------------------------------------------------------------
453 
454 
455 
456 IMPL_LINK( SwLabPage, MakeHdl, ListBox *, EMPTYARG )
457 {
458 	WaitObject aWait( GetParent() );
459 
460 	aTypeBox.Clear();
461     aHiddenSortTypeBox.Clear();
462 	GetParent()->TypeIds().Remove( 0, GetParent()->TypeIds().Count() );
463 
464 	const String aMake = aMakeBox.GetSelectEntry();
465     GetParent()->ReplaceGroup( aMake );
466 	aItem.aLstMake = aMake;
467 
468 	const sal_Bool 	 bCont 	  = aContButton.IsChecked();
469 	const sal_uInt16 nCount   = GetParent()->Recs().Count();
470 		  sal_uInt16 nLstType = 0;
471 
472     const String sCustom(SW_RES(STR_CUSTOM));
473     //insert the entries into the sorted list box
474     for ( sal_uInt16 i = 0; i < nCount; ++i )
475 	{
476         const String aType ( GetParent()->Recs()[i]->aType );
477         sal_Bool bInsert = sal_False;
478         if ( GetParent()->Recs()[i]->aType == sCustom )
479         {
480             bInsert = sal_True;
481             aTypeBox.InsertEntry(aType );
482         }
483         else if ( GetParent()->Recs()[i]->bCont == bCont )
484 		{
485             if ( aHiddenSortTypeBox.GetEntryPos(aType) == LISTBOX_ENTRY_NOTFOUND )
486 			{
487                 bInsert = sal_True;
488                 aHiddenSortTypeBox.InsertEntry( aType );
489             }
490 		}
491         if(bInsert)
492         {
493             GetParent()->TypeIds().Insert(i, GetParent()->TypeIds().Count());
494             if ( !nLstType && aType == String(aItem.aLstType) )
495                 nLstType = GetParent()->TypeIds().Count();
496         }
497 	}
498     for(sal_uInt16 nEntry = 0; nEntry < aHiddenSortTypeBox.GetEntryCount(); nEntry++)
499     {
500         aTypeBox.InsertEntry(aHiddenSortTypeBox.GetEntry(nEntry));
501     }
502 	if (nLstType)
503 		aTypeBox.SelectEntry(aItem.aLstType);
504 	else
505 		aTypeBox.SelectEntryPos(0);
506 	aTypeBox.GetSelectHdl().Call( &aTypeBox );
507 	return 0;
508 }
509 
510 // --------------------------------------------------------------------------
511 
512 
513 
IMPL_LINK_INLINE_START(SwLabPage,TypeHdl,ListBox *,EMPTYARG)514 IMPL_LINK_INLINE_START( SwLabPage, TypeHdl, ListBox *, EMPTYARG )
515 {
516 	DisplayFormat();
517 	aItem.aType = aTypeBox.GetSelectEntry();
518 	return 0;
519 }
IMPL_LINK_INLINE_END(SwLabPage,TypeHdl,ListBox *,EMPTYARG)520 IMPL_LINK_INLINE_END( SwLabPage, TypeHdl, ListBox *, EMPTYARG )
521 
522 // --------------------------------------------------------------------------
523 
524 
525 
526 void SwLabPage::DisplayFormat()
527 {
528 	MetricField aField(this, WinBits(0));
529     FieldUnit aMetric = ::GetDfltMetric(sal_False);
530     SetMetric(aField, aMetric);
531 	aField.SetDecimalDigits(2);
532 	aField.SetMin		  (0);
533 	aField.SetMax		  (LONG_MAX);
534 
535 	SwLabRec* pRec = GetSelectedEntryPos();
536 	aItem.aLstType = pRec->aType;
537 	SETFLDVAL(aField, pRec->lWidth);
538 	aField.Reformat();
539 	const String aWString = aField.GetText();
540 
541 	SETFLDVAL(aField, pRec->lHeight);
542 	aField.Reformat();
543 
544 	String aText = pRec->aType;
545 	aText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": "));
546 	aText += aWString;
547 	aText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(" x "));
548 	aText += aField.GetText();
549 	aText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(" ("));
550 	aText += String::CreateFromInt32( pRec->nCols );
551 	aText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(" x "));
552 	aText += String::CreateFromInt32( pRec->nRows );
553 	aText += ')';
554 	aFormatInfo.SetText(aText);
555 }
556 
557 // --------------------------------------------------------------------------
558 
GetSelectedEntryPos()559 SwLabRec* SwLabPage::GetSelectedEntryPos()
560 {
561 	String sSelEntry(aTypeBox.GetSelectEntry());
562 
563 	return GetParent()->GetRecord(sSelEntry, aContButton.IsChecked());
564 }
565 
566 // --------------------------------------------------------------------------
567 
568 
569 
InitDatabaseBox()570 void SwLabPage::InitDatabaseBox()
571 {
572 	if( GetNewDBMgr() )
573 	{
574 		aDatabaseLB.Clear();
575 		UNO_NMSPC::Sequence<rtl::OUString> aDataNames = SwNewDBMgr::GetExistingDatabaseNames();
576 		const rtl::OUString* pDataNames = aDataNames.getConstArray();
577 		for (long i = 0; i < aDataNames.getLength(); i++)
578 			aDatabaseLB.InsertEntry(pDataNames[i]);
579 		String sDBName = sActDBName.GetToken( 0, DB_DELIM );
580 		String sTableName = sActDBName.GetToken( 1, DB_DELIM );
581 		aDatabaseLB.SelectEntry(sDBName);
582 		if( sDBName.Len() && GetNewDBMgr()->GetTableNames(&aTableLB, sDBName))
583 		{
584 			aTableLB.SelectEntry(sTableName);
585 			GetNewDBMgr()->GetColumnNames(&aDBFieldLB, sActDBName, sTableName);
586 		}
587 		else
588 			aDBFieldLB.Clear();
589 	}
590 }
591 
592 // --------------------------------------------------------------------------
Create(Window * pParent,const SfxItemSet & rSet)593 SfxTabPage* SwLabPage::Create(Window* pParent, const SfxItemSet& rSet)
594 {
595 	return new SwLabPage(pParent, rSet);
596 }
597 
598 // --------------------------------------------------------------------------
ActivatePage(const SfxItemSet & rSet)599 void SwLabPage::ActivatePage(const SfxItemSet& rSet)
600 {
601 	Reset( rSet );
602 }
603 // --------------------------------------------------------------------------
DeactivatePage(SfxItemSet * _pSet)604 int SwLabPage::DeactivatePage(SfxItemSet* _pSet)
605 {
606     if (_pSet)
607         FillItemSet(*_pSet);
608 
609 	return sal_True;
610 }
611 
612 // --------------------------------------------------------------------------
613 
614 
615 
FillItem(SwLabItem & rItem)616 void SwLabPage::FillItem(SwLabItem& rItem)
617 {
618 	rItem.bAddr    = aAddrBox.IsChecked();
619 	rItem.aWriting = aWritingEdit.GetText();
620 	rItem.bCont    = aContButton.IsChecked();
621 	rItem.aMake    = aMakeBox.GetSelectEntry();
622 	rItem.aType    = aTypeBox.GetSelectEntry();
623 	rItem.sDBName  = sActDBName;
624 
625 	SwLabRec* pRec = GetSelectedEntryPos();
626 	pRec->FillItem( rItem );
627 
628 	rItem.aLstMake = aMakeBox.GetSelectEntry();
629 	rItem.aLstType = aTypeBox.GetSelectEntry();
630 }
631 
632 // --------------------------------------------------------------------------
633 
634 
635 
FillItemSet(SfxItemSet & rSet)636 sal_Bool SwLabPage::FillItemSet(SfxItemSet& rSet)
637 {
638 	FillItem( aItem );
639 	rSet.Put( aItem );
640 
641 	return sal_True;
642 }
643 
644 // --------------------------------------------------------------------------
645 
Reset(const SfxItemSet & rSet)646 void SwLabPage::Reset(const SfxItemSet& rSet)
647 {
648 	aItem = (const SwLabItem&) rSet.Get(FN_LABEL);
649 	String sDBName  = aItem.sDBName;
650 
651 	String aWriting( aItem.aWriting );
652 
653 	aAddrBox	.Check		( aItem.bAddr );
654 	aWritingEdit.SetText	( aWriting.ConvertLineEnd() );
655 
656 	const sal_uInt16 nCount = (sal_uInt16)GetParent()->Makes().Count();
657 	for (sal_uInt16 i = 0; i < nCount; ++i)
658 	{
659 		String &rStr = *GetParent()->Makes()[i];
660 		if(aMakeBox.GetEntryPos(String(rStr)) == LISTBOX_ENTRY_NOTFOUND)
661 			aMakeBox.InsertEntry( rStr );
662 	}
663 
664 
665 	aMakeBox	.SelectEntry( aItem.aMake );
666 	//save the current type
667 	String sType(aItem.aType);
668 	aMakeBox.GetSelectHdl().Call( &aMakeBox );
669 	aItem.aType = sType;
670     //#102806# a newly added make may not be in the type ListBox already
671     if (aTypeBox.GetEntryPos(String(aItem.aType)) == LISTBOX_ENTRY_NOTFOUND && aItem.aMake.getLength())
672         GetParent()->UpdateGroup( aItem.aMake );
673     if (aTypeBox.GetEntryPos(String(aItem.aType)) != LISTBOX_ENTRY_NOTFOUND)
674 	{
675 		aTypeBox.SelectEntry(aItem.aType);
676 		aTypeBox.GetSelectHdl().Call(&aTypeBox);
677 	}
678 	if (aDatabaseLB.GetEntryPos(sDBName) != LISTBOX_ENTRY_NOTFOUND)
679 	{
680 		aDatabaseLB.SelectEntry(sDBName);
681 		aDatabaseLB.GetSelectHdl().Call(&aDatabaseLB);
682 	}
683 
684 	if (aItem.bCont)
685 		aContButton .Check();
686 	else
687 		aSheetButton.Check();
688 }
689 
690 /*-- 08.07.99 14:00:02---------------------------------------------------
691 
692   -----------------------------------------------------------------------*/
693 //-----------------------------------------------------------------------------
ClearUserData()694 void SwVisitingCardPage::ClearUserData()
695 {
696 	SvLBoxEntry* pEntry = aAutoTextLB.First();
697 	while(pEntry)
698 	{
699 		delete (String*)pEntry->GetUserData();
700 		pEntry = aAutoTextLB.Next(pEntry);
701 	}
702 }
703 
704 //-----------------------------------------------------------------------------
705 
SetUserData(sal_uInt32 nCnt,const rtl::OUString * pNames,const rtl::OUString * pValues)706 void SwVisitingCardPage::SetUserData( sal_uInt32 nCnt,
707 				const rtl::OUString* pNames, const rtl::OUString* pValues )
708 {
709 	for( sal_uInt32 i = 0; i < nCnt; ++i )
710 	{
711 		SvLBoxEntry* pEntry = aAutoTextLB.InsertEntry( pNames[ i ] );
712 		pEntry->SetUserData( new String( pValues[ i ] ));
713 	}
714 }
715 
716 //-----------------------------------------------------------------------------
717 
SwVisitingCardPage(Window * pParent,const SfxItemSet & rSet)718 SwVisitingCardPage::SwVisitingCardPage(Window* pParent, const SfxItemSet& rSet) :
719 	SfxTabPage(pParent, SW_RES(TP_VISITING_CARDS), rSet),
720 	aContentFL(this,        SW_RES( FL_CONTENT           )),
721     aAutoTextLB(this, 		SW_RES( LB_AUTO_TEXT			)),
722 	aAutoTextGroupFT(this, 	SW_RES( FT_AUTO_TEXT_GROUP	)),
723 	aAutoTextGroupLB(this, 	SW_RES( LB_AUTO_TEXT_GROUP	)),
724 	aExampleWIN(this, 		SW_RES( WIN_EXAMPLE			)),
725 	sVisCardGroup(SW_RES(ST_VISCARD_GROUP)),
726 	pExampleFrame(0)
727 {
728 	FreeResource();
729 	aAutoTextLB.SetStyle( aAutoTextLB.GetStyle() | WB_HSCROLL );
730 	aAutoTextLB.SetSpaceBetweenEntries(0);
731 	aAutoTextLB.SetSelectionMode( SINGLE_SELECTION );
732 	aAutoTextLB.SetHelpId(HID_BUSINESS_CARD_CONTENT);
733 
734 	SetExchangeSupport();
735 	aAutoTextLB.SetSelectHdl(LINK(this, SwVisitingCardPage, AutoTextSelectHdl));
736 	aAutoTextGroupLB.SetSelectHdl(LINK(this, SwVisitingCardPage, AutoTextSelectHdl));
737 
738 	aExampleWIN.Hide();
739 
740 	aAutoTextLB.Show();
741 	aAutoTextGroupFT.Show();
742 	aAutoTextGroupLB.Show();
743 	InitFrameControl();
744 }
745 /*-- 08.07.99 14:00:03---------------------------------------------------
746 
747   -----------------------------------------------------------------------*/
~SwVisitingCardPage()748 SwVisitingCardPage::~SwVisitingCardPage()
749 {
750 	for(sal_uInt16 i = 0; i < aAutoTextGroupLB.GetEntryCount(); i++)
751 		delete (String*)aAutoTextGroupLB.GetEntryData( i );
752 	_xAutoText = 0;
753 
754 	ClearUserData();
755 	delete pExampleFrame;
756 }
757 /*-- 08.07.99 14:00:03---------------------------------------------------
758 
759   -----------------------------------------------------------------------*/
Create(Window * pParent,const SfxItemSet & rSet)760 SfxTabPage* SwVisitingCardPage::Create(Window* pParent, const SfxItemSet& rSet)
761 {
762 	return new SwVisitingCardPage(pParent, rSet);
763 }
764 /*-- 08.07.99 14:00:03---------------------------------------------------
765 
766   -----------------------------------------------------------------------*/
ActivatePage(const SfxItemSet & rSet)767 void SwVisitingCardPage::ActivatePage(const SfxItemSet& rSet)
768 {
769 	Reset( rSet );
770 	UpdateFields();
771 }
772 /*-- 08.07.99 14:00:04---------------------------------------------------
773 
774   -----------------------------------------------------------------------*/
DeactivatePage(SfxItemSet * _pSet)775 int  SwVisitingCardPage::DeactivatePage(SfxItemSet* _pSet)
776 {
777     if (_pSet)
778         FillItemSet(*_pSet);
779 	return LEAVE_PAGE;
780 }
781 /*-- 08.07.99 14:00:04---------------------------------------------------
782 
783   -----------------------------------------------------------------------*/
FillItemSet(SfxItemSet & rSet)784 sal_Bool SwVisitingCardPage::FillItemSet(SfxItemSet& rSet)
785 {
786 	String* pGroup = (String*)aAutoTextGroupLB.GetEntryData(
787 									aAutoTextGroupLB.GetSelectEntryPos());
788 	DBG_ASSERT(pGroup, "no group selected?");
789 	if(pGroup)
790 		aLabItem.sGlossaryGroup = *pGroup;
791 
792 	SvLBoxEntry* pSelEntry = aAutoTextLB.FirstSelected();
793 	if(pSelEntry)
794 		aLabItem.sGlossaryBlockName = *(String*)pSelEntry->GetUserData();
795 	rSet.Put(aLabItem);
796 	return sal_True;
797 }
798 /*-- 08.07.99 14:00:05---------------------------------------------------
799 
800   -----------------------------------------------------------------------*/
lcl_SelectBlock(SvTreeListBox & rAutoTextLB,const String & rBlockName)801 void lcl_SelectBlock(SvTreeListBox& rAutoTextLB, const String& rBlockName)
802 {
803 	SvLBoxEntry* pEntry = rAutoTextLB.First();
804 	while(pEntry)
805 	{
806 		if(*(String*)pEntry->GetUserData() == rBlockName)
807 		{
808 			rAutoTextLB.Select(pEntry);
809 			rAutoTextLB.MakeVisible(pEntry);
810 			break;
811 		}
812 		pEntry = rAutoTextLB.Next(pEntry);
813 	}
814 }
815 //-----------------------------------------------------------------------------
lcl_FindBlock(SvTreeListBox & rAutoTextLB,const String & rBlockName)816 sal_Bool lcl_FindBlock(SvTreeListBox& rAutoTextLB, const String& rBlockName)
817 {
818 	SvLBoxEntry* pEntry = rAutoTextLB.First();
819 	while(pEntry)
820 	{
821 		if(*(String*)pEntry->GetUserData() == rBlockName)
822 		{
823 			rAutoTextLB.Select(pEntry);
824 			return sal_True;
825 		}
826 		pEntry = rAutoTextLB.Next(pEntry);
827 	}
828 	return sal_False;
829 }
830 
831 //-----------------------------------------------------------------------------
Reset(const SfxItemSet & rSet)832 void SwVisitingCardPage::Reset(const SfxItemSet& rSet)
833 {
834 	aLabItem = (const SwLabItem&) rSet.Get(FN_LABEL);
835 
836 	sal_Bool bFound = sal_False;
837     sal_uInt16 i;
838     for(i = 0; i < aAutoTextGroupLB.GetEntryCount() && !bFound; i++)
839 		if( String(aLabItem.sGlossaryGroup) ==
840 			*(String*)aAutoTextGroupLB.GetEntryData( i ))
841 		{
842 			bFound = sal_True;
843 			break;
844 		}
845 
846     if(!bFound)
847     {
848         // initially search for a group starting with "crd" which is the name of the
849         // business card AutoTexts
850         for(i = 0; i < aAutoTextGroupLB.GetEntryCount() && !bFound; i++)
851             if(0 == (*(String*)aAutoTextGroupLB.GetEntryData( i )).SearchAscii( "crd") )
852             {
853                 bFound = sal_True;
854                 break;
855             }
856     }
857     if(bFound)
858 	{
859 		if(aAutoTextGroupLB.GetSelectEntryPos() != i)
860 		{
861 			aAutoTextGroupLB.SelectEntryPos(i);
862 			AutoTextSelectHdl(&aAutoTextGroupLB);
863 		}
864 		if(lcl_FindBlock(aAutoTextLB, aLabItem.sGlossaryBlockName))
865 		{
866 			SvLBoxEntry* pSelEntry = aAutoTextLB.FirstSelected();
867 			if( pSelEntry &&
868 				*(String*)pSelEntry->GetUserData() != String(aLabItem.sGlossaryBlockName))
869 			{
870 				lcl_SelectBlock(aAutoTextLB, aLabItem.sGlossaryBlockName);
871 				AutoTextSelectHdl(&aAutoTextLB);
872 			}
873 		}
874 	}
875 }
876 
877 /* -----------------29.09.99 08:55-------------------
878 
879  --------------------------------------------------*/
SwPrivateDataPage(Window * pParent,const SfxItemSet & rSet)880 SwPrivateDataPage::SwPrivateDataPage(Window* pParent, const SfxItemSet& rSet) :
881 	SfxTabPage(pParent, SW_RES(TP_PRIVATE_DATA), rSet),
882     aDataFL             (this, SW_RES( FL_DATA       )),
883 
884     aNameFT             (this, SW_RES( FT_NAME       )),
885     aFirstNameED        (this, SW_RES( ED_FIRSTNAME )),
886     aNameED             (this, SW_RES( ED_NAME      )),
887     aShortCutED         (this, SW_RES( ED_SHORTCUT  )),
888 
889     aName2FT            (this, SW_RES( FT_NAME_2     )),
890     aFirstName2ED       (this, SW_RES( ED_FIRSTNAME_2)),
891     aName2ED            (this, SW_RES( ED_NAME_2        )),
892     aShortCut2ED        (this, SW_RES( ED_SHORTCUT_2    )),
893 
894     aStreetFT           (this, SW_RES( FT_STREET     )),
895     aStreetED           (this, SW_RES( ED_STREET        )),
896     aZipCityFT          (this, SW_RES( FT_ZIPCITY   )),
897     aZipED              (this, SW_RES( ED_ZIP       )),
898     aCityED             (this, SW_RES( ED_CITY      )),
899     aCountryStateFT     (this, SW_RES( FT_COUNTRYSTATE )),
900     aCountryED          (this, SW_RES( ED_COUNTRY   )),
901     aStateED            (this, SW_RES( ED_STATE     )),
902     aTitleProfessionFT  (this, SW_RES( FT_TITLEPROF )),
903     aTitleED            (this, SW_RES( ED_TITLE     )),
904     aProfessionED       (this, SW_RES( ED_PROFESSION )),
905     aPhoneFT            (this, SW_RES( FT_PHONE_MOBILE  )),
906     aPhoneED            (this, SW_RES( ED_PHONE     )),
907     aMobilePhoneED      (this, SW_RES( ED_MOBILE        )),
908     aFaxFT              (this, SW_RES( FT_FAX       )),
909     aFaxED              (this, SW_RES( ED_FAX       )),
910     aWWWMailFT          (this, SW_RES( FT_WWWMAIL   )),
911     aHomePageED         (this, SW_RES( ED_WWW       )),
912     aMailED             (this, SW_RES( ED_MAIL      ))
913 {
914 	FreeResource();
915 	SetExchangeSupport();
916 }
917 
918 /*-- 29.09.99 08:55:57---------------------------------------------------
919 
920   -----------------------------------------------------------------------*/
~SwPrivateDataPage()921 SwPrivateDataPage::~SwPrivateDataPage()
922 {
923 }
924 /*-- 29.09.99 08:55:57---------------------------------------------------
925 
926   -----------------------------------------------------------------------*/
Create(Window * pParent,const SfxItemSet & rSet)927 SfxTabPage* SwPrivateDataPage::Create(Window* pParent, const SfxItemSet& rSet)
928 {
929 	return new SwPrivateDataPage(pParent, rSet);
930 }
931 /*-- 29.09.99 08:55:57---------------------------------------------------
932 
933   -----------------------------------------------------------------------*/
ActivatePage(const SfxItemSet & rSet)934 void SwPrivateDataPage::ActivatePage(const SfxItemSet& rSet)
935 {
936 	Reset(rSet);
937 }
938 /*-- 29.09.99 08:55:58---------------------------------------------------
939 
940   -----------------------------------------------------------------------*/
DeactivatePage(SfxItemSet * _pSet)941 int  SwPrivateDataPage::DeactivatePage(SfxItemSet* _pSet)
942 {
943     if (_pSet)
944         FillItemSet(*_pSet);
945 	return LEAVE_PAGE;
946 }
947 /*-- 29.09.99 08:55:58---------------------------------------------------
948 
949   -----------------------------------------------------------------------*/
FillItemSet(SfxItemSet & rSet)950 sal_Bool SwPrivateDataPage::FillItemSet(SfxItemSet& rSet)
951 {
952 
953 	SwLabItem aItem = (const SwLabItem&) GetTabDialog()->GetExampleSet()->Get(FN_LABEL);
954 	aItem.aPrivFirstName = aFirstNameED	.GetText();
955 	aItem.aPrivName		 = aNameED     	.GetText(  );
956 	aItem.aPrivShortCut	 = aShortCutED 	.GetText(  );
957 	aItem.aPrivFirstName2 = aFirstName2ED	.GetText();
958 	aItem.aPrivName2	 = aName2ED     .GetText(  );
959 	aItem.aPrivShortCut2 = aShortCut2ED .GetText(  );
960 	aItem.aPrivStreet	 = aStreetED   	.GetText(  );
961 	aItem.aPrivZip		 = aZipED      	.GetText(  );
962 	aItem.aPrivCity		 = aCityED     	.GetText(  );
963 	aItem.aPrivCountry	 = aCountryED  	.GetText(  );
964 	aItem.aPrivState	 = aStateED    	.GetText(  );
965 	aItem.aPrivTitle	 = aTitleED    	.GetText(  );
966 	aItem.aPrivProfession= aProfessionED.GetText(	);
967 	aItem.aPrivPhone	 = aPhoneED    	.GetText(  );
968 	aItem.aPrivMobile 	 = aMobilePhoneED.GetText(  );
969 	aItem.aPrivFax		 = aFaxED      	.GetText(  );
970 	aItem.aPrivWWW		 = aHomePageED 	.GetText(  );
971 	aItem.aPrivMail		 = aMailED     	.GetText(  );
972 
973 	rSet.Put(aItem);
974 	return sal_True;
975 }
976 /*-- 29.09.99 08:55:59---------------------------------------------------
977 
978   -----------------------------------------------------------------------*/
Reset(const SfxItemSet & rSet)979 void SwPrivateDataPage::Reset(const SfxItemSet& rSet)
980 {
981 	const SwLabItem& aItem = (const SwLabItem&) rSet.Get(FN_LABEL);
982 	aFirstNameED.SetText(aItem.aPrivFirstName);
983 	aNameED     .SetText(aItem.aPrivName);
984 	aShortCutED .SetText(aItem.aPrivShortCut);
985 	aFirstName2ED.SetText(aItem.aPrivFirstName2);
986 	aName2ED     .SetText(aItem.aPrivName2);
987 	aShortCut2ED .SetText(aItem.aPrivShortCut2);
988 	aStreetED   .SetText(aItem.aPrivStreet);
989 	aZipED      .SetText(aItem.aPrivZip);
990 	aCityED     .SetText(aItem.aPrivCity);
991 	aCountryED  .SetText(aItem.aPrivCountry);
992 	aStateED    .SetText(aItem.aPrivState);
993 	aTitleED    .SetText(aItem.aPrivTitle);
994 	aProfessionED.SetText(aItem.aPrivProfession);
995 	aPhoneED    .SetText(aItem.aPrivPhone);
996 	aMobilePhoneED.SetText(aItem.aPrivMobile);
997 	aFaxED      .SetText(aItem.aPrivFax);
998 	aHomePageED .SetText(aItem.aPrivWWW);
999 	aMailED     .SetText(aItem.aPrivMail);
1000 }
1001 /* -----------------29.09.99 08:56-------------------
1002 
1003  --------------------------------------------------*/
SwBusinessDataPage(Window * pParent,const SfxItemSet & rSet)1004 SwBusinessDataPage::SwBusinessDataPage(Window* pParent, const SfxItemSet& rSet) :
1005 	SfxTabPage(pParent, SW_RES(TP_BUSINESS_DATA), rSet),
1006     aDataFL             (this, SW_RES( FL_DATA       )),
1007 	aCompanyFT			(this, SW_RES( FT_COMP		)),
1008 	aCompanyED			(this, SW_RES( ED_COMP		)),
1009 	aCompanyExtFT		(this, SW_RES( FT_COMP_EXT	)),
1010 	aCompanyExtED		(this, SW_RES( ED_COMP_EXT	)),
1011 	aSloganFT			(this, SW_RES( FT_SLOGAN		)),
1012 	aSloganED			(this, SW_RES( ED_SLOGAN		)),
1013 	aStreetFT			(this, SW_RES( FT_STREET		)),
1014 	aStreetED			(this, SW_RES( ED_STREET		)),
1015 	aZipCityFT			(this, SW_RES( FT_ZIPCITY	)),
1016 	aZipED				(this, SW_RES( ED_ZIP		)),
1017 	aCityED				(this, SW_RES( ED_CITY		)),
1018 	aCountryStateFT		(this, SW_RES( FT_COUNTRYSTATE	)),
1019 	aCountryED			(this, SW_RES( ED_COUNTRY	)),
1020 	aStateED			(this, SW_RES( ED_STATE		)),
1021 	aPositionFT			(this, SW_RES( FT_POSITION	)),
1022 	aPositionED			(this, SW_RES( ED_POSITION	)),
1023 	aPhoneFT			(this, SW_RES( FT_PHONE_MOBILE	)),
1024 	aPhoneED			(this, SW_RES( ED_PHONE		)),
1025 	aMobilePhoneED		(this, SW_RES( ED_MOBILE		)),
1026 	aFaxFT				(this, SW_RES( FT_FAX		)),
1027 	aFaxED				(this, SW_RES( ED_FAX		)),
1028 	aWWWMailFT			(this, SW_RES( FT_WWWMAIL	)),
1029 	aHomePageED			(this, SW_RES( ED_WWW		)),
1030 	aMailED				(this, SW_RES( ED_MAIL		))
1031 {
1032 	FreeResource();
1033 	SetExchangeSupport();
1034 }
1035 
1036 /*-- 29.09.99 08:56:06---------------------------------------------------
1037 
1038   -----------------------------------------------------------------------*/
~SwBusinessDataPage()1039 SwBusinessDataPage::~SwBusinessDataPage()
1040 {
1041 }
1042 /*-- 29.09.99 08:56:06---------------------------------------------------
1043 
1044   -----------------------------------------------------------------------*/
Create(Window * pParent,const SfxItemSet & rSet)1045 SfxTabPage* SwBusinessDataPage::Create(Window* pParent, const SfxItemSet& rSet)
1046 {
1047 	return new SwBusinessDataPage(pParent, rSet);
1048 }
1049 /*-- 29.09.99 08:56:06---------------------------------------------------
1050 
1051   -----------------------------------------------------------------------*/
ActivatePage(const SfxItemSet & rSet)1052 void SwBusinessDataPage::ActivatePage(const SfxItemSet& rSet)
1053 {
1054 	Reset(rSet);
1055 }
1056 /*-- 29.09.99 08:56:06---------------------------------------------------
1057 
1058   -----------------------------------------------------------------------*/
DeactivatePage(SfxItemSet * _pSet)1059 int  SwBusinessDataPage::DeactivatePage(SfxItemSet* _pSet)
1060 {
1061     if (_pSet)
1062         FillItemSet(*_pSet);
1063 	return LEAVE_PAGE;
1064 }
1065 /*-- 29.09.99 08:56:06---------------------------------------------------
1066 
1067   -----------------------------------------------------------------------*/
FillItemSet(SfxItemSet & rSet)1068 sal_Bool SwBusinessDataPage::FillItemSet(SfxItemSet& rSet)
1069 {
1070 	SwLabItem aItem = (const SwLabItem&) GetTabDialog()->GetExampleSet()->Get(FN_LABEL);
1071 
1072 	aItem.aCompCompany	 = aCompanyED	   .GetText();
1073 	aItem.aCompCompanyExt= aCompanyExtED   .GetText();
1074 	aItem.aCompSlogan	 = aSloganED       .GetText();
1075 	aItem.aCompStreet	 = aStreetED       .GetText();
1076 	aItem.aCompZip		 = aZipED          .GetText();
1077 	aItem.aCompCity		 = aCityED         .GetText();
1078 	aItem.aCompCountry	 = aCountryED      .GetText();
1079 	aItem.aCompState	 = aStateED        .GetText();
1080 	aItem.aCompPosition	 = aPositionED     .GetText();
1081 	aItem.aCompPhone	 = aPhoneED        .GetText();
1082 	aItem.aCompMobile	 = aMobilePhoneED  .GetText();
1083 	aItem.aCompFax		 = aFaxED          .GetText();
1084 	aItem.aCompWWW		 = aHomePageED     .GetText();
1085 	aItem.aCompMail		 = aMailED         .GetText();
1086 
1087 	rSet.Put(aItem);
1088 	return sal_True;
1089 }
1090 /*-- 29.09.99 08:56:07---------------------------------------------------
1091 
1092   -----------------------------------------------------------------------*/
Reset(const SfxItemSet & rSet)1093 void SwBusinessDataPage::Reset(const SfxItemSet& rSet)
1094 {
1095 	const SwLabItem& aItem = (const SwLabItem&) rSet.Get(FN_LABEL);
1096     aCompanyED      .SetText(aItem.aCompCompany);
1097 	aCompanyExtED   .SetText(aItem.aCompCompanyExt);
1098 	aSloganED       .SetText(aItem.aCompSlogan);
1099 	aStreetED       .SetText(aItem.aCompStreet);
1100 	aZipED          .SetText(aItem.aCompZip);
1101 	aCityED         .SetText(aItem.aCompCity);
1102 	aCountryED      .SetText(aItem.aCompCountry);
1103 	aStateED        .SetText(aItem.aCompState);
1104 	aPositionED     .SetText(aItem.aCompPosition);
1105 	aPhoneED        .SetText(aItem.aCompPhone);
1106 	aMobilePhoneED  .SetText(aItem.aCompMobile);
1107 	aFaxED          .SetText(aItem.aCompFax);
1108 	aHomePageED     .SetText(aItem.aCompWWW);
1109 	aMailED         .SetText(aItem.aCompMail);
1110 }
1111 
1112 
1113 
1114