1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 29*cdf0e10cSrcweir #include "precompiled_sw.hxx" 30*cdf0e10cSrcweir #ifdef SW_DLLIMPLEMENTATION 31*cdf0e10cSrcweir #undef SW_DLLIMPLEMENTATION 32*cdf0e10cSrcweir #endif 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir 36*cdf0e10cSrcweir #include "dbmgr.hxx" 37*cdf0e10cSrcweir #include <sfx2/app.hxx> 38*cdf0e10cSrcweir #include <vcl/msgbox.hxx> 39*cdf0e10cSrcweir #include <swwait.hxx> 40*cdf0e10cSrcweir #include <viewopt.hxx> 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir #include "wrtsh.hxx" 43*cdf0e10cSrcweir #include "errhdl.hxx" 44*cdf0e10cSrcweir #include "cmdid.h" 45*cdf0e10cSrcweir #include "helpid.h" 46*cdf0e10cSrcweir #include "envfmt.hxx" 47*cdf0e10cSrcweir #include "envlop.hxx" 48*cdf0e10cSrcweir #include "envprt.hxx" 49*cdf0e10cSrcweir #include "fmtcol.hxx" 50*cdf0e10cSrcweir #include "poolfmt.hxx" 51*cdf0e10cSrcweir #include "view.hxx" 52*cdf0e10cSrcweir 53*cdf0e10cSrcweir #include "envlop.hrc" 54*cdf0e10cSrcweir #include <comphelper/processfactory.hxx> 55*cdf0e10cSrcweir 56*cdf0e10cSrcweir #include <unomid.h> 57*cdf0e10cSrcweir 58*cdf0e10cSrcweir using namespace ::com::sun::star::lang; 59*cdf0e10cSrcweir using namespace ::com::sun::star::container; 60*cdf0e10cSrcweir using namespace ::com::sun::star::uno; 61*cdf0e10cSrcweir using namespace ::com::sun::star; 62*cdf0e10cSrcweir using namespace ::rtl; 63*cdf0e10cSrcweir 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir //impl in envimg.cxx 66*cdf0e10cSrcweir extern SW_DLLPUBLIC String MakeSender(); 67*cdf0e10cSrcweir 68*cdf0e10cSrcweir // -------------------------------------------------------------------------- 69*cdf0e10cSrcweir 70*cdf0e10cSrcweir SwEnvPreview::SwEnvPreview(SfxTabPage* pParent, const ResId& rResID) : 71*cdf0e10cSrcweir 72*cdf0e10cSrcweir Window(pParent, rResID) 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir { 75*cdf0e10cSrcweir SetMapMode(MapMode(MAP_PIXEL)); 76*cdf0e10cSrcweir } 77*cdf0e10cSrcweir 78*cdf0e10cSrcweir // -------------------------------------------------------------------------- 79*cdf0e10cSrcweir 80*cdf0e10cSrcweir 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir SwEnvPreview::~SwEnvPreview() 83*cdf0e10cSrcweir { 84*cdf0e10cSrcweir } 85*cdf0e10cSrcweir 86*cdf0e10cSrcweir // ---------------------------------------------------------------------------- 87*cdf0e10cSrcweir void SwEnvPreview::DataChanged( const DataChangedEvent& rDCEvt ) 88*cdf0e10cSrcweir { 89*cdf0e10cSrcweir Window::DataChanged( rDCEvt ); 90*cdf0e10cSrcweir if ( DATACHANGED_SETTINGS == rDCEvt.GetType() ) 91*cdf0e10cSrcweir SetBackground( GetSettings().GetStyleSettings().GetDialogColor() ); 92*cdf0e10cSrcweir } 93*cdf0e10cSrcweir 94*cdf0e10cSrcweir // ---------------------------------------------------------------------------- 95*cdf0e10cSrcweir 96*cdf0e10cSrcweir void SwEnvPreview::Paint(const Rectangle &) 97*cdf0e10cSrcweir { 98*cdf0e10cSrcweir const StyleSettings& rSettings = GetSettings().GetStyleSettings(); 99*cdf0e10cSrcweir 100*cdf0e10cSrcweir const SwEnvItem& rItem = 101*cdf0e10cSrcweir ((SwEnvDlg*) GetParent()->GetParent()->GetParent())->aEnvItem; 102*cdf0e10cSrcweir 103*cdf0e10cSrcweir sal_uInt16 nPageW = (sal_uInt16) Max(rItem.lWidth, rItem.lHeight), 104*cdf0e10cSrcweir nPageH = (sal_uInt16) Min(rItem.lWidth, rItem.lHeight); 105*cdf0e10cSrcweir 106*cdf0e10cSrcweir float fx = (float)GetOutputSizePixel().Width () / (float)nPageW, 107*cdf0e10cSrcweir fy = (float)GetOutputSizePixel().Height() / (float)nPageH, 108*cdf0e10cSrcweir f = 0.8f * ( fx < fy ? fx : fy ); 109*cdf0e10cSrcweir 110*cdf0e10cSrcweir Color aBack = rSettings.GetWindowColor( ); 111*cdf0e10cSrcweir Color aFront = SwViewOption::GetFontColor(); 112*cdf0e10cSrcweir Color aMedium = Color( ( aBack.GetRed() + aFront.GetRed() ) / 2, 113*cdf0e10cSrcweir ( aBack.GetGreen() + aFront.GetGreen() ) / 2, 114*cdf0e10cSrcweir ( aBack.GetBlue() + aFront.GetBlue() ) / 2 115*cdf0e10cSrcweir ); 116*cdf0e10cSrcweir 117*cdf0e10cSrcweir SetLineColor( aFront ); 118*cdf0e10cSrcweir 119*cdf0e10cSrcweir // Umschlag 120*cdf0e10cSrcweir long nW = (sal_uInt16) (f * nPageW), 121*cdf0e10cSrcweir nH = (sal_uInt16) (f * nPageH), 122*cdf0e10cSrcweir nX = (GetOutputSizePixel().Width () - nW) / 2, 123*cdf0e10cSrcweir nY = (GetOutputSizePixel().Height() - nH) / 2; 124*cdf0e10cSrcweir SetFillColor( aBack ); 125*cdf0e10cSrcweir DrawRect(Rectangle(Point(nX, nY), Size(nW, nH))); 126*cdf0e10cSrcweir 127*cdf0e10cSrcweir // Absender 128*cdf0e10cSrcweir if (rItem.bSend) 129*cdf0e10cSrcweir { 130*cdf0e10cSrcweir long nSendX = nX + (sal_uInt16) (f * rItem.lSendFromLeft), 131*cdf0e10cSrcweir nSendY = nY + (sal_uInt16) (f * rItem.lSendFromTop ), 132*cdf0e10cSrcweir nSendW = (sal_uInt16) (f * (rItem.lAddrFromLeft - rItem.lSendFromLeft)), 133*cdf0e10cSrcweir nSendH = (sal_uInt16) (f * (rItem.lAddrFromTop - rItem.lSendFromTop - 566)); 134*cdf0e10cSrcweir SetFillColor( aMedium ); 135*cdf0e10cSrcweir 136*cdf0e10cSrcweir DrawRect(Rectangle(Point(nSendX, nSendY), Size(nSendW, nSendH))); 137*cdf0e10cSrcweir } 138*cdf0e10cSrcweir 139*cdf0e10cSrcweir // Empfaenger 140*cdf0e10cSrcweir long nAddrX = nX + (sal_uInt16) (f * rItem.lAddrFromLeft), 141*cdf0e10cSrcweir nAddrY = nY + (sal_uInt16) (f * rItem.lAddrFromTop ), 142*cdf0e10cSrcweir nAddrW = (sal_uInt16) (f * (nPageW - rItem.lAddrFromLeft - 566)), 143*cdf0e10cSrcweir nAddrH = (sal_uInt16) (f * (nPageH - rItem.lAddrFromTop - 566)); 144*cdf0e10cSrcweir SetFillColor( aMedium ); 145*cdf0e10cSrcweir DrawRect(Rectangle(Point(nAddrX, nAddrY), Size(nAddrW, nAddrH))); 146*cdf0e10cSrcweir 147*cdf0e10cSrcweir // Briefmarke 148*cdf0e10cSrcweir long nStmpW = (sal_uInt16) (f * 1417 /* 2,5 cm */), 149*cdf0e10cSrcweir nStmpH = (sal_uInt16) (f * 1701 /* 3,0 cm */), 150*cdf0e10cSrcweir nStmpX = nX + nW - (sal_uInt16) (f * 566) - nStmpW, 151*cdf0e10cSrcweir nStmpY = nY + (sal_uInt16) (f * 566); 152*cdf0e10cSrcweir 153*cdf0e10cSrcweir SetFillColor( aBack ); 154*cdf0e10cSrcweir DrawRect(Rectangle(Point(nStmpX, nStmpY), Size(nStmpW, nStmpH))); 155*cdf0e10cSrcweir } 156*cdf0e10cSrcweir 157*cdf0e10cSrcweir // -------------------------------------------------------------------------- 158*cdf0e10cSrcweir 159*cdf0e10cSrcweir 160*cdf0e10cSrcweir 161*cdf0e10cSrcweir SwEnvDlg::SwEnvDlg(Window* pParent, const SfxItemSet& rSet, 162*cdf0e10cSrcweir SwWrtShell* pWrtSh, Printer* pPrt, sal_Bool bInsert) : 163*cdf0e10cSrcweir 164*cdf0e10cSrcweir SfxTabDialog(pParent, SW_RES(DLG_ENV), &rSet, sal_False, &aEmptyStr), 165*cdf0e10cSrcweir sInsert(SW_RES(ST_INSERT)), 166*cdf0e10cSrcweir sChange(SW_RES(ST_CHANGE)), 167*cdf0e10cSrcweir aEnvItem((const SwEnvItem&) rSet.Get(FN_ENVELOP)), 168*cdf0e10cSrcweir pSh(pWrtSh), 169*cdf0e10cSrcweir pPrinter(pPrt), 170*cdf0e10cSrcweir pAddresseeSet(0), 171*cdf0e10cSrcweir pSenderSet(0) 172*cdf0e10cSrcweir { 173*cdf0e10cSrcweir FreeResource(); 174*cdf0e10cSrcweir 175*cdf0e10cSrcweir GetOKButton().SetText(String(SW_RES(STR_BTN_NEWDOC))); 176*cdf0e10cSrcweir GetOKButton().SetHelpId(HID_ENVELOP_PRINT); 177*cdf0e10cSrcweir GetOKButton().SetHelpText(aEmptyStr); // Damit generierter Hilfetext verwendet wird 178*cdf0e10cSrcweir if (GetUserButton()) 179*cdf0e10cSrcweir { 180*cdf0e10cSrcweir GetUserButton()->SetText(bInsert ? sInsert : sChange); 181*cdf0e10cSrcweir GetUserButton()->SetHelpId(HID_ENVELOP_INSERT); 182*cdf0e10cSrcweir } 183*cdf0e10cSrcweir 184*cdf0e10cSrcweir AddTabPage(TP_ENV_ENV, SwEnvPage ::Create, 0); 185*cdf0e10cSrcweir AddTabPage(TP_ENV_FMT, SwEnvFmtPage::Create, 0); 186*cdf0e10cSrcweir AddTabPage(TP_ENV_PRT, SwEnvPrtPage::Create, 0); 187*cdf0e10cSrcweir } 188*cdf0e10cSrcweir 189*cdf0e10cSrcweir // -------------------------------------------------------------------------- 190*cdf0e10cSrcweir 191*cdf0e10cSrcweir 192*cdf0e10cSrcweir 193*cdf0e10cSrcweir SwEnvDlg::~SwEnvDlg() 194*cdf0e10cSrcweir { 195*cdf0e10cSrcweir delete pAddresseeSet; 196*cdf0e10cSrcweir delete pSenderSet; 197*cdf0e10cSrcweir } 198*cdf0e10cSrcweir 199*cdf0e10cSrcweir // -------------------------------------------------------------------------- 200*cdf0e10cSrcweir 201*cdf0e10cSrcweir 202*cdf0e10cSrcweir 203*cdf0e10cSrcweir void SwEnvDlg::PageCreated(sal_uInt16 nId, SfxTabPage &rPage) 204*cdf0e10cSrcweir { 205*cdf0e10cSrcweir if (nId == TP_ENV_PRT) 206*cdf0e10cSrcweir { 207*cdf0e10cSrcweir ((SwEnvPrtPage*)&rPage)->SetPrt(pPrinter); 208*cdf0e10cSrcweir } 209*cdf0e10cSrcweir } 210*cdf0e10cSrcweir 211*cdf0e10cSrcweir // -------------------------------------------------------------------------- 212*cdf0e10cSrcweir 213*cdf0e10cSrcweir short SwEnvDlg::Ok() 214*cdf0e10cSrcweir { 215*cdf0e10cSrcweir short nRet = SfxTabDialog::Ok(); 216*cdf0e10cSrcweir 217*cdf0e10cSrcweir if (nRet == RET_OK || nRet == RET_USER) 218*cdf0e10cSrcweir { 219*cdf0e10cSrcweir if (pAddresseeSet) 220*cdf0e10cSrcweir { 221*cdf0e10cSrcweir SwTxtFmtColl* pColl = pSh->GetTxtCollFromPool(RES_POOLCOLL_JAKETADRESS); 222*cdf0e10cSrcweir pColl->SetFmtAttr(*pAddresseeSet); 223*cdf0e10cSrcweir } 224*cdf0e10cSrcweir if (pSenderSet) 225*cdf0e10cSrcweir { 226*cdf0e10cSrcweir SwTxtFmtColl* pColl = pSh->GetTxtCollFromPool(RES_POOLCOLL_SENDADRESS); 227*cdf0e10cSrcweir pColl->SetFmtAttr(*pSenderSet); 228*cdf0e10cSrcweir } 229*cdf0e10cSrcweir } 230*cdf0e10cSrcweir 231*cdf0e10cSrcweir return nRet; 232*cdf0e10cSrcweir } 233*cdf0e10cSrcweir 234*cdf0e10cSrcweir // -------------------------------------------------------------------------- 235*cdf0e10cSrcweir 236*cdf0e10cSrcweir 237*cdf0e10cSrcweir 238*cdf0e10cSrcweir SwEnvPage::SwEnvPage(Window* pParent, const SfxItemSet& rSet) : 239*cdf0e10cSrcweir 240*cdf0e10cSrcweir SfxTabPage(pParent, SW_RES(TP_ENV_ENV), rSet), 241*cdf0e10cSrcweir 242*cdf0e10cSrcweir aAddrText (this, SW_RES(TXT_ADDR )), 243*cdf0e10cSrcweir aAddrEdit (this, SW_RES(EDT_ADDR )), 244*cdf0e10cSrcweir aDatabaseFT (this, SW_RES(FT_DATABASE)), 245*cdf0e10cSrcweir aDatabaseLB (this, SW_RES(LB_DATABASE)), 246*cdf0e10cSrcweir aTableFT (this, SW_RES(FT_TABLE )), 247*cdf0e10cSrcweir aTableLB (this, SW_RES(LB_TABLE )), 248*cdf0e10cSrcweir aInsertBT (this, SW_RES(BTN_INSERT )), 249*cdf0e10cSrcweir aDBFieldFT (this, SW_RES(FT_DBFIELD )), 250*cdf0e10cSrcweir aDBFieldLB (this, SW_RES(LB_DBFIELD )), 251*cdf0e10cSrcweir aSenderBox (this, SW_RES(BOX_SEND )), 252*cdf0e10cSrcweir aSenderEdit (this, SW_RES(EDT_SEND )), 253*cdf0e10cSrcweir aPreview (this, SW_RES(WIN_PREVIEW)) 254*cdf0e10cSrcweir 255*cdf0e10cSrcweir { 256*cdf0e10cSrcweir FreeResource(); 257*cdf0e10cSrcweir SetExchangeSupport(); 258*cdf0e10cSrcweir pSh = GetParent()->pSh; 259*cdf0e10cSrcweir 260*cdf0e10cSrcweir // Handler installieren 261*cdf0e10cSrcweir aDatabaseLB .SetSelectHdl(LINK(this, SwEnvPage, DatabaseHdl )); 262*cdf0e10cSrcweir aTableLB .SetSelectHdl(LINK(this, SwEnvPage, DatabaseHdl )); 263*cdf0e10cSrcweir aInsertBT .SetClickHdl (LINK(this, SwEnvPage, FieldHdl )); 264*cdf0e10cSrcweir aSenderBox .SetClickHdl (LINK(this, SwEnvPage, SenderHdl )); 265*cdf0e10cSrcweir aPreview.SetBorderStyle( WINDOW_BORDER_MONO ); 266*cdf0e10cSrcweir 267*cdf0e10cSrcweir SwDBData aData = pSh->GetDBData(); 268*cdf0e10cSrcweir sActDBName = aData.sDataSource; 269*cdf0e10cSrcweir sActDBName += DB_DELIM; 270*cdf0e10cSrcweir sActDBName += (String)aData.sCommand; 271*cdf0e10cSrcweir InitDatabaseBox(); 272*cdf0e10cSrcweir } 273*cdf0e10cSrcweir 274*cdf0e10cSrcweir // -------------------------------------------------------------------------- 275*cdf0e10cSrcweir 276*cdf0e10cSrcweir 277*cdf0e10cSrcweir 278*cdf0e10cSrcweir SwEnvPage::~SwEnvPage() 279*cdf0e10cSrcweir { 280*cdf0e10cSrcweir } 281*cdf0e10cSrcweir 282*cdf0e10cSrcweir // -------------------------------------------------------------------------- 283*cdf0e10cSrcweir 284*cdf0e10cSrcweir 285*cdf0e10cSrcweir 286*cdf0e10cSrcweir IMPL_LINK( SwEnvPage, DatabaseHdl, ListBox *, pListBox ) 287*cdf0e10cSrcweir { 288*cdf0e10cSrcweir SwWait aWait( *pSh->GetView().GetDocShell(), sal_True ); 289*cdf0e10cSrcweir 290*cdf0e10cSrcweir if (pListBox == &aDatabaseLB) 291*cdf0e10cSrcweir { 292*cdf0e10cSrcweir sActDBName = pListBox->GetSelectEntry(); 293*cdf0e10cSrcweir pSh->GetNewDBMgr()->GetTableNames(&aTableLB, sActDBName); 294*cdf0e10cSrcweir sActDBName += DB_DELIM; 295*cdf0e10cSrcweir } 296*cdf0e10cSrcweir else 297*cdf0e10cSrcweir sActDBName.SetToken(1, DB_DELIM, aTableLB.GetSelectEntry()); 298*cdf0e10cSrcweir pSh->GetNewDBMgr()->GetColumnNames( 299*cdf0e10cSrcweir &aDBFieldLB, aDatabaseLB.GetSelectEntry(), aTableLB.GetSelectEntry()); 300*cdf0e10cSrcweir return 0; 301*cdf0e10cSrcweir } 302*cdf0e10cSrcweir 303*cdf0e10cSrcweir // -------------------------------------------------------------------------- 304*cdf0e10cSrcweir 305*cdf0e10cSrcweir 306*cdf0e10cSrcweir 307*cdf0e10cSrcweir IMPL_LINK( SwEnvPage, FieldHdl, Button *, EMPTYARG ) 308*cdf0e10cSrcweir { 309*cdf0e10cSrcweir String aStr ( '<' ); 310*cdf0e10cSrcweir aStr += aDatabaseLB.GetSelectEntry(); 311*cdf0e10cSrcweir aStr += '.'; 312*cdf0e10cSrcweir // aStr += DB_DELIM; 313*cdf0e10cSrcweir aStr += aTableLB.GetSelectEntry(); 314*cdf0e10cSrcweir aStr += '.'; 315*cdf0e10cSrcweir aStr += aTableLB.GetEntryData(aTableLB.GetSelectEntryPos()) == 0 ? '0' : '1'; 316*cdf0e10cSrcweir aStr += '.'; 317*cdf0e10cSrcweir // aStr += DB_DELIM; 318*cdf0e10cSrcweir aStr += aDBFieldLB.GetSelectEntry(); 319*cdf0e10cSrcweir aStr += '>'; 320*cdf0e10cSrcweir aAddrEdit.ReplaceSelected(aStr); 321*cdf0e10cSrcweir Selection aSel = aAddrEdit.GetSelection(); 322*cdf0e10cSrcweir aAddrEdit.GrabFocus(); 323*cdf0e10cSrcweir aAddrEdit.SetSelection(aSel); 324*cdf0e10cSrcweir return 0; 325*cdf0e10cSrcweir } 326*cdf0e10cSrcweir 327*cdf0e10cSrcweir // -------------------------------------------------------------------------- 328*cdf0e10cSrcweir 329*cdf0e10cSrcweir 330*cdf0e10cSrcweir 331*cdf0e10cSrcweir IMPL_LINK( SwEnvPage, SenderHdl, Button *, EMPTYARG ) 332*cdf0e10cSrcweir { 333*cdf0e10cSrcweir const sal_Bool bEnable = aSenderBox.IsChecked(); 334*cdf0e10cSrcweir GetParent()->aEnvItem.bSend = bEnable; 335*cdf0e10cSrcweir aSenderEdit.Enable(bEnable); 336*cdf0e10cSrcweir if ( bEnable ) 337*cdf0e10cSrcweir { 338*cdf0e10cSrcweir aSenderEdit.GrabFocus(); 339*cdf0e10cSrcweir if(!aSenderEdit.GetText().Len()) 340*cdf0e10cSrcweir aSenderEdit.SetText(MakeSender()); 341*cdf0e10cSrcweir } 342*cdf0e10cSrcweir aPreview.Invalidate(); 343*cdf0e10cSrcweir return 0; 344*cdf0e10cSrcweir } 345*cdf0e10cSrcweir 346*cdf0e10cSrcweir // -------------------------------------------------------------------------- 347*cdf0e10cSrcweir 348*cdf0e10cSrcweir 349*cdf0e10cSrcweir 350*cdf0e10cSrcweir void SwEnvPage::InitDatabaseBox() 351*cdf0e10cSrcweir { 352*cdf0e10cSrcweir if (pSh->GetNewDBMgr()) 353*cdf0e10cSrcweir { 354*cdf0e10cSrcweir aDatabaseLB.Clear(); 355*cdf0e10cSrcweir Sequence<OUString> aDataNames = SwNewDBMgr::GetExistingDatabaseNames(); 356*cdf0e10cSrcweir const OUString* pDataNames = aDataNames.getConstArray(); 357*cdf0e10cSrcweir for (long i = 0; i < aDataNames.getLength(); i++) 358*cdf0e10cSrcweir aDatabaseLB.InsertEntry(pDataNames[i]); 359*cdf0e10cSrcweir 360*cdf0e10cSrcweir String sDBName = sActDBName.GetToken( 0, DB_DELIM ); 361*cdf0e10cSrcweir String sTableName = sActDBName.GetToken( 1, DB_DELIM ); 362*cdf0e10cSrcweir aDatabaseLB.SelectEntry(sDBName); 363*cdf0e10cSrcweir if (pSh->GetNewDBMgr()->GetTableNames(&aTableLB, sDBName)) 364*cdf0e10cSrcweir { 365*cdf0e10cSrcweir aTableLB.SelectEntry(sTableName); 366*cdf0e10cSrcweir pSh->GetNewDBMgr()->GetColumnNames(&aDBFieldLB, sDBName, sTableName); 367*cdf0e10cSrcweir } 368*cdf0e10cSrcweir else 369*cdf0e10cSrcweir aDBFieldLB.Clear(); 370*cdf0e10cSrcweir 371*cdf0e10cSrcweir } 372*cdf0e10cSrcweir } 373*cdf0e10cSrcweir 374*cdf0e10cSrcweir // -------------------------------------------------------------------------- 375*cdf0e10cSrcweir 376*cdf0e10cSrcweir 377*cdf0e10cSrcweir 378*cdf0e10cSrcweir SfxTabPage* SwEnvPage::Create(Window* pParent, const SfxItemSet& rSet) 379*cdf0e10cSrcweir { 380*cdf0e10cSrcweir return new SwEnvPage(pParent, rSet); 381*cdf0e10cSrcweir } 382*cdf0e10cSrcweir 383*cdf0e10cSrcweir // -------------------------------------------------------------------------- 384*cdf0e10cSrcweir 385*cdf0e10cSrcweir 386*cdf0e10cSrcweir 387*cdf0e10cSrcweir void SwEnvPage::ActivatePage(const SfxItemSet& rSet) 388*cdf0e10cSrcweir { 389*cdf0e10cSrcweir SfxItemSet aSet(rSet); 390*cdf0e10cSrcweir aSet.Put(GetParent()->aEnvItem); 391*cdf0e10cSrcweir Reset(aSet); 392*cdf0e10cSrcweir } 393*cdf0e10cSrcweir 394*cdf0e10cSrcweir // -------------------------------------------------------------------------- 395*cdf0e10cSrcweir 396*cdf0e10cSrcweir 397*cdf0e10cSrcweir 398*cdf0e10cSrcweir int SwEnvPage::DeactivatePage(SfxItemSet* _pSet) 399*cdf0e10cSrcweir { 400*cdf0e10cSrcweir FillItem(GetParent()->aEnvItem); 401*cdf0e10cSrcweir if( _pSet ) 402*cdf0e10cSrcweir FillItemSet(*_pSet); 403*cdf0e10cSrcweir return SfxTabPage::LEAVE_PAGE; 404*cdf0e10cSrcweir } 405*cdf0e10cSrcweir 406*cdf0e10cSrcweir // -------------------------------------------------------------------------- 407*cdf0e10cSrcweir 408*cdf0e10cSrcweir 409*cdf0e10cSrcweir 410*cdf0e10cSrcweir void SwEnvPage::FillItem(SwEnvItem& rItem) 411*cdf0e10cSrcweir { 412*cdf0e10cSrcweir rItem.aAddrText = aAddrEdit .GetText(); 413*cdf0e10cSrcweir rItem.bSend = aSenderBox .IsChecked(); 414*cdf0e10cSrcweir rItem.aSendText = aSenderEdit.GetText(); 415*cdf0e10cSrcweir } 416*cdf0e10cSrcweir 417*cdf0e10cSrcweir // -------------------------------------------------------------------------- 418*cdf0e10cSrcweir 419*cdf0e10cSrcweir 420*cdf0e10cSrcweir 421*cdf0e10cSrcweir sal_Bool SwEnvPage::FillItemSet(SfxItemSet& rSet) 422*cdf0e10cSrcweir { 423*cdf0e10cSrcweir FillItem(GetParent()->aEnvItem); 424*cdf0e10cSrcweir rSet.Put(GetParent()->aEnvItem); 425*cdf0e10cSrcweir return sal_True; 426*cdf0e10cSrcweir } 427*cdf0e10cSrcweir 428*cdf0e10cSrcweir // ---------------------------------------------------------------------------- 429*cdf0e10cSrcweir 430*cdf0e10cSrcweir 431*cdf0e10cSrcweir 432*cdf0e10cSrcweir void SwEnvPage::Reset(const SfxItemSet& rSet) 433*cdf0e10cSrcweir { 434*cdf0e10cSrcweir SwEnvItem aItem = (const SwEnvItem&) rSet.Get(FN_ENVELOP); 435*cdf0e10cSrcweir aAddrEdit .SetText(String(aItem.aAddrText).ConvertLineEnd()); 436*cdf0e10cSrcweir aSenderEdit.SetText(String(aItem.aSendText).ConvertLineEnd()); 437*cdf0e10cSrcweir aSenderBox .Check (aItem.bSend); 438*cdf0e10cSrcweir aSenderBox.GetClickHdl().Call(&aSenderBox); 439*cdf0e10cSrcweir } 440*cdf0e10cSrcweir 441*cdf0e10cSrcweir 442