1*efeef26fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*efeef26fSAndrew Rist * distributed with this work for additional information 6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance 9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*efeef26fSAndrew Rist * software distributed under the License is distributed on an 15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the 17*efeef26fSAndrew Rist * specific language governing permissions and limitations 18*efeef26fSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*efeef26fSAndrew Rist *************************************************************/ 21*efeef26fSAndrew Rist 22*efeef26fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_sw.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir #ifdef SW_DLLIMPLEMENTATION 28cdf0e10cSrcweir #undef SW_DLLIMPLEMENTATION 29cdf0e10cSrcweir #endif 30cdf0e10cSrcweir #include <mmgreetingspage.hxx> 31cdf0e10cSrcweir #include <mailmergewizard.hxx> 32cdf0e10cSrcweir #include <mmconfigitem.hxx> 33cdf0e10cSrcweir #include <mmaddressblockpage.hxx> 34cdf0e10cSrcweir #include <swtypes.hxx> 35cdf0e10cSrcweir #include <vcl/msgbox.hxx> 36cdf0e10cSrcweir #include <mmgreetingspage.hrc> 37cdf0e10cSrcweir #include <dbui.hrc> 38cdf0e10cSrcweir #include <com/sun/star/sdb/XColumn.hpp> 39cdf0e10cSrcweir #include <com/sun/star/sdbcx/XColumnsSupplier.hpp> 40cdf0e10cSrcweir #include <com/sun/star/container/XNameAccess.hpp> 41cdf0e10cSrcweir #include <helpid.h> 42cdf0e10cSrcweir 43cdf0e10cSrcweir using namespace svt; 44cdf0e10cSrcweir using namespace ::com::sun::star; 45cdf0e10cSrcweir using namespace ::com::sun::star::uno; 46cdf0e10cSrcweir // ----------------------------------------------------------------------- 47cdf0e10cSrcweir void lcl_FillGreetingsBox(ListBox& rBox, 48cdf0e10cSrcweir SwMailMergeConfigItem& rConfig, 49cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType) 50cdf0e10cSrcweir { 51cdf0e10cSrcweir const Sequence< ::rtl::OUString> rEntries = rConfig.GetGreetings(eType); 52cdf0e10cSrcweir for(sal_Int32 nEntry = 0; nEntry < rEntries.getLength(); ++nEntry) 53cdf0e10cSrcweir rBox.InsertEntry(rEntries[nEntry]); 54cdf0e10cSrcweir rBox.SelectEntryPos((sal_uInt16)rConfig.GetCurrentGreeting(eType)); 55cdf0e10cSrcweir } 56cdf0e10cSrcweir // ----------------------------------------------------------------------- 57cdf0e10cSrcweir void lcl_FillGreetingsBox(ComboBox& rBox, 58cdf0e10cSrcweir SwMailMergeConfigItem& rConfig, 59cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType) 60cdf0e10cSrcweir { 61cdf0e10cSrcweir const Sequence< ::rtl::OUString> rEntries = rConfig.GetGreetings(eType); 62cdf0e10cSrcweir for(sal_Int32 nEntry = 0; nEntry < rEntries.getLength(); ++nEntry) 63cdf0e10cSrcweir rBox.InsertEntry(rEntries[nEntry]); 64cdf0e10cSrcweir rBox.SelectEntryPos((sal_uInt16)rConfig.GetCurrentGreeting(eType)); 65cdf0e10cSrcweir } 66cdf0e10cSrcweir // ----------------------------------------------------------------------- 67cdf0e10cSrcweir void lcl_StoreGreetingsBox(ListBox& rBox, 68cdf0e10cSrcweir SwMailMergeConfigItem& rConfig, 69cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType) 70cdf0e10cSrcweir { 71cdf0e10cSrcweir Sequence< ::rtl::OUString> aEntries(rBox.GetEntryCount()); 72cdf0e10cSrcweir ::rtl::OUString* pEntries = aEntries.getArray(); 73cdf0e10cSrcweir for(sal_uInt16 nEntry = 0; nEntry < rBox.GetEntryCount(); ++nEntry) 74cdf0e10cSrcweir pEntries[nEntry] = rBox.GetEntry(nEntry); 75cdf0e10cSrcweir rConfig.SetGreetings(eType, aEntries); 76cdf0e10cSrcweir rConfig.SetCurrentGreeting(eType, rBox.GetSelectEntryPos()); 77cdf0e10cSrcweir } 78cdf0e10cSrcweir // ----------------------------------------------------------------------- 79cdf0e10cSrcweir void lcl_StoreGreetingsBox(ComboBox& rBox, 80cdf0e10cSrcweir SwMailMergeConfigItem& rConfig, 81cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType) 82cdf0e10cSrcweir { 83cdf0e10cSrcweir Sequence< ::rtl::OUString> aEntries(rBox.GetEntryCount()); 84cdf0e10cSrcweir ::rtl::OUString* pEntries = aEntries.getArray(); 85cdf0e10cSrcweir for(sal_uInt16 nEntry = 0; nEntry < rBox.GetEntryCount(); ++nEntry) 86cdf0e10cSrcweir pEntries[nEntry] = rBox.GetEntry(nEntry); 87cdf0e10cSrcweir rConfig.SetGreetings(eType, aEntries); 88cdf0e10cSrcweir rConfig.SetCurrentGreeting(eType, rBox.GetSelectEntryPos()); 89cdf0e10cSrcweir } 90cdf0e10cSrcweir /*-- 30.04.2004 10:42:57--------------------------------------------------- 91cdf0e10cSrcweir 92cdf0e10cSrcweir -----------------------------------------------------------------------*/ 93cdf0e10cSrcweir IMPL_LINK(SwGreetingsHandler, IndividualHdl_Impl, CheckBox*, EMPTYARG) 94cdf0e10cSrcweir { 95cdf0e10cSrcweir sal_Bool bIndividual = m_pPersonalizedCB->IsEnabled() && m_pPersonalizedCB->IsChecked(); 96cdf0e10cSrcweir m_pFemaleFT->Enable(bIndividual); 97cdf0e10cSrcweir m_pFemaleLB->Enable(bIndividual); 98cdf0e10cSrcweir m_pFemalePB->Enable(bIndividual); 99cdf0e10cSrcweir m_pMaleFT->Enable(bIndividual); 100cdf0e10cSrcweir m_pMaleLB->Enable(bIndividual); 101cdf0e10cSrcweir m_pMalePB->Enable(bIndividual); 102cdf0e10cSrcweir m_pFemaleFI->Enable(bIndividual); 103cdf0e10cSrcweir m_pFemaleColumnFT->Enable(bIndividual); 104cdf0e10cSrcweir m_pFemaleColumnLB->Enable(bIndividual); 105cdf0e10cSrcweir m_pFemaleFieldFT->Enable(bIndividual); 106cdf0e10cSrcweir m_pFemaleFieldCB->Enable(bIndividual); 107cdf0e10cSrcweir 108cdf0e10cSrcweir if( m_bIsTabPage ) 109cdf0e10cSrcweir { 110cdf0e10cSrcweir m_pWizard->GetConfigItem().SetIndividualGreeting(bIndividual, sal_False); 111cdf0e10cSrcweir m_pWizard->UpdateRoadmap(); 112cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE)); 113cdf0e10cSrcweir } 114cdf0e10cSrcweir UpdatePreview(); 115cdf0e10cSrcweir return 0; 116cdf0e10cSrcweir } 117cdf0e10cSrcweir /*-- 30.04.2004 10:42:57--------------------------------------------------- 118cdf0e10cSrcweir 119cdf0e10cSrcweir -----------------------------------------------------------------------*/ 120cdf0e10cSrcweir IMPL_LINK(SwGreetingsHandler, GreetingHdl_Impl, PushButton*, pButton) 121cdf0e10cSrcweir { 122cdf0e10cSrcweir SwCustomizeAddressBlockDialog* pDlg = 123cdf0e10cSrcweir new SwCustomizeAddressBlockDialog(pButton, m_pWizard->GetConfigItem(), 124cdf0e10cSrcweir pButton == m_pMalePB ? 125cdf0e10cSrcweir SwCustomizeAddressBlockDialog::GREETING_MALE : 126cdf0e10cSrcweir SwCustomizeAddressBlockDialog::GREETING_FEMALE ); 127cdf0e10cSrcweir if(RET_OK == pDlg->Execute()) 128cdf0e10cSrcweir { 129cdf0e10cSrcweir ListBox* pToInsert = pButton == m_pMalePB ? m_pMaleLB : m_pFemaleLB; 130cdf0e10cSrcweir pToInsert->SelectEntryPos(pToInsert->InsertEntry(pDlg->GetAddress())); 131cdf0e10cSrcweir if(m_bIsTabPage) 132cdf0e10cSrcweir { 133cdf0e10cSrcweir m_pWizard->UpdateRoadmap(); 134cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE)); 135cdf0e10cSrcweir } 136cdf0e10cSrcweir UpdatePreview(); 137cdf0e10cSrcweir } 138cdf0e10cSrcweir delete pDlg; 139cdf0e10cSrcweir return 0; 140cdf0e10cSrcweir } 141cdf0e10cSrcweir /*-- 16.06.2004 10:56:21--------------------------------------------------- 142cdf0e10cSrcweir 143cdf0e10cSrcweir -----------------------------------------------------------------------*/ 144cdf0e10cSrcweir void SwGreetingsHandler::UpdatePreview() 145cdf0e10cSrcweir { 146cdf0e10cSrcweir //the base class does nothing 147cdf0e10cSrcweir } 148cdf0e10cSrcweir /*-- 30.04.2004 10:42:59--------------------------------------------------- 149cdf0e10cSrcweir 150cdf0e10cSrcweir -----------------------------------------------------------------------*/ 151cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, AssignHdl_Impl, PushButton*, pButton) 152cdf0e10cSrcweir { 153cdf0e10cSrcweir String sPreview = m_aFemaleLB.GetSelectEntry(); 154cdf0e10cSrcweir sPreview += '\n'; 155cdf0e10cSrcweir sPreview += m_aMaleLB.GetSelectEntry(); 156cdf0e10cSrcweir SwAssignFieldsDialog* pDlg = 157cdf0e10cSrcweir new SwAssignFieldsDialog(pButton, m_pWizard->GetConfigItem(), sPreview, false); 158cdf0e10cSrcweir if(RET_OK == pDlg->Execute()) 159cdf0e10cSrcweir { 160cdf0e10cSrcweir UpdatePreview(); 161cdf0e10cSrcweir m_pWizard->UpdateRoadmap(); 162cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE)); 163cdf0e10cSrcweir } 164cdf0e10cSrcweir delete pDlg; 165cdf0e10cSrcweir return 0; 166cdf0e10cSrcweir } 167cdf0e10cSrcweir /*-- 05.05.2004 15:25:56--------------------------------------------------- 168cdf0e10cSrcweir 169cdf0e10cSrcweir -----------------------------------------------------------------------*/ 170cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, GreetingSelectHdl_Impl, ListBox*, EMPTYARG) 171cdf0e10cSrcweir { 172cdf0e10cSrcweir UpdatePreview(); 173cdf0e10cSrcweir return 0; 174cdf0e10cSrcweir } 175cdf0e10cSrcweir /*-- 05.05.2004 15:23:43--------------------------------------------------- 176cdf0e10cSrcweir 177cdf0e10cSrcweir -----------------------------------------------------------------------*/ 178cdf0e10cSrcweir void SwMailMergeGreetingsPage::UpdatePreview() 179cdf0e10cSrcweir { 180cdf0e10cSrcweir //find out which type of greeting should be selected: 181cdf0e10cSrcweir bool bFemale = false; 182cdf0e10cSrcweir bool bNoValue = !m_pFemaleColumnLB->IsEnabled(); 183cdf0e10cSrcweir if( !bNoValue ) 184cdf0e10cSrcweir { 185cdf0e10cSrcweir ::rtl::OUString sFemaleValue = m_aFemaleFieldCB.GetText(); 186cdf0e10cSrcweir ::rtl::OUString sFemaleColumn = m_aFemaleColumnLB.GetSelectEntry(); 187cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp( m_pWizard->GetConfigItem().GetResultSet(), UNO_QUERY); 188cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp.is() ? xColsSupp->getColumns() : 0; 189cdf0e10cSrcweir if(sFemaleValue.getLength() && sFemaleColumn.getLength() && 190cdf0e10cSrcweir xColAccess.is() && 191cdf0e10cSrcweir xColAccess->hasByName(sFemaleColumn)) 192cdf0e10cSrcweir { 193cdf0e10cSrcweir //get the content and exchange it in the address string 194cdf0e10cSrcweir Any aCol = xColAccess->getByName(sFemaleColumn); 195cdf0e10cSrcweir Reference< sdb::XColumn > xColumn; 196cdf0e10cSrcweir aCol >>= xColumn; 197cdf0e10cSrcweir if(xColumn.is()) 198cdf0e10cSrcweir { 199cdf0e10cSrcweir try 200cdf0e10cSrcweir { 201cdf0e10cSrcweir ::rtl::OUString sFemaleColumnValue = xColumn->getString(); 202cdf0e10cSrcweir bFemale = sFemaleColumnValue == sFemaleValue; 203cdf0e10cSrcweir //bNoValue = !sFemaleColumnValue.getLength(); 204cdf0e10cSrcweir if( !bNoValue ) 205cdf0e10cSrcweir { 206cdf0e10cSrcweir //no last name value marks the greeting also als neutral 207cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 208cdf0e10cSrcweir ::rtl::OUString sLastNameColumn = rConfig.GetAssignedColumn(MM_PART_LASTNAME); 209cdf0e10cSrcweir if ( xColAccess->hasByName(sLastNameColumn) ) 210cdf0e10cSrcweir { 211cdf0e10cSrcweir aCol = xColAccess->getByName(sLastNameColumn); 212cdf0e10cSrcweir aCol >>= xColumn; 213cdf0e10cSrcweir ::rtl::OUString sLastNameColumnValue = xColumn->getString(); 214cdf0e10cSrcweir bNoValue = !sLastNameColumnValue.getLength(); 215cdf0e10cSrcweir } 216cdf0e10cSrcweir } 217cdf0e10cSrcweir } 218cdf0e10cSrcweir catch( sdbc::SQLException& ) 219cdf0e10cSrcweir { 220cdf0e10cSrcweir DBG_ERROR("SQLException caught"); 221cdf0e10cSrcweir } 222cdf0e10cSrcweir } 223cdf0e10cSrcweir } 224cdf0e10cSrcweir } 225cdf0e10cSrcweir 226cdf0e10cSrcweir String sPreview = bFemale ? m_aFemaleLB.GetSelectEntry() : 227cdf0e10cSrcweir bNoValue ? m_aNeutralCB.GetText() : m_aMaleLB.GetSelectEntry(); 228cdf0e10cSrcweir 229cdf0e10cSrcweir sPreview = SwAddressPreview::FillData(sPreview, m_pWizard->GetConfigItem()); 230cdf0e10cSrcweir m_aPreviewWIN.SetAddress(sPreview); 231cdf0e10cSrcweir } 232cdf0e10cSrcweir /*-- 17.05.2004 15:44:53--------------------------------------------------- 233cdf0e10cSrcweir 234cdf0e10cSrcweir -----------------------------------------------------------------------*/ 235cdf0e10cSrcweir void SwGreetingsHandler::Contains(sal_Bool bContainsGreeting) 236cdf0e10cSrcweir { 237cdf0e10cSrcweir m_pPersonalizedCB->Enable(bContainsGreeting); 238cdf0e10cSrcweir sal_Bool bEnablePersonal = bContainsGreeting && m_pPersonalizedCB->IsChecked(); 239cdf0e10cSrcweir m_pFemaleFT->Enable(bEnablePersonal); 240cdf0e10cSrcweir m_pFemaleLB->Enable(bEnablePersonal); 241cdf0e10cSrcweir m_pFemalePB->Enable(bEnablePersonal); 242cdf0e10cSrcweir m_pMaleFT->Enable(bEnablePersonal); 243cdf0e10cSrcweir m_pMaleLB->Enable(bEnablePersonal); 244cdf0e10cSrcweir m_pMalePB->Enable(bEnablePersonal); 245cdf0e10cSrcweir m_pFemaleFI->Enable(bEnablePersonal); 246cdf0e10cSrcweir m_pFemaleColumnFT->Enable(bEnablePersonal); 247cdf0e10cSrcweir m_pFemaleColumnLB->Enable(bEnablePersonal); 248cdf0e10cSrcweir m_pFemaleFieldFT->Enable(bEnablePersonal); 249cdf0e10cSrcweir m_pFemaleFieldCB->Enable(bEnablePersonal); 250cdf0e10cSrcweir 251cdf0e10cSrcweir m_pNeutralFT->Enable(bContainsGreeting); 252cdf0e10cSrcweir m_pNeutralCB->Enable(bContainsGreeting); 253cdf0e10cSrcweir } 254cdf0e10cSrcweir /*-- 02.04.2004 14:17:52--------------------------------------------------- 255cdf0e10cSrcweir 256cdf0e10cSrcweir -----------------------------------------------------------------------*/ 257cdf0e10cSrcweir SwMailMergeGreetingsPage::SwMailMergeGreetingsPage( SwMailMergeWizard* _pParent) : 258cdf0e10cSrcweir svt::OWizardPage(_pParent, SW_RES(DLG_MM_GREETINGS_PAGE)), 259cdf0e10cSrcweir #ifdef MSC 260cdf0e10cSrcweir #pragma warning (disable : 4355) 261cdf0e10cSrcweir #endif 262cdf0e10cSrcweir m_aHeaderFI(this, SW_RES( FI_HEADER ) ), 263cdf0e10cSrcweir m_aGreetingLineCB(this, SW_RES( CB_GREETINGLINE ) ), 264cdf0e10cSrcweir m_aPersonalizedCB(this, SW_RES( CB_PERSONALIZED ) ), 265cdf0e10cSrcweir m_aFemaleFT(this, SW_RES( FT_FEMALE ) ), 266cdf0e10cSrcweir m_aFemaleLB(this, SW_RES( LB_FEMALE ) ), 267cdf0e10cSrcweir m_aFemalePB(this, SW_RES( PB_FEMALE ) ), 268cdf0e10cSrcweir m_aMaleFT(this, SW_RES( FT_MALE ) ), 269cdf0e10cSrcweir m_aMaleLB(this, SW_RES( LB_MALE ) ), 270cdf0e10cSrcweir m_aMalePB(this, SW_RES( PB_MALE ) ), 271cdf0e10cSrcweir m_aFemaleFI(this, SW_RES( FI_FEMALE ) ), 272cdf0e10cSrcweir m_aFemaleColumnFT(this, SW_RES( FT_FEMALECOLUMN ) ), 273cdf0e10cSrcweir m_aFemaleColumnLB(this, SW_RES( LB_FEMALECOLUMN ) ), 274cdf0e10cSrcweir m_aFemaleFieldFT(this, SW_RES( FT_FEMALEFIELD ) ), 275cdf0e10cSrcweir m_aFemaleFieldCB(this, SW_RES( CB_FEMALEFIELD ) ), 276cdf0e10cSrcweir m_aNeutralFT(this, SW_RES( FT_NEUTRAL ) ), 277cdf0e10cSrcweir m_aNeutralCB(this, SW_RES( CB_NEUTRAL ) ), 278cdf0e10cSrcweir m_aPreviewFI( this, SW_RES( FI_PREVIEW ) ), 279cdf0e10cSrcweir m_aPreviewWIN( this, SW_RES( WIN_PREVIEW ) ), 280cdf0e10cSrcweir m_aAssignPB( this, SW_RES( PB_ASSIGN ) ), 281cdf0e10cSrcweir m_aDocumentIndexFI( this, SW_RES( FI_DOCINDEX ) ), 282cdf0e10cSrcweir m_aPrevSetIB( this, SW_RES( IB_PREVSET ) ), 283cdf0e10cSrcweir m_aNextSetIB( this, SW_RES( IB_NEXTSET ) ), 284cdf0e10cSrcweir m_sDocument( SW_RES( STR_DOCUMENT ) ) 285cdf0e10cSrcweir #ifdef MSC 286cdf0e10cSrcweir #pragma warning (default : 4355) 287cdf0e10cSrcweir #endif 288cdf0e10cSrcweir { 289cdf0e10cSrcweir m_pWizard = _pParent; 290cdf0e10cSrcweir m_pGreetingLineCB = &m_aGreetingLineCB; 291cdf0e10cSrcweir m_pPersonalizedCB = &m_aPersonalizedCB; 292cdf0e10cSrcweir m_pFemaleFT = & m_aFemaleFT; 293cdf0e10cSrcweir m_pFemaleLB = & m_aFemaleLB; 294cdf0e10cSrcweir m_pFemalePB = & m_aFemalePB; 295cdf0e10cSrcweir m_pMaleFT = & m_aMaleFT; 296cdf0e10cSrcweir m_pMaleLB = & m_aMaleLB; 297cdf0e10cSrcweir m_pMalePB = & m_aMalePB; 298cdf0e10cSrcweir m_pFemaleFI = & m_aFemaleFI; 299cdf0e10cSrcweir m_pFemaleColumnFT = &m_aFemaleColumnFT; 300cdf0e10cSrcweir m_pFemaleColumnLB = &m_aFemaleColumnLB; 301cdf0e10cSrcweir m_pFemaleFieldFT = & m_aFemaleFieldFT; 302cdf0e10cSrcweir m_pFemaleFieldCB = & m_aFemaleFieldCB; 303cdf0e10cSrcweir m_pNeutralFT = & m_aNeutralFT; 304cdf0e10cSrcweir m_pNeutralCB = &m_aNeutralCB; 305cdf0e10cSrcweir m_bIsTabPage = true; 306cdf0e10cSrcweir 307cdf0e10cSrcweir m_pPersonalizedCB->SetHelpId( HID_MM_GREETINGS_CB_PERSONALIZED); 308cdf0e10cSrcweir m_pFemaleLB->SetHelpId( HID_MM_GREETINGS_LB_FEMALE ); 309cdf0e10cSrcweir m_pFemalePB->SetHelpId( HID_MM_GREETINGS_PB_FEMALE ); 310cdf0e10cSrcweir m_pMaleLB->SetHelpId( HID_MM_GREETINGS_LB_MALE ); 311cdf0e10cSrcweir m_pMalePB->SetHelpId( HID_MM_GREETINGS_PB_MALE ); 312cdf0e10cSrcweir m_pFemaleColumnLB->SetHelpId( HID_MM_GREETINGS_LB_FEMALECOLUMN); 313cdf0e10cSrcweir m_pFemaleFieldCB->SetHelpId( HID_MM_GREETINGS_CB_FEMALEFIELD ); 314cdf0e10cSrcweir m_pNeutralCB->SetHelpId( HID_MM_GREETINGS_CB_NEUTRAL ); 315cdf0e10cSrcweir 316cdf0e10cSrcweir FreeResource(); 317cdf0e10cSrcweir m_aGreetingLineCB.SetClickHdl(LINK(this, SwMailMergeGreetingsPage, ContainsHdl_Impl)); 318cdf0e10cSrcweir Link aIndividualLink = LINK(this, SwGreetingsHandler, IndividualHdl_Impl); 319cdf0e10cSrcweir m_aPersonalizedCB.SetClickHdl(aIndividualLink); 320cdf0e10cSrcweir Link aGreetingLink = LINK(this, SwGreetingsHandler, GreetingHdl_Impl); 321cdf0e10cSrcweir m_aFemalePB.SetClickHdl(aGreetingLink); 322cdf0e10cSrcweir m_aMalePB.SetClickHdl(aGreetingLink); 323cdf0e10cSrcweir m_aAssignPB.SetClickHdl(LINK(this, SwMailMergeGreetingsPage, AssignHdl_Impl)); 324cdf0e10cSrcweir Link aLBoxLink = LINK(this, SwMailMergeGreetingsPage, GreetingSelectHdl_Impl); 325cdf0e10cSrcweir m_aFemaleLB.SetSelectHdl(aLBoxLink); 326cdf0e10cSrcweir m_aMaleLB.SetSelectHdl(aLBoxLink); 327cdf0e10cSrcweir m_aFemaleColumnLB.SetSelectHdl(aLBoxLink); 328cdf0e10cSrcweir m_aFemaleFieldCB.SetSelectHdl(aLBoxLink); 329cdf0e10cSrcweir m_aFemaleFieldCB.SetModifyHdl(aLBoxLink); 330cdf0e10cSrcweir m_aNeutralCB.SetSelectHdl(aLBoxLink); 331cdf0e10cSrcweir m_aNeutralCB.SetModifyHdl(aLBoxLink); 332cdf0e10cSrcweir 333cdf0e10cSrcweir Link aDataLink = LINK(this, SwMailMergeGreetingsPage, InsertDataHdl_Impl); 334cdf0e10cSrcweir m_aPrevSetIB.SetClickHdl(aDataLink); 335cdf0e10cSrcweir m_aNextSetIB.SetClickHdl(aDataLink); 336cdf0e10cSrcweir 337cdf0e10cSrcweir 338cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 339cdf0e10cSrcweir m_aGreetingLineCB.Check(rConfig.IsGreetingLine(sal_False)); 340cdf0e10cSrcweir m_aPersonalizedCB.Check(rConfig.IsIndividualGreeting(sal_False)); 341cdf0e10cSrcweir ContainsHdl_Impl(&m_aGreetingLineCB); 342cdf0e10cSrcweir aIndividualLink.Call(0); 343cdf0e10cSrcweir 344cdf0e10cSrcweir lcl_FillGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE); 345cdf0e10cSrcweir lcl_FillGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE); 346cdf0e10cSrcweir lcl_FillGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL); 347cdf0e10cSrcweir 348cdf0e10cSrcweir String sTemp(m_sDocument); 349cdf0e10cSrcweir sTemp.SearchAndReplaceAscii("%1", String::CreateFromInt32(1)); 350cdf0e10cSrcweir m_aDocumentIndexFI.SetText(sTemp); 351cdf0e10cSrcweir } 352cdf0e10cSrcweir /*-- 02.04.2004 14:17:52--------------------------------------------------- 353cdf0e10cSrcweir 354cdf0e10cSrcweir -----------------------------------------------------------------------*/ 355cdf0e10cSrcweir SwMailMergeGreetingsPage::~SwMailMergeGreetingsPage() 356cdf0e10cSrcweir { 357cdf0e10cSrcweir } 358cdf0e10cSrcweir /*-- 18.06.2004 12:13:53--------------------------------------------------- 359cdf0e10cSrcweir 360cdf0e10cSrcweir -----------------------------------------------------------------------*/ 361cdf0e10cSrcweir void SwMailMergeGreetingsPage::ActivatePage() 362cdf0e10cSrcweir { 363cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 364cdf0e10cSrcweir 365cdf0e10cSrcweir //try to find the gender setting 366cdf0e10cSrcweir m_aFemaleColumnLB.Clear(); 367cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp = rConfig.GetColumnsSupplier(); 368cdf0e10cSrcweir if(xColsSupp.is()) 369cdf0e10cSrcweir { 370cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp->getColumns(); 371cdf0e10cSrcweir Sequence< ::rtl::OUString > aColumns = xColAccess->getElementNames(); 372cdf0e10cSrcweir for(sal_Int32 nName = 0; nName < aColumns.getLength(); ++nName) 373cdf0e10cSrcweir m_aFemaleColumnLB.InsertEntry(aColumns[nName]); 374cdf0e10cSrcweir } 375cdf0e10cSrcweir 376cdf0e10cSrcweir ::rtl::OUString sGenderColumn = rConfig.GetAssignedColumn(MM_PART_GENDER); 377cdf0e10cSrcweir m_aFemaleColumnLB.SelectEntry(sGenderColumn); 378cdf0e10cSrcweir m_aFemaleColumnLB.SaveValue(); 379cdf0e10cSrcweir 380cdf0e10cSrcweir m_aFemaleFieldCB.SetText(rConfig.GetFemaleGenderValue()); 381cdf0e10cSrcweir m_aFemaleFieldCB.SaveValue(); 382cdf0e10cSrcweir 383cdf0e10cSrcweir UpdatePreview(); 384cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE)); 385cdf0e10cSrcweir } 386cdf0e10cSrcweir /*-- 11.05.2004 14:47:10--------------------------------------------------- 387cdf0e10cSrcweir 388cdf0e10cSrcweir -----------------------------------------------------------------------*/ 389cdf0e10cSrcweir sal_Bool SwMailMergeGreetingsPage::commitPage( ::svt::WizardTypes::CommitPageReason ) 390cdf0e10cSrcweir { 391cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 392cdf0e10cSrcweir 393cdf0e10cSrcweir if(m_aFemaleColumnLB.GetSelectEntryPos() != m_aFemaleColumnLB.GetSavedValue()) 394cdf0e10cSrcweir { 395cdf0e10cSrcweir const SwDBData& rDBData = rConfig.GetCurrentDBData(); 396cdf0e10cSrcweir Sequence< ::rtl::OUString> aAssignment = rConfig.GetColumnAssignment( rDBData ); 397cdf0e10cSrcweir if(aAssignment.getLength() <= MM_PART_GENDER) 398cdf0e10cSrcweir aAssignment.realloc(MM_PART_GENDER + 1); 399cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = m_aFemaleColumnLB.GetSelectEntry(); 400cdf0e10cSrcweir rConfig.SetColumnAssignment( rDBData, aAssignment ); 401cdf0e10cSrcweir } 402cdf0e10cSrcweir if(m_aFemaleFieldCB.GetText() != m_aFemaleFieldCB.GetSavedValue()) 403cdf0e10cSrcweir rConfig.SetFemaleGenderValue(m_aFemaleFieldCB.GetText()); 404cdf0e10cSrcweir 405cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE); 406cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE); 407cdf0e10cSrcweir 408cdf0e10cSrcweir sal_uInt16 nCurrentTextPos = m_aNeutralCB.GetEntryPos( m_aNeutralCB.GetText() ); 409cdf0e10cSrcweir if(LISTBOX_ENTRY_NOTFOUND == nCurrentTextPos) 410cdf0e10cSrcweir { 411cdf0e10cSrcweir sal_uInt16 nCount = m_aNeutralCB.GetEntryCount(); 412cdf0e10cSrcweir m_aNeutralCB.InsertEntry( m_aNeutralCB.GetText(), nCount ); 413cdf0e10cSrcweir m_aNeutralCB.SelectEntryPos(nCount); 414cdf0e10cSrcweir } 415cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL); 416cdf0e10cSrcweir rConfig.SetGreetingLine(m_aGreetingLineCB.IsChecked(), sal_False); 417cdf0e10cSrcweir rConfig.SetIndividualGreeting(m_aPersonalizedCB.IsChecked(), sal_False); 418cdf0e10cSrcweir return sal_True; 419cdf0e10cSrcweir } 420cdf0e10cSrcweir /*-- 30.04.2004 10:42:57--------------------------------------------------- 421cdf0e10cSrcweir 422cdf0e10cSrcweir -----------------------------------------------------------------------*/ 423cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, ContainsHdl_Impl, CheckBox*, pBox) 424cdf0e10cSrcweir { 425cdf0e10cSrcweir sal_Bool bContainsGreeting = pBox->IsChecked(); 426cdf0e10cSrcweir SwGreetingsHandler::Contains(bContainsGreeting); 427cdf0e10cSrcweir m_aPreviewFI. Enable(bContainsGreeting); 428cdf0e10cSrcweir m_aPreviewWIN.Enable(bContainsGreeting); 429cdf0e10cSrcweir m_aAssignPB. Enable(bContainsGreeting); 430cdf0e10cSrcweir m_aDocumentIndexFI. Enable(bContainsGreeting); 431cdf0e10cSrcweir m_aPrevSetIB.Enable(bContainsGreeting); 432cdf0e10cSrcweir m_aNextSetIB.Enable(bContainsGreeting); 433cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 434cdf0e10cSrcweir rConfig.SetGreetingLine(m_aGreetingLineCB.IsChecked(), sal_False); 435cdf0e10cSrcweir m_pWizard->UpdateRoadmap(); 436cdf0e10cSrcweir return 0; 437cdf0e10cSrcweir } 438cdf0e10cSrcweir /*-- 07.05.2004 12:56:42--------------------------------------------------- 439cdf0e10cSrcweir 440cdf0e10cSrcweir -----------------------------------------------------------------------*/ 441cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, InsertDataHdl_Impl, ImageButton*, pButton) 442cdf0e10cSrcweir { 443cdf0e10cSrcweir //if no pButton is given, the first set has to be pre-set 444cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 445cdf0e10cSrcweir if(!pButton) 446cdf0e10cSrcweir { 447cdf0e10cSrcweir rConfig.GetResultSet(); 448cdf0e10cSrcweir } 449cdf0e10cSrcweir else 450cdf0e10cSrcweir { 451cdf0e10cSrcweir sal_Bool bNext = pButton == &m_aNextSetIB; 452cdf0e10cSrcweir sal_Int32 nPos = rConfig.GetResultSetPosition(); 453cdf0e10cSrcweir rConfig.MoveResultSet( bNext ? ++nPos : --nPos); 454cdf0e10cSrcweir } 455cdf0e10cSrcweir sal_Int32 nPos = rConfig.GetResultSetPosition(); 456cdf0e10cSrcweir sal_Bool bEnable = sal_True; 457cdf0e10cSrcweir if(nPos < 1) 458cdf0e10cSrcweir { 459cdf0e10cSrcweir bEnable = sal_False; 460cdf0e10cSrcweir nPos = 1; 461cdf0e10cSrcweir } 462cdf0e10cSrcweir else 463cdf0e10cSrcweir UpdatePreview(); 464cdf0e10cSrcweir m_aPrevSetIB.Enable(bEnable); 465cdf0e10cSrcweir m_aNextSetIB.Enable(bEnable); 466cdf0e10cSrcweir m_aDocumentIndexFI.Enable(bEnable); 467cdf0e10cSrcweir String sTemp(m_sDocument); 468cdf0e10cSrcweir sTemp.SearchAndReplaceAscii("%1", String::CreateFromInt32(nPos)); 469cdf0e10cSrcweir m_aDocumentIndexFI.SetText(sTemp); 470cdf0e10cSrcweir return 0; 471cdf0e10cSrcweir } 472cdf0e10cSrcweir /*-- 17.05.2004 15:11:19--------------------------------------------------- 473cdf0e10cSrcweir 474cdf0e10cSrcweir -----------------------------------------------------------------------*/ 475cdf0e10cSrcweir SwMailBodyDialog::SwMailBodyDialog(Window* pParent, SwMailMergeWizard* _pWizard) : 476cdf0e10cSrcweir SfxModalDialog(pParent, SW_RES(DLG_MM_MAILBODY)), 477cdf0e10cSrcweir #ifdef MSC 478cdf0e10cSrcweir #pragma warning (disable : 4355) 479cdf0e10cSrcweir #endif 480cdf0e10cSrcweir m_aGreetingLineCB(this, SW_RES( CB_GREETINGLINE ) ), 481cdf0e10cSrcweir m_aPersonalizedCB(this, SW_RES( CB_PERSONALIZED ) ), 482cdf0e10cSrcweir m_aFemaleFT(this, SW_RES( FT_FEMALE ) ), 483cdf0e10cSrcweir m_aFemaleLB(this, SW_RES( LB_FEMALE ) ), 484cdf0e10cSrcweir m_aFemalePB(this, SW_RES( PB_FEMALE ) ), 485cdf0e10cSrcweir m_aMaleFT(this, SW_RES( FT_MALE ) ), 486cdf0e10cSrcweir m_aMaleLB(this, SW_RES( LB_MALE ) ), 487cdf0e10cSrcweir m_aMalePB(this, SW_RES( PB_MALE ) ), 488cdf0e10cSrcweir m_aFemaleFI(this, SW_RES( FI_FEMALE ) ), 489cdf0e10cSrcweir m_aFemaleColumnFT(this, SW_RES( FT_FEMALECOLUMN ) ), 490cdf0e10cSrcweir m_aFemaleColumnLB(this, SW_RES( LB_FEMALECOLUMN ) ), 491cdf0e10cSrcweir m_aFemaleFieldFT(this, SW_RES( FT_FEMALEFIELD ) ), 492cdf0e10cSrcweir m_aFemaleFieldCB(this, SW_RES( CB_FEMALEFIELD ) ), 493cdf0e10cSrcweir m_aNeutralFT(this, SW_RES( FT_NEUTRAL ) ), 494cdf0e10cSrcweir m_aNeutralCB(this, SW_RES( CB_NEUTRAL ) ), 495cdf0e10cSrcweir m_aBodyFT( this, SW_RES( FT_BODY ) ), 496cdf0e10cSrcweir m_aBodyMLE( this, SW_RES( MLE_BODY ) ), 497cdf0e10cSrcweir m_aSeparatorFL( this, SW_RES( FL_SEPARATOR ) ), 498cdf0e10cSrcweir m_aOK( this, SW_RES( PB_OK ) ), 499cdf0e10cSrcweir m_aCancel( this, SW_RES( PB_CANCEL ) ), 500cdf0e10cSrcweir m_aHelp( this, SW_RES( PB_HELP ) ) 501cdf0e10cSrcweir #ifdef MSC 502cdf0e10cSrcweir #pragma warning (default : 4355) 503cdf0e10cSrcweir #endif 504cdf0e10cSrcweir { 505cdf0e10cSrcweir m_pWizard = _pWizard; 506cdf0e10cSrcweir m_pGreetingLineCB = &m_aGreetingLineCB; 507cdf0e10cSrcweir m_pPersonalizedCB = &m_aPersonalizedCB; 508cdf0e10cSrcweir m_pFemaleFT = & m_aFemaleFT; 509cdf0e10cSrcweir m_pFemaleLB = & m_aFemaleLB; 510cdf0e10cSrcweir m_pFemalePB = & m_aFemalePB; 511cdf0e10cSrcweir m_pMaleFT = & m_aMaleFT; 512cdf0e10cSrcweir m_pMaleLB = & m_aMaleLB; 513cdf0e10cSrcweir m_pMalePB = & m_aMalePB; 514cdf0e10cSrcweir m_pFemaleFI = & m_aFemaleFI; 515cdf0e10cSrcweir m_pFemaleColumnFT = &m_aFemaleColumnFT; 516cdf0e10cSrcweir m_pFemaleColumnLB = &m_aFemaleColumnLB; 517cdf0e10cSrcweir m_pFemaleFieldFT = & m_aFemaleFieldFT; 518cdf0e10cSrcweir m_pFemaleFieldCB = & m_aFemaleFieldCB; 519cdf0e10cSrcweir m_pNeutralFT = & m_aNeutralFT; 520cdf0e10cSrcweir m_pNeutralCB = &m_aNeutralCB; 521cdf0e10cSrcweir m_bIsTabPage = false; 522cdf0e10cSrcweir 523cdf0e10cSrcweir m_pPersonalizedCB->SetHelpId( HID_MM_BODY_CB_PERSONALIZED ); 524cdf0e10cSrcweir m_pFemaleLB->SetHelpId( HID_MM_BODY_LB_FEMALE ); 525cdf0e10cSrcweir m_pFemalePB->SetHelpId( HID_MM_BODY_PB_FEMALE ); 526cdf0e10cSrcweir m_pMaleLB->SetHelpId( HID_MM_BODY_LB_MALE ); 527cdf0e10cSrcweir m_pMalePB->SetHelpId( HID_MM_BODY_PB_MALE ); 528cdf0e10cSrcweir m_pFemaleColumnLB->SetHelpId( HID_MM_BODY_LB_FEMALECOLUMN ); 529cdf0e10cSrcweir m_pFemaleFieldCB->SetHelpId( HID_MM_BODY_CB_FEMALEFIELD ); 530cdf0e10cSrcweir m_pNeutralCB->SetHelpId( HID_MM_BODY_CB_NEUTRAL ); 531cdf0e10cSrcweir 532cdf0e10cSrcweir FreeResource(); 533cdf0e10cSrcweir m_aGreetingLineCB.SetClickHdl(LINK(this, SwMailBodyDialog, ContainsHdl_Impl)); 534cdf0e10cSrcweir Link aIndividualLink = LINK(this, SwGreetingsHandler, IndividualHdl_Impl); 535cdf0e10cSrcweir m_aPersonalizedCB.SetClickHdl(aIndividualLink); 536cdf0e10cSrcweir Link aGreetingLink = LINK(this, SwGreetingsHandler, GreetingHdl_Impl); 537cdf0e10cSrcweir m_aFemalePB.SetClickHdl(aGreetingLink); 538cdf0e10cSrcweir m_aMalePB.SetClickHdl(aGreetingLink); 539cdf0e10cSrcweir m_aOK.SetClickHdl(LINK(this, SwMailBodyDialog, OKHdl)); 540cdf0e10cSrcweir 541cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem(); 542cdf0e10cSrcweir m_aGreetingLineCB.Check(rConfig.IsGreetingLine(sal_True)); 543cdf0e10cSrcweir m_aPersonalizedCB.Check(rConfig.IsIndividualGreeting(sal_True)); 544cdf0e10cSrcweir ContainsHdl_Impl(&m_aGreetingLineCB); 545cdf0e10cSrcweir aIndividualLink.Call(0); 546cdf0e10cSrcweir 547cdf0e10cSrcweir lcl_FillGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE); 548cdf0e10cSrcweir lcl_FillGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE); 549cdf0e10cSrcweir lcl_FillGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL); 550cdf0e10cSrcweir 551cdf0e10cSrcweir //try to find the gender setting 552cdf0e10cSrcweir m_aFemaleColumnLB.Clear(); 553cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp = rConfig.GetColumnsSupplier(); 554cdf0e10cSrcweir if(xColsSupp.is()) 555cdf0e10cSrcweir { 556cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp->getColumns(); 557cdf0e10cSrcweir Sequence< ::rtl::OUString > aColumns = xColAccess->getElementNames(); 558cdf0e10cSrcweir for(sal_Int32 nName = 0; nName < aColumns.getLength(); ++nName) 559cdf0e10cSrcweir m_aFemaleColumnLB.InsertEntry(aColumns[nName]); 560cdf0e10cSrcweir } 561cdf0e10cSrcweir 562cdf0e10cSrcweir ::rtl::OUString sGenderColumn = rConfig.GetAssignedColumn(MM_PART_GENDER); 563cdf0e10cSrcweir m_aFemaleColumnLB.SelectEntry(sGenderColumn); 564cdf0e10cSrcweir m_aFemaleColumnLB.SaveValue(); 565cdf0e10cSrcweir 566cdf0e10cSrcweir m_aFemaleFieldCB.SetText(rConfig.GetFemaleGenderValue()); 567cdf0e10cSrcweir m_aFemaleFieldCB.SaveValue(); 568cdf0e10cSrcweir } 569cdf0e10cSrcweir /*-- 17.05.2004 15:13:07--------------------------------------------------- 570cdf0e10cSrcweir 571cdf0e10cSrcweir -----------------------------------------------------------------------*/ 572cdf0e10cSrcweir SwMailBodyDialog::~SwMailBodyDialog() 573cdf0e10cSrcweir { 574cdf0e10cSrcweir } 575cdf0e10cSrcweir 576cdf0e10cSrcweir /*-- 30.04.2004 10:42:57--------------------------------------------------- 577cdf0e10cSrcweir 578cdf0e10cSrcweir -----------------------------------------------------------------------*/ 579cdf0e10cSrcweir IMPL_LINK(SwMailBodyDialog, ContainsHdl_Impl, CheckBox*, pBox) 580cdf0e10cSrcweir { 581cdf0e10cSrcweir SwGreetingsHandler::Contains(pBox->IsChecked()); 582cdf0e10cSrcweir m_pWizard->GetConfigItem().SetGreetingLine(pBox->IsChecked(), sal_True); 583cdf0e10cSrcweir return 0; 584cdf0e10cSrcweir } 585cdf0e10cSrcweir /*-- 28.06.2004 11:22:42--------------------------------------------------- 586cdf0e10cSrcweir 587cdf0e10cSrcweir -----------------------------------------------------------------------*/ 588cdf0e10cSrcweir IMPL_LINK(SwMailBodyDialog, OKHdl, PushButton*, EMPTYARG) 589cdf0e10cSrcweir { 590cdf0e10cSrcweir SwMailMergeConfigItem& rConfigItem = m_pWizard->GetConfigItem(); 591cdf0e10cSrcweir rConfigItem.SetGreetingLine( 592cdf0e10cSrcweir m_aGreetingLineCB.IsChecked(), sal_False); 593cdf0e10cSrcweir rConfigItem.SetIndividualGreeting( 594cdf0e10cSrcweir m_aPersonalizedCB.IsChecked(), sal_False); 595cdf0e10cSrcweir 596cdf0e10cSrcweir if(m_aFemaleColumnLB.GetSelectEntryPos() != m_aFemaleColumnLB.GetSavedValue()) 597cdf0e10cSrcweir { 598cdf0e10cSrcweir const SwDBData& rDBData = rConfigItem.GetCurrentDBData(); 599cdf0e10cSrcweir Sequence< ::rtl::OUString> aAssignment = rConfigItem.GetColumnAssignment( rDBData ); 600cdf0e10cSrcweir sal_Int32 nPos = m_aFemaleColumnLB.GetSelectEntryPos(); 601cdf0e10cSrcweir if(aAssignment.getLength() < MM_PART_GENDER) 602cdf0e10cSrcweir aAssignment.realloc(MM_PART_GENDER); 603cdf0e10cSrcweir if( nPos > 0 ) 604cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = m_aFemaleColumnLB.GetSelectEntry(); 605cdf0e10cSrcweir else 606cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = ::rtl::OUString(); 607cdf0e10cSrcweir rConfigItem.SetColumnAssignment( rDBData, aAssignment ); 608cdf0e10cSrcweir } 609cdf0e10cSrcweir if(m_aFemaleFieldCB.GetText() != m_aFemaleFieldCB.GetSavedValue()) 610cdf0e10cSrcweir rConfigItem.SetFemaleGenderValue(m_aFemaleFieldCB.GetText()); 611cdf0e10cSrcweir 612cdf0e10cSrcweir EndDialog(RET_OK); 613cdf0e10cSrcweir return 0; 614cdf0e10cSrcweir } 615cdf0e10cSrcweir 616