LCOV - code coverage report
Current view: top level - dbaccess/source/ui/dlg - detailpages.cxx (source / functions) Hit Total Coverage
Test: commit e02a6cb2c3e2b23b203b422e4e0680877f232636 Lines: 0 425 0.0 %
Date: 2014-04-14 Functions: 0 73 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <config_features.h>
      21             : #include "detailpages.hxx"
      22             : #include "sqlmessage.hxx"
      23             : #include "dsmeta.hxx"
      24             : #include "advancedsettings.hxx"
      25             : #include "DbAdminImpl.hxx"
      26             : #include "dsitems.hxx"
      27             : #include "dbfindex.hxx"
      28             : #include "localresaccess.hxx"
      29             : #include "dsnItem.hxx"
      30             : 
      31             : #include "dbaccess_helpid.hrc"
      32             : #include "dbu_dlg.hrc"
      33             : #include "dbadmin.hrc"
      34             : 
      35             : #include <svl/itemset.hxx>
      36             : #include <svl/stritem.hxx>
      37             : #include <svl/eitem.hxx>
      38             : #include <svl/intitem.hxx>
      39             : #include <vcl/msgbox.hxx>
      40             : #include <vcl/mnemonic.hxx>
      41             : #include <svl/cjkoptions.hxx>
      42             : #if HAVE_FEATURE_JAVA
      43             : #include <jvmaccess/virtualmachine.hxx>
      44             : #endif
      45             : #include <connectivity/CommonTools.hxx>
      46             : #include "DriverSettings.hxx"
      47             : #include "dbadmin.hxx"
      48             : #include <comphelper/types.hxx>
      49             : #include "AutoControls.hrc"
      50             : 
      51             : namespace dbaui
      52             : {
      53             : 
      54             :     using namespace ::com::sun::star::uno;
      55             :     using namespace ::com::sun::star::sdbc;
      56             :     using namespace ::com::sun::star::beans;
      57             :     using namespace ::com::sun::star::lang;
      58             :     using namespace ::com::sun::star::container;
      59             :     using namespace ::dbtools;
      60             : 
      61             :     // OCommonBehaviourTabPage
      62           0 :     OCommonBehaviourTabPage::OCommonBehaviourTabPage(Window* pParent, sal_uInt16 nResId, const SfxItemSet& _rCoreAttrs,
      63             :         sal_uInt32 nControlFlags,bool _bFreeResource)
      64             : 
      65             :         :OGenericAdministrationPage(pParent, ModuleRes(nResId), _rCoreAttrs)
      66             :         ,m_pOptionsLabel(NULL)
      67             :         ,m_pOptions(NULL)
      68             :         ,m_pDataConvertFixedLine(NULL)
      69             :         ,m_pCharsetLabel(NULL)
      70             :         ,m_pCharset(NULL)
      71             :         ,m_pAutoFixedLine(NULL)
      72             :         ,m_pAutoRetrievingEnabled(NULL)
      73             :         ,m_pAutoIncrementLabel(NULL)
      74             :         ,m_pAutoIncrement(NULL)
      75             :         ,m_pAutoRetrievingLabel(NULL)
      76             :         ,m_pAutoRetrieving(NULL)
      77           0 :         ,m_nControlFlags(nControlFlags)
      78             :     {
      79             : 
      80           0 :         if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
      81             :         {
      82           0 :             m_pOptionsLabel = new FixedText(this, ModuleRes(FT_OPTIONS));
      83           0 :             m_pOptions = new Edit(this, ModuleRes(ET_OPTIONS));
      84           0 :             m_pOptions->SetModifyHdl(getControlModifiedLink());
      85             :         }
      86             : 
      87           0 :         if ((m_nControlFlags & CBTP_USE_CHARSET) == CBTP_USE_CHARSET)
      88             :         {
      89           0 :             m_pDataConvertFixedLine = new FixedLine(this, ModuleRes(FL_DATACONVERT));
      90           0 :             m_pCharsetLabel = new FixedText(this, ModuleRes(FT_CHARSET));
      91           0 :             m_pCharset = new CharSetListBox(this, ModuleRes(LB_CHARSET));
      92           0 :             m_pCharset->SetSelectHdl(getControlModifiedLink());
      93             :         }
      94             : 
      95             :         Window* pWindows[] = {  m_pAutoRetrievingEnabled, m_pAutoFixedLine,
      96             :                                 m_pAutoIncrementLabel, m_pAutoIncrement,
      97           0 :                                 m_pAutoRetrievingLabel, m_pAutoRetrieving };
      98             : 
      99           0 :         sal_Int32 nCount = sizeof(pWindows) / sizeof(pWindows[0]);
     100           0 :         for (sal_Int32 i=1; i < nCount; ++i)
     101             :         {
     102           0 :             if ( pWindows[i] )
     103             :             {
     104           0 :                 Window* pPrev = pWindows[i-1];
     105           0 :                 for (sal_Int32 j = i-1; pPrev == NULL && j >= 0 ; --j)
     106             :                 {
     107           0 :                     pPrev = pWindows[j];
     108             :                 }
     109           0 :                 if ( pPrev )
     110           0 :                     pWindows[i]->SetZOrder(pPrev, WINDOW_ZORDER_BEHIND);
     111             :             }
     112             :         }
     113             : 
     114           0 :         if ( _bFreeResource )
     115           0 :             FreeResource();
     116           0 :     }
     117             : 
     118           0 :     OCommonBehaviourTabPage::~OCommonBehaviourTabPage()
     119             :     {
     120           0 :         DELETEZ(m_pOptionsLabel);
     121           0 :         DELETEZ(m_pOptions);
     122             : 
     123           0 :         DELETEZ(m_pDataConvertFixedLine);
     124           0 :         DELETEZ(m_pCharsetLabel);
     125           0 :         DELETEZ(m_pCharset);
     126             : 
     127           0 :         DELETEZ(m_pAutoFixedLine);
     128           0 :         DELETEZ(m_pAutoIncrementLabel);
     129           0 :         DELETEZ(m_pAutoIncrement);
     130             : 
     131           0 :         DELETEZ(m_pAutoRetrievingEnabled);
     132           0 :         DELETEZ(m_pAutoRetrievingLabel);
     133           0 :         DELETEZ(m_pAutoRetrieving);
     134             : 
     135           0 :     }
     136             : 
     137           0 :     void OCommonBehaviourTabPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     138             :     {
     139           0 :         if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
     140             :         {
     141           0 :             _rControlList.push_back(new ODisableWrapper<FixedText>(m_pOptionsLabel));
     142             :         }
     143             : 
     144           0 :         if ((m_nControlFlags & CBTP_USE_CHARSET) == CBTP_USE_CHARSET)
     145             :         {
     146           0 :             _rControlList.push_back(new ODisableWrapper<FixedLine>(m_pDataConvertFixedLine));
     147           0 :             _rControlList.push_back(new ODisableWrapper<FixedText>(m_pCharsetLabel));
     148             :         }
     149           0 :     }
     150           0 :     void OCommonBehaviourTabPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     151             :     {
     152           0 :         if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
     153           0 :             _rControlList.push_back(new OSaveValueWrapper<Edit>(m_pOptions));
     154             : 
     155           0 :         if ((m_nControlFlags & CBTP_USE_CHARSET) == CBTP_USE_CHARSET)
     156           0 :             _rControlList.push_back(new OSaveValueWrapper<ListBox>(m_pCharset));
     157           0 :     }
     158             : 
     159           0 :     void OCommonBehaviourTabPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     160             :     {
     161             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     162             :         sal_Bool bValid, bReadonly;
     163           0 :         getFlags(_rSet, bValid, bReadonly);
     164             : 
     165             :         // collect the items
     166           0 :         SFX_ITEMSET_GET(_rSet, pOptionsItem, SfxStringItem, DSID_ADDITIONALOPTIONS, true);
     167           0 :         SFX_ITEMSET_GET(_rSet, pCharsetItem, SfxStringItem, DSID_CHARSET, true);
     168             : 
     169             :         // forward the values to the controls
     170           0 :         if (bValid)
     171             :         {
     172           0 :             if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
     173             :             {
     174           0 :                 m_pOptions->SetText(pOptionsItem->GetValue());
     175           0 :                 m_pOptions->ClearModifyFlag();
     176             :             }
     177             : 
     178           0 :             if ((m_nControlFlags & CBTP_USE_CHARSET) == CBTP_USE_CHARSET)
     179             :             {
     180           0 :                 m_pCharset->SelectEntryByIanaName( pCharsetItem->GetValue() );
     181             :             }
     182             :         }
     183           0 :         OGenericAdministrationPage::implInitControls(_rSet, _bSaveValue);
     184           0 :     }
     185             : 
     186           0 :     bool OCommonBehaviourTabPage::FillItemSet(SfxItemSet& _rSet)
     187             :     {
     188           0 :         sal_Bool bChangedSomething = sal_False;
     189             : 
     190           0 :         if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
     191             :         {
     192           0 :             fillString(_rSet,m_pOptions,DSID_ADDITIONALOPTIONS,bChangedSomething);
     193             :         }
     194             : 
     195           0 :         if ((m_nControlFlags & CBTP_USE_CHARSET) == CBTP_USE_CHARSET)
     196             :         {
     197           0 :             if ( m_pCharset->StoreSelectedCharSet( _rSet, DSID_CHARSET ) )
     198           0 :                 bChangedSomething = sal_True;
     199             :         }
     200             : 
     201           0 :         return bChangedSomething;
     202             :     }
     203             : 
     204             :     // ODbaseDetailsPage
     205           0 :     ODbaseDetailsPage::ODbaseDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     206             :         :OCommonBehaviourTabPage(pParent, PAGE_DBASE, _rCoreAttrs, CBTP_USE_CHARSET ,false)
     207             :         ,m_aShowDeleted     (this, ModuleRes(CB_SHOWDELETEDROWS))
     208             :         ,m_aFL_1            (this, ModuleRes( FL_SEPARATOR1) )
     209             :         ,m_aFT_Message      (this, ModuleRes( FT_SPECIAL_MESSAGE) )
     210           0 :         ,m_aIndexes         (this, ModuleRes(PB_INDICIES))
     211             :     {
     212             : 
     213           0 :         m_aIndexes.SetClickHdl(LINK(this, ODbaseDetailsPage, OnButtonClicked));
     214           0 :         m_aShowDeleted.SetClickHdl(LINK(this, ODbaseDetailsPage, OnButtonClicked));
     215             : 
     216             :         // correct the z-order which is mixed-up because the base class constructed some controls before we did
     217           0 :         m_pCharset->SetZOrder(&m_aShowDeleted, WINDOW_ZORDER_BEFOR);
     218             : 
     219           0 :         FreeResource();
     220           0 :     }
     221             : 
     222           0 :     ODbaseDetailsPage::~ODbaseDetailsPage()
     223             :     {
     224             : 
     225           0 :     }
     226             : 
     227           0 :     SfxTabPage* ODriversSettings::CreateDbase( Window* pParent, const SfxItemSet& _rAttrSet )
     228             :     {
     229           0 :         return ( new ODbaseDetailsPage( pParent, _rAttrSet ) );
     230             :     }
     231             : 
     232           0 :     void ODbaseDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     233             :     {
     234           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     235           0 :         _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aShowDeleted));
     236           0 :     }
     237           0 :     void ODbaseDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     238             :     {
     239           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     240           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL_1));
     241           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFT_Message));
     242           0 :         _rControlList.push_back(new ODisableWrapper<PushButton>(&m_aIndexes));
     243           0 :     }
     244           0 :     void ODbaseDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     245             :     {
     246             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     247             :         sal_Bool bValid, bReadonly;
     248           0 :         getFlags(_rSet, bValid, bReadonly);
     249             : 
     250             :         // get the DSN string (needed for the index dialog)
     251           0 :         SFX_ITEMSET_GET(_rSet, pUrlItem, SfxStringItem, DSID_CONNECTURL, true);
     252           0 :         SFX_ITEMSET_GET(_rSet, pTypesItem, DbuTypeCollectionItem, DSID_TYPECOLLECTION, true);
     253           0 :         ::dbaccess::ODsnTypeCollection* pTypeCollection = pTypesItem ? pTypesItem->getCollection() : NULL;
     254           0 :         if (pTypeCollection && pUrlItem && pUrlItem->GetValue().getLength())
     255           0 :             m_sDsn = pTypeCollection->cutPrefix(pUrlItem->GetValue());
     256             : 
     257             :         // get the other relevant items
     258           0 :         SFX_ITEMSET_GET(_rSet, pDeletedItem, SfxBoolItem, DSID_SHOWDELETEDROWS, true);
     259             : 
     260           0 :         if ( bValid )
     261             :         {
     262           0 :             m_aShowDeleted.Check( pDeletedItem->GetValue() );
     263           0 :             m_aFT_Message.Show(m_aShowDeleted.IsChecked());
     264             :         }
     265             : 
     266           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     267           0 :     }
     268             : 
     269           0 :     bool ODbaseDetailsPage::FillItemSet( SfxItemSet& _rSet )
     270             :     {
     271           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
     272             : 
     273           0 :         fillBool(_rSet,&m_aShowDeleted,DSID_SHOWDELETEDROWS,bChangedSomething);
     274           0 :         return bChangedSomething;
     275             :     }
     276             : 
     277           0 :     IMPL_LINK( ODbaseDetailsPage, OnButtonClicked, Button*, pButton )
     278             :     {
     279           0 :         if (&m_aIndexes == pButton)
     280             :         {
     281           0 :             ODbaseIndexDialog aIndexDialog(this, m_sDsn);
     282           0 :             aIndexDialog.Execute();
     283             :         }
     284             :         else
     285             :         {
     286           0 :             m_aFT_Message.Show(m_aShowDeleted.IsChecked());
     287             :             // it was one of the checkboxes -> we count as modified from now on
     288           0 :             callModifiedHdl();
     289             :         }
     290             : 
     291           0 :         return 0;
     292             :     }
     293             : 
     294             :     // OAdoDetailsPage
     295           0 :     OAdoDetailsPage::OAdoDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     296           0 :         :OCommonBehaviourTabPage(pParent, PAGE_ADO, _rCoreAttrs, CBTP_USE_CHARSET )
     297             :     {
     298             : 
     299           0 :     }
     300             : 
     301           0 :     OAdoDetailsPage::~OAdoDetailsPage()
     302             :     {
     303             : 
     304           0 :     }
     305           0 :     SfxTabPage* ODriversSettings::CreateAdo( Window* pParent,   const SfxItemSet& _rAttrSet )
     306             :     {
     307           0 :         return ( new OAdoDetailsPage( pParent, _rAttrSet ) );
     308             :     }
     309             : 
     310             :     // OOdbcDetailsPage
     311           0 :     OOdbcDetailsPage::OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     312             :         :OCommonBehaviourTabPage(pParent, PAGE_ODBC, _rCoreAttrs, CBTP_USE_CHARSET | CBTP_USE_OPTIONS,false)
     313             :         ,m_aFL_1        (this, ModuleRes(FL_SEPARATOR1))
     314           0 :         ,m_aUseCatalog  (this, ModuleRes(CB_USECATALOG))
     315             :     {
     316           0 :         m_aUseCatalog.SetToggleHdl(getControlModifiedLink());
     317           0 :         FreeResource();
     318             : 
     319             :         Window* pWindows[] = {  m_pCharsetLabel, m_pCharset
     320             :                                 ,m_pOptionsLabel,m_pOptions,&m_aUseCatalog
     321           0 :                                 };
     322             : 
     323           0 :         sal_Int32 nCount = sizeof(pWindows) / sizeof(pWindows[0]);
     324           0 :         for (sal_Int32 i=1; i < nCount; ++i)
     325           0 :             pWindows[i]->SetZOrder(pWindows[i-1], WINDOW_ZORDER_BEHIND);
     326           0 :     }
     327             : 
     328           0 :     SfxTabPage* ODriversSettings::CreateODBC( Window* pParent, const SfxItemSet& _rAttrSet )
     329             :     {
     330           0 :         return ( new OOdbcDetailsPage( pParent, _rAttrSet ) );
     331             :     }
     332             : 
     333           0 :     bool OOdbcDetailsPage::FillItemSet( SfxItemSet& _rSet )
     334             :     {
     335           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
     336           0 :         fillBool(_rSet,&m_aUseCatalog,DSID_USECATALOG,bChangedSomething);
     337           0 :         return bChangedSomething;
     338             :     }
     339           0 :     void OOdbcDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     340             :     {
     341           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     342           0 :         _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aUseCatalog));
     343           0 :     }
     344           0 :     void OOdbcDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     345             :     {
     346           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     347           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL_1));
     348           0 :     }
     349           0 :     void OOdbcDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     350             :     {
     351             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     352             :         sal_Bool bValid, bReadonly;
     353           0 :         getFlags(_rSet, bValid, bReadonly);
     354             : 
     355           0 :         SFX_ITEMSET_GET(_rSet, pUseCatalogItem, SfxBoolItem, DSID_USECATALOG, true);
     356             : 
     357           0 :         if ( bValid )
     358           0 :             m_aUseCatalog.Check(pUseCatalogItem->GetValue());
     359             : 
     360           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     361           0 :     }
     362             :     // OOdbcDetailsPage
     363           0 :     OUserDriverDetailsPage::OUserDriverDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     364             :         :OCommonBehaviourTabPage(pParent, PAGE_USERDRIVER, _rCoreAttrs,
     365             :         CBTP_USE_CHARSET | CBTP_USE_OPTIONS ,false)
     366             :         ,m_aFTHostname      (this, ModuleRes(FT_HOSTNAME))
     367             :         ,m_aEDHostname      (this, ModuleRes(ET_HOSTNAME))
     368             :         ,m_aPortNumber      (this, ModuleRes(FT_PORTNUMBER))
     369             :         ,m_aNFPortNumber    (this, ModuleRes(NF_PORTNUMBER))
     370           0 :         ,m_aUseCatalog      (this, ModuleRes(CB_USECATALOG))
     371             :     {
     372           0 :         m_aUseCatalog.SetToggleHdl(getControlModifiedLink());
     373           0 :         FreeResource();
     374           0 :     }
     375             : 
     376           0 :     SfxTabPage* ODriversSettings::CreateUser( Window* pParent, const SfxItemSet& _rAttrSet )
     377             :     {
     378           0 :         return ( new OUserDriverDetailsPage( pParent, _rAttrSet ) );
     379             :     }
     380             : 
     381           0 :     bool OUserDriverDetailsPage::FillItemSet( SfxItemSet& _rSet )
     382             :     {
     383           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
     384             : 
     385           0 :         fillInt32(_rSet,&m_aNFPortNumber,DSID_CONN_PORTNUMBER,bChangedSomething);
     386           0 :         fillString(_rSet,&m_aEDHostname,DSID_CONN_HOSTNAME,bChangedSomething);
     387           0 :         fillBool(_rSet,&m_aUseCatalog,DSID_USECATALOG,bChangedSomething);
     388             : 
     389           0 :         return bChangedSomething;
     390             :     }
     391           0 :     void OUserDriverDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     392             :     {
     393           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     394           0 :         _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aEDHostname));
     395           0 :         _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aUseCatalog));
     396           0 :         _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFPortNumber));
     397           0 :     }
     398           0 :     void OUserDriverDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     399             :     {
     400           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     401           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHostname));
     402           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aPortNumber));
     403           0 :     }
     404           0 :     void OUserDriverDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     405             :     {
     406             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     407             :         sal_Bool bValid, bReadonly;
     408           0 :         getFlags(_rSet, bValid, bReadonly);
     409             : 
     410           0 :         SFX_ITEMSET_GET(_rSet, pUseCatalogItem, SfxBoolItem, DSID_USECATALOG, true);
     411           0 :         SFX_ITEMSET_GET(_rSet, pHostName, SfxStringItem, DSID_CONN_HOSTNAME, true);
     412           0 :         SFX_ITEMSET_GET(_rSet, pPortNumber, SfxInt32Item, DSID_CONN_PORTNUMBER, true);
     413             : 
     414           0 :         if ( bValid )
     415             :         {
     416           0 :             m_aEDHostname.SetText(pHostName->GetValue());
     417           0 :             m_aEDHostname.ClearModifyFlag();
     418             : 
     419           0 :             m_aNFPortNumber.SetValue(pPortNumber->GetValue());
     420           0 :             m_aNFPortNumber.ClearModifyFlag();
     421             : 
     422           0 :             m_aUseCatalog.Check(pUseCatalogItem->GetValue());
     423             :         }
     424             : 
     425           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     426           0 :     }
     427             :     // OMySQLODBCDetailsPage
     428           0 :     OMySQLODBCDetailsPage::OMySQLODBCDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     429           0 :         :OCommonBehaviourTabPage(pParent, PAGE_MYSQL_ODBC, _rCoreAttrs, CBTP_USE_CHARSET )
     430             :     {
     431           0 :     }
     432             : 
     433           0 :     SfxTabPage* ODriversSettings::CreateMySQLODBC( Window* pParent, const SfxItemSet& _rAttrSet )
     434             :     {
     435           0 :         return ( new OMySQLODBCDetailsPage( pParent, _rAttrSet ) );
     436             :     }
     437             : 
     438             :     // OMySQLJDBCDetailsPage
     439           0 :     OGeneralSpecialJDBCDetailsPage::OGeneralSpecialJDBCDetailsPage( Window* pParent,sal_uInt16 _nResId, const SfxItemSet& _rCoreAttrs ,sal_uInt16 _nPortId)
     440             :         :OCommonBehaviourTabPage(pParent, _nResId, _rCoreAttrs, CBTP_USE_CHARSET ,false)
     441             :         ,m_aFL_1            (this, ModuleRes( FL_SEPARATOR1) )
     442             :         ,m_aFTHostname      (this, ModuleRes(FT_HOSTNAME))
     443             :         ,m_aEDHostname      (this, ModuleRes(ET_HOSTNAME))
     444             :         ,m_aPortNumber      (this, ModuleRes(FT_PORTNUMBER))
     445             :         ,m_aNFPortNumber    (this, ModuleRes(NF_PORTNUMBER))
     446             :         ,m_aFTSocket        (this, ModuleRes(FT_SOCKET))
     447             :         ,m_aEDSocket        (this, ModuleRes(ET_SOCKET))
     448             :         ,m_aFTDriverClass   (this, ModuleRes(FT_JDBCDRIVERCLASS))
     449             :         ,m_aEDDriverClass   (this, ModuleRes(ET_JDBCDRIVERCLASS))
     450             :         ,m_aTestJavaDriver  (this, ModuleRes(PB_TESTDRIVERCLASS))
     451             :         ,m_nPortId(_nPortId)
     452           0 :         ,m_bUseClass(true)
     453             :     {
     454           0 :         SFX_ITEMSET_GET(_rCoreAttrs, pUrlItem, SfxStringItem, DSID_CONNECTURL, true);
     455           0 :         SFX_ITEMSET_GET(_rCoreAttrs, pTypesItem, DbuTypeCollectionItem, DSID_TYPECOLLECTION, true);
     456           0 :         ::dbaccess::ODsnTypeCollection* pTypeCollection = pTypesItem ? pTypesItem->getCollection() : NULL;
     457           0 :         if (pTypeCollection && pUrlItem && pUrlItem->GetValue().getLength() )
     458             :         {
     459           0 :             m_sDefaultJdbcDriverName = pTypeCollection->getJavaDriverClass(pUrlItem->GetValue());
     460             :         }
     461           0 :         if ( m_sDefaultJdbcDriverName.getLength() )
     462             :         {
     463           0 :             m_aEDDriverClass.SetModifyHdl(getControlModifiedLink());
     464           0 :             m_aEDDriverClass.SetModifyHdl(LINK(this, OGeneralSpecialJDBCDetailsPage, OnEditModified));
     465           0 :             m_aTestJavaDriver.SetClickHdl(LINK(this,OGeneralSpecialJDBCDetailsPage,OnTestJavaClickHdl));
     466             :         }
     467             :         else
     468             :         {
     469           0 :             m_bUseClass = false;
     470           0 :             m_aFTDriverClass.Show(false);
     471           0 :             m_aEDDriverClass.Show(false);
     472           0 :             m_aTestJavaDriver.Show(false);
     473             :         }
     474             : 
     475           0 :         m_aFTSocket.Show(PAGE_MYSQL_JDBC == _nResId && !m_bUseClass);
     476           0 :         m_aEDSocket.Show(PAGE_MYSQL_JDBC == _nResId && !m_bUseClass);
     477             : 
     478           0 :         m_aEDHostname.SetModifyHdl(getControlModifiedLink());
     479           0 :         m_aNFPortNumber.SetModifyHdl(getControlModifiedLink());
     480           0 :         m_aEDSocket.SetModifyHdl(getControlModifiedLink());
     481             : 
     482             :         Window* pWindows[] = {  &m_aFTHostname,&m_aEDHostname,
     483             :                                 &m_aPortNumber,&m_aNFPortNumber,&m_aFTSocket,&m_aEDSocket,
     484             :                                 &m_aFTDriverClass, &m_aEDDriverClass,&m_aTestJavaDriver,
     485           0 :                                 m_pCharsetLabel, m_pCharset};
     486             : 
     487           0 :         sal_Int32 nCount = sizeof(pWindows) / sizeof(pWindows[0]);
     488           0 :         for (sal_Int32 i=1; i < nCount; ++i)
     489           0 :             pWindows[i]->SetZOrder(pWindows[i-1], WINDOW_ZORDER_BEHIND);
     490             : 
     491           0 :         FreeResource();
     492           0 :     }
     493             : 
     494           0 :     void OGeneralSpecialJDBCDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     495             :     {
     496           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     497           0 :         if ( m_bUseClass )
     498           0 :             _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aEDDriverClass));
     499           0 :         _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aEDHostname));
     500           0 :         _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFPortNumber));
     501           0 :         _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aEDSocket));
     502           0 :     }
     503           0 :     void OGeneralSpecialJDBCDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     504             :     {
     505           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     506           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHostname));
     507           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aPortNumber));
     508           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTSocket));
     509           0 :         if ( m_bUseClass )
     510           0 :             _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDriverClass));
     511           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL_1));
     512           0 :     }
     513             : 
     514           0 :     bool OGeneralSpecialJDBCDetailsPage::FillItemSet( SfxItemSet& _rSet )
     515             :     {
     516           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
     517           0 :         if ( m_bUseClass )
     518           0 :             fillString(_rSet,&m_aEDDriverClass,DSID_JDBCDRIVERCLASS,bChangedSomething);
     519           0 :         fillString(_rSet,&m_aEDHostname,DSID_CONN_HOSTNAME,bChangedSomething);
     520           0 :         fillString(_rSet,&m_aEDSocket,DSID_CONN_SOCKET,bChangedSomething);
     521           0 :         fillInt32(_rSet,&m_aNFPortNumber,m_nPortId,bChangedSomething );
     522             : 
     523           0 :         return bChangedSomething;
     524             :     }
     525           0 :     void OGeneralSpecialJDBCDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     526             :     {
     527             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     528             :         sal_Bool bValid, bReadonly;
     529           0 :         getFlags(_rSet, bValid, bReadonly);
     530             : 
     531           0 :         SFX_ITEMSET_GET(_rSet, pDrvItem, SfxStringItem, DSID_JDBCDRIVERCLASS, true);
     532           0 :         SFX_ITEMSET_GET(_rSet, pHostName, SfxStringItem, DSID_CONN_HOSTNAME, true);
     533           0 :         SFX_ITEMSET_GET(_rSet, pPortNumber, SfxInt32Item, m_nPortId, true);
     534           0 :         SFX_ITEMSET_GET(_rSet, pSocket, SfxStringItem, DSID_CONN_SOCKET, true);
     535             : 
     536           0 :         if ( bValid )
     537             :         {
     538           0 :             if ( m_bUseClass )
     539             :             {
     540           0 :                 m_aEDDriverClass.SetText(pDrvItem->GetValue());
     541           0 :                 m_aEDDriverClass.ClearModifyFlag();
     542             :             }
     543             : 
     544           0 :             m_aEDHostname.SetText(pHostName->GetValue());
     545           0 :             m_aEDHostname.ClearModifyFlag();
     546             : 
     547           0 :             m_aNFPortNumber.SetValue(pPortNumber->GetValue());
     548           0 :             m_aNFPortNumber.ClearModifyFlag();
     549             : 
     550           0 :             m_aEDSocket.SetText(pSocket->GetValue());
     551           0 :             m_aEDSocket.ClearModifyFlag();
     552             :         }
     553             : 
     554           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     555             : 
     556             :         // to get the correcxt value when saveValue was called by base class
     557           0 :         if ( m_bUseClass && m_aEDDriverClass.GetText().isEmpty() )
     558             :         {
     559           0 :             m_aEDDriverClass.SetText(m_sDefaultJdbcDriverName);
     560           0 :             m_aEDDriverClass.SetModifyFlag();
     561             :         }
     562           0 :     }
     563           0 :     IMPL_LINK(OGeneralSpecialJDBCDetailsPage, OnTestJavaClickHdl, PushButton*, /*_pButton*/)
     564             :     {
     565             :         OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF");
     566             :         OSL_ENSURE(m_bUseClass,"Who called me?");
     567             : 
     568           0 :         sal_Bool bSuccess = sal_False;
     569             : #if HAVE_FEATURE_JAVA
     570             :         try
     571             :         {
     572           0 :             if ( !m_aEDDriverClass.GetText().isEmpty() )
     573             :             {
     574             : // TODO change jvmaccess
     575           0 :                 ::rtl::Reference< jvmaccess::VirtualMachine > xJVM = ::connectivity::getJavaVM( m_pAdminDialog->getORB() );
     576           0 :                 bSuccess = ::connectivity::existsJavaClassByName(xJVM,m_aEDDriverClass.GetText());
     577             :             }
     578             :         }
     579           0 :         catch(Exception&)
     580             :         {
     581             :         }
     582             : #endif
     583           0 :         const sal_uInt16 nMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
     584           0 :         const OSQLMessageBox::MessageType mt = bSuccess ? OSQLMessageBox::Info : OSQLMessageBox::Error;
     585           0 :         OSQLMessageBox aMsg( this, OUString( ModuleRes( nMessage ) ), OUString(), WB_OK | WB_DEF_OK, mt );
     586           0 :         aMsg.Execute();
     587           0 :         return 0L;
     588             :     }
     589           0 :     IMPL_LINK(OGeneralSpecialJDBCDetailsPage, OnEditModified, Edit*, _pEdit)
     590             :     {
     591           0 :         if ( m_bUseClass && _pEdit == &m_aEDDriverClass )
     592           0 :             m_aTestJavaDriver.Enable( !m_aEDDriverClass.GetText().isEmpty() );
     593             : 
     594             :         // tell the listener we were modified
     595           0 :         callModifiedHdl();
     596           0 :         return 0L;
     597             :     }
     598             : 
     599             :     // MySQLNativePage
     600           0 :     MySQLNativePage::MySQLNativePage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     601             :         :OCommonBehaviourTabPage(pParent, PAGE_MYSQL_NATIVE, _rCoreAttrs, CBTP_USE_CHARSET, false )
     602             :         ,m_aSeparator1          ( this, ModuleRes( FL_SEPARATOR1) )
     603           0 :         ,m_aMySQLSettings       ( *this, getControlModifiedLink() )
     604             :         ,m_aSeparator2          ( this, ModuleRes(FL_SEPARATOR2))
     605             :         ,m_aUserNameLabel       ( this, ModuleRes(FT_USERNAME))
     606             :         ,m_aUserName            ( this, ModuleRes(ET_USERNAME))
     607           0 :         ,m_aPasswordRequired    ( this, ModuleRes(CB_PASSWORD_REQUIRED))
     608             :     {
     609           0 :         m_aUserName.SetModifyHdl(getControlModifiedLink());
     610             : 
     611             :         Window* pWindows[] = {  &m_aMySQLSettings, &m_aSeparator2, &m_aUserNameLabel, &m_aUserName,
     612           0 :                                 &m_aPasswordRequired, m_pCharsetLabel, m_pCharset};
     613           0 :         sal_Int32 nCount = sizeof(pWindows) / sizeof(pWindows[0]);
     614           0 :         for (sal_Int32 i=1; i < nCount; ++i)
     615           0 :             pWindows[i]->SetZOrder(pWindows[i-1], WINDOW_ZORDER_BEHIND);
     616             : 
     617           0 :         LayoutHelper::positionBelow( m_aSeparator1, m_aMySQLSettings, RelatedControls, 3 );
     618           0 :         m_aMySQLSettings.Show();
     619             : 
     620           0 :         FreeResource();
     621           0 :     }
     622             : 
     623           0 :     void MySQLNativePage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     624             :     {
     625           0 :         OCommonBehaviourTabPage::fillControls( _rControlList );
     626           0 :         m_aMySQLSettings.fillControls( _rControlList );
     627             : 
     628           0 :         _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aUserName));
     629           0 :         _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aPasswordRequired));
     630           0 :     }
     631           0 :     void MySQLNativePage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     632             :     {
     633           0 :         OCommonBehaviourTabPage::fillWindows( _rControlList );
     634           0 :         m_aMySQLSettings.fillWindows( _rControlList);
     635             : 
     636           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aSeparator1));
     637           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aSeparator2));
     638           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aUserNameLabel));
     639           0 :     }
     640             : 
     641           0 :     bool MySQLNativePage::FillItemSet( SfxItemSet& _rSet )
     642             :     {
     643           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet( _rSet );
     644             : 
     645           0 :         bChangedSomething |= (m_aMySQLSettings.FillItemSet( _rSet ) ? 1 : 0);
     646             : 
     647           0 :         if ( m_aUserName.GetText() != m_aUserName.GetSavedValue() )
     648             :         {
     649           0 :             _rSet.Put( SfxStringItem( DSID_USER, m_aUserName.GetText() ) );
     650           0 :             _rSet.Put( SfxStringItem( DSID_PASSWORD, OUString()));
     651           0 :             bChangedSomething = true;
     652             :         }
     653           0 :         fillBool(_rSet,&m_aPasswordRequired,DSID_PASSWORDREQUIRED,bChangedSomething);
     654             : 
     655           0 :         return bChangedSomething;
     656             :     }
     657           0 :     void MySQLNativePage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     658             :     {
     659             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     660             :         sal_Bool bValid, bReadonly;
     661           0 :         getFlags(_rSet, bValid, bReadonly);
     662             : 
     663           0 :         m_aMySQLSettings.implInitControls( _rSet );
     664             : 
     665           0 :         SFX_ITEMSET_GET(_rSet, pUidItem, SfxStringItem, DSID_USER, true);
     666           0 :         SFX_ITEMSET_GET(_rSet, pAllowEmptyPwd, SfxBoolItem, DSID_PASSWORDREQUIRED, true);
     667             : 
     668           0 :         if ( bValid )
     669             :         {
     670           0 :             m_aUserName.SetText(pUidItem->GetValue());
     671           0 :             m_aUserName.ClearModifyFlag();
     672           0 :             m_aPasswordRequired.Check(pAllowEmptyPwd->GetValue());
     673             :         }
     674             : 
     675           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     676           0 :     }
     677             : 
     678           0 :     SfxTabPage* ODriversSettings::CreateMySQLJDBC( Window* pParent, const SfxItemSet& _rAttrSet )
     679             :     {
     680           0 :         return ( new OGeneralSpecialJDBCDetailsPage( pParent,PAGE_MYSQL_JDBC, _rAttrSet,DSID_MYSQL_PORTNUMBER ) );
     681             :     }
     682           0 :     SfxTabPage* ODriversSettings::CreateMySQLNATIVE( Window* pParent, const SfxItemSet& _rAttrSet )
     683             :     {
     684           0 :         return ( new MySQLNativePage( pParent, _rAttrSet ) );
     685             :     }
     686             : 
     687           0 :     SfxTabPage* ODriversSettings::CreateOracleJDBC( Window* pParent, const SfxItemSet& _rAttrSet )
     688             :     {
     689           0 :         return ( new OGeneralSpecialJDBCDetailsPage( pParent,PAGE_ORACLE_JDBC, _rAttrSet,DSID_ORACLE_PORTNUMBER) );
     690             :     }
     691             : 
     692             :     // OLDAPDetailsPage
     693           0 :     OLDAPDetailsPage::OLDAPDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     694             :         :OCommonBehaviourTabPage(pParent, PAGE_LDAP, _rCoreAttrs,0,false)
     695             :         ,m_aFL_1            (this, ModuleRes( FL_SEPARATOR1) )
     696             :         ,m_aBaseDN          (this, ModuleRes(FT_BASEDN))
     697             :         ,m_aETBaseDN        (this, ModuleRes(ET_BASEDN))
     698             :          ,m_aCBUseSSL        (this, ModuleRes(CB_USESSL))
     699             :         ,m_aPortNumber      (this, ModuleRes(FT_PORTNUMBER))
     700             :         ,m_aNFPortNumber    (this, ModuleRes(NF_PORTNUMBER))
     701             :         ,m_aFTRowCount      (this, ModuleRes(FT_LDAPROWCOUNT))
     702           0 :         ,m_aNFRowCount      (this, ModuleRes(NF_LDAPROWCOUNT))
     703             :     {
     704           0 :         m_aETBaseDN.SetModifyHdl(getControlModifiedLink());
     705           0 :         m_aCBUseSSL.SetToggleHdl(getControlModifiedLink());
     706           0 :         m_aNFPortNumber.SetModifyHdl(getControlModifiedLink());
     707           0 :         m_aNFRowCount.SetModifyHdl(getControlModifiedLink());
     708             : 
     709           0 :         m_aNFRowCount.SetUseThousandSep(false);
     710           0 :         m_iNormalPort = 389;
     711           0 :         m_iSSLPort    = 636;
     712           0 :         m_aCBUseSSL.SetClickHdl(LINK(this, OLDAPDetailsPage,OnCheckBoxClick));
     713           0 :         FreeResource();
     714           0 :     }
     715             : 
     716           0 :     SfxTabPage* ODriversSettings::CreateLDAP( Window* pParent, const SfxItemSet& _rAttrSet )
     717             :     {
     718           0 :         return ( new OLDAPDetailsPage( pParent, _rAttrSet ) );
     719             :     }
     720             : 
     721           0 :     bool OLDAPDetailsPage::FillItemSet( SfxItemSet& _rSet )
     722             :     {
     723           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
     724             : 
     725           0 :         fillString(_rSet,&m_aETBaseDN,DSID_CONN_LDAP_BASEDN,bChangedSomething);
     726           0 :         fillInt32(_rSet,&m_aNFPortNumber,DSID_CONN_LDAP_PORTNUMBER,bChangedSomething);
     727           0 :         fillInt32(_rSet,&m_aNFRowCount,DSID_CONN_LDAP_ROWCOUNT,bChangedSomething);
     728           0 :         fillBool(_rSet,&m_aCBUseSSL,DSID_CONN_LDAP_USESSL,bChangedSomething);
     729           0 :         return bChangedSomething;
     730             :     }
     731           0 :     IMPL_LINK( OLDAPDetailsPage, OnCheckBoxClick, CheckBox*, pCheckBox )
     732             :     {
     733           0 :         callModifiedHdl();
     734           0 :         if ( pCheckBox == &m_aCBUseSSL)
     735             :         {
     736           0 :             if ( m_aCBUseSSL.IsChecked() )
     737             :             {
     738           0 :                 m_iNormalPort = static_cast<sal_Int32>(m_aNFPortNumber.GetValue());
     739           0 :                 m_aNFPortNumber.SetValue(m_iSSLPort);
     740             :             }
     741             :             else
     742             :             {
     743           0 :                 m_iSSLPort = static_cast<sal_Int32>(m_aNFPortNumber.GetValue());
     744           0 :                 m_aNFPortNumber.SetValue(m_iNormalPort);
     745             :             }
     746             :         }
     747           0 :         return 0;
     748             :     }
     749             : 
     750           0 :     void OLDAPDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     751             :     {
     752           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     753           0 :         _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETBaseDN));
     754           0 :         _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBUseSSL));
     755           0 :         _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFPortNumber));
     756           0 :         _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFRowCount));
     757           0 :     }
     758           0 :     void OLDAPDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     759             :     {
     760           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     761           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aBaseDN));
     762           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aPortNumber));
     763           0 :         _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTRowCount));
     764           0 :         _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL_1));
     765           0 :     }
     766           0 :     void OLDAPDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     767             :     {
     768             :         // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     769             :         sal_Bool bValid, bReadonly;
     770           0 :         getFlags(_rSet, bValid, bReadonly);
     771             : 
     772           0 :         SFX_ITEMSET_GET(_rSet, pBaseDN, SfxStringItem, DSID_CONN_LDAP_BASEDN, true);
     773           0 :         SFX_ITEMSET_GET(_rSet, pUseSSL, SfxBoolItem, DSID_CONN_LDAP_USESSL, true);
     774           0 :         SFX_ITEMSET_GET(_rSet, pPortNumber, SfxInt32Item, DSID_CONN_LDAP_PORTNUMBER, true);
     775           0 :         SFX_ITEMSET_GET(_rSet, pRowCount, SfxInt32Item, DSID_CONN_LDAP_ROWCOUNT, true);
     776             : 
     777           0 :         if ( bValid )
     778             :         {
     779           0 :             m_aETBaseDN.SetText(pBaseDN->GetValue());
     780           0 :             m_aNFPortNumber.SetValue(pPortNumber->GetValue());
     781           0 :             m_aNFRowCount.SetValue(pRowCount->GetValue());
     782           0 :             m_aCBUseSSL.Check(pUseSSL->GetValue());
     783             :         }
     784             : 
     785           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     786           0 :     }
     787             : 
     788             :     // OTextDetailsPage
     789           0 :     OTextDetailsPage::OTextDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
     790           0 :         :OCommonBehaviourTabPage(pParent, PAGE_TEXT, _rCoreAttrs, 0, false )
     791             :     {
     792             : 
     793           0 :         m_pTextConnectionHelper = new OTextConnectionHelper( this, TC_EXTENSION | TC_HEADER | TC_SEPARATORS | TC_CHARSET );
     794           0 :         FreeResource();
     795           0 :     }
     796             : 
     797           0 :     OTextDetailsPage::~OTextDetailsPage()
     798             :     {
     799           0 :         DELETEZ(m_pTextConnectionHelper);
     800             : 
     801           0 :     }
     802             : 
     803           0 :     SfxTabPage* ODriversSettings::CreateText( Window* pParent,  const SfxItemSet& _rAttrSet )
     804             :     {
     805           0 :         return ( new OTextDetailsPage( pParent, _rAttrSet ) );
     806             :     }
     807           0 :     void OTextDetailsPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
     808             :     {
     809           0 :         OCommonBehaviourTabPage::fillControls(_rControlList);
     810           0 :         m_pTextConnectionHelper->fillControls(_rControlList);
     811             : 
     812           0 :     }
     813           0 :     void OTextDetailsPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
     814             :     {
     815           0 :         OCommonBehaviourTabPage::fillWindows(_rControlList);
     816           0 :         m_pTextConnectionHelper->fillWindows(_rControlList);
     817             : 
     818           0 :     }
     819           0 :     void OTextDetailsPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
     820             :     {
     821             :         // first check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
     822             :         sal_Bool bValid, bReadonly;
     823           0 :         getFlags(_rSet, bValid, bReadonly);
     824             : 
     825           0 :         m_pTextConnectionHelper->implInitControls(_rSet, bValid);
     826           0 :         OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     827           0 :     }
     828             : 
     829           0 :     bool OTextDetailsPage::FillItemSet( SfxItemSet& rSet )
     830             :     {
     831           0 :         sal_Bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(rSet);
     832           0 :         bChangedSomething = m_pTextConnectionHelper->FillItemSet(rSet, bChangedSomething);
     833           0 :         return bChangedSomething;
     834             :     }
     835             : 
     836           0 :     sal_Bool OTextDetailsPage::prepareLeave()
     837             :     {
     838           0 :         return m_pTextConnectionHelper->prepareLeave();
     839             :     }
     840             : 
     841           0 :     SfxTabPage* ODriversSettings::CreateGeneratedValuesPage( Window* _pParent, const SfxItemSet& _rAttrSet )
     842             :     {
     843           0 :         return new GeneratedValuesPage( _pParent, _rAttrSet );
     844             :     }
     845             : 
     846           0 :     SfxTabPage* ODriversSettings::CreateSpecialSettingsPage( Window* _pParent, const SfxItemSet& _rAttrSet )
     847             :     {
     848           0 :         OUString eType = ODbDataSourceAdministrationHelper::getDatasourceType( _rAttrSet );
     849           0 :         DataSourceMetaData aMetaData( eType );
     850           0 :         return new SpecialSettingsPage( _pParent, _rAttrSet, aMetaData );
     851             :     }
     852           0 : }   // namespace dbaui
     853             : 
     854             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10