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