1*2e2212a7SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*2e2212a7SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*2e2212a7SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*2e2212a7SAndrew Rist * distributed with this work for additional information 6*2e2212a7SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*2e2212a7SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*2e2212a7SAndrew Rist * "License"); you may not use this file except in compliance 9*2e2212a7SAndrew Rist * with the License. You may obtain a copy of the License at 10*2e2212a7SAndrew Rist * 11*2e2212a7SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*2e2212a7SAndrew Rist * 13*2e2212a7SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*2e2212a7SAndrew Rist * software distributed under the License is distributed on an 15*2e2212a7SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*2e2212a7SAndrew Rist * KIND, either express or implied. See the License for the 17*2e2212a7SAndrew Rist * specific language governing permissions and limitations 18*2e2212a7SAndrew Rist * under the License. 19*2e2212a7SAndrew Rist * 20*2e2212a7SAndrew Rist *************************************************************/ 21*2e2212a7SAndrew Rist 22*2e2212a7SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef DBAUI_DBSETUPCONNECTIONPAGES_HXX 25cdf0e10cSrcweir #define DBAUI_DBSETUPCONNECTIONPAGES_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #ifndef DBAUI_CONNECTIONPAGESETUP_HXX 28cdf0e10cSrcweir #include "ConnectionPageSetup.hxx" 29cdf0e10cSrcweir #endif 30cdf0e10cSrcweir 31cdf0e10cSrcweir #include "adminpages.hxx" 32cdf0e10cSrcweir #include "admincontrols.hxx" 33cdf0e10cSrcweir #include "curledit.hxx" 34cdf0e10cSrcweir #include "TextConnectionHelper.hxx" 35cdf0e10cSrcweir 36cdf0e10cSrcweir #include <svtools/roadmapwizard.hxx> 37cdf0e10cSrcweir #include <ucbhelper/content.hxx> 38cdf0e10cSrcweir #include <vcl/field.hxx> 39cdf0e10cSrcweir 40cdf0e10cSrcweir 41cdf0e10cSrcweir //......................................................................... 42cdf0e10cSrcweir namespace dbaui 43cdf0e10cSrcweir 44cdf0e10cSrcweir { 45cdf0e10cSrcweir //......................................................................... 46cdf0e10cSrcweir 47cdf0e10cSrcweir class IDatabaseSettingsDialog; 48cdf0e10cSrcweir // static OGenericAdministrationPage* CreateDbaseTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 49cdf0e10cSrcweir 50cdf0e10cSrcweir 51cdf0e10cSrcweir //======================================================================== 52cdf0e10cSrcweir //= OSpreadSheetConnectionPageSetup 53cdf0e10cSrcweir //======================================================================== 54cdf0e10cSrcweir class OSpreadSheetConnectionPageSetup : public OConnectionTabPageSetup 55cdf0e10cSrcweir { 56cdf0e10cSrcweir public: 57cdf0e10cSrcweir virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs ); 58cdf0e10cSrcweir static OGenericAdministrationPage* CreateSpreadSheetTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 59cdf0e10cSrcweir OSpreadSheetConnectionPageSetup(Window* pParent, const SfxItemSet& _rCoreAttrs); 60cdf0e10cSrcweir 61cdf0e10cSrcweir protected: 62cdf0e10cSrcweir CheckBox m_aCBPasswordrequired; 63cdf0e10cSrcweir virtual ~OSpreadSheetConnectionPageSetup(); 64cdf0e10cSrcweir 65cdf0e10cSrcweir protected: 66cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 67cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 68cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 69cdf0e10cSrcweir 70cdf0e10cSrcweir }; 71cdf0e10cSrcweir 72cdf0e10cSrcweir //======================================================================== 73cdf0e10cSrcweir //= OTextConnectionPage 74cdf0e10cSrcweir //======================================================================== 75cdf0e10cSrcweir class OTextConnectionPageSetup : public OConnectionTabPageSetup 76cdf0e10cSrcweir { 77cdf0e10cSrcweir public: 78cdf0e10cSrcweir virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs ); 79cdf0e10cSrcweir static OGenericAdministrationPage* CreateTextTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 80cdf0e10cSrcweir OTextConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs ); 81cdf0e10cSrcweir OTextConnectionHelper* m_pTextConnectionHelper; 82cdf0e10cSrcweir private: 83cdf0e10cSrcweir 84cdf0e10cSrcweir protected: 85cdf0e10cSrcweir virtual ~OTextConnectionPageSetup(); 86cdf0e10cSrcweir virtual sal_Bool prepareLeave(); 87cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 88cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 89cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 90cdf0e10cSrcweir bool checkTestConnection(); 91cdf0e10cSrcweir 92cdf0e10cSrcweir private: 93cdf0e10cSrcweir DECL_LINK(ImplGetExtensionHdl, OTextConnectionHelper*); 94cdf0e10cSrcweir }; 95cdf0e10cSrcweir 96cdf0e10cSrcweir //======================================================================== 97cdf0e10cSrcweir //= OLDAPConnectionPageSetup 98cdf0e10cSrcweir //======================================================================== 99cdf0e10cSrcweir class OLDAPConnectionPageSetup : public OGenericAdministrationPage 100cdf0e10cSrcweir { 101cdf0e10cSrcweir public: 102cdf0e10cSrcweir virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs ); 103cdf0e10cSrcweir static OGenericAdministrationPage* CreateLDAPTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 104cdf0e10cSrcweir OLDAPConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs ); getControlModifiedLink()105cdf0e10cSrcweir virtual Link getControlModifiedLink() { return LINK(this, OLDAPConnectionPageSetup, OnEditModified); } 106cdf0e10cSrcweir 107cdf0e10cSrcweir protected: 108cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 109cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 110cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 111cdf0e10cSrcweir DECL_LINK(OnEditModified,Edit*); 112cdf0e10cSrcweir 113cdf0e10cSrcweir private: 114cdf0e10cSrcweir FixedText m_aFTHeaderText; 115cdf0e10cSrcweir FixedText m_aFTHelpText; 116cdf0e10cSrcweir FixedText m_aFTHostServer; 117cdf0e10cSrcweir Edit m_aETHostServer; 118cdf0e10cSrcweir FixedText m_aFTBaseDN; 119cdf0e10cSrcweir Edit m_aETBaseDN; 120cdf0e10cSrcweir FixedText m_aFTPortNumber; 121cdf0e10cSrcweir NumericField m_aNFPortNumber; 122cdf0e10cSrcweir FixedText m_aFTDefaultPortNumber; 123cdf0e10cSrcweir CheckBox m_aCBUseSSL; 124cdf0e10cSrcweir }; 125cdf0e10cSrcweir 126cdf0e10cSrcweir //======================================================================== 127cdf0e10cSrcweir //= MySQLNativeSetupPage 128cdf0e10cSrcweir //======================================================================== 129cdf0e10cSrcweir class MySQLNativeSetupPage : public OGenericAdministrationPage 130cdf0e10cSrcweir { 131cdf0e10cSrcweir private: 132cdf0e10cSrcweir FixedText m_aHeader; 133cdf0e10cSrcweir FixedText m_aHelpText; 134cdf0e10cSrcweir MySQLNativeSettings m_aMySQLSettings; 135cdf0e10cSrcweir 136cdf0e10cSrcweir public: 137cdf0e10cSrcweir MySQLNativeSetupPage( Window* _pParent, const SfxItemSet& _rCoreAttrs ); 138cdf0e10cSrcweir 139cdf0e10cSrcweir static OGenericAdministrationPage* Create( Window* pParent, const SfxItemSet& _rAttrSet ); 140cdf0e10cSrcweir 141cdf0e10cSrcweir protected: 142cdf0e10cSrcweir virtual void fillControls( ::std::vector< ISaveValueWrapper* >& _rControlList ); 143cdf0e10cSrcweir virtual void fillWindows( ::std::vector< ISaveValueWrapper* >& _rControlList ); 144cdf0e10cSrcweir 145cdf0e10cSrcweir virtual sal_Bool FillItemSet( SfxItemSet& _rCoreAttrs ); 146cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 147cdf0e10cSrcweir 148cdf0e10cSrcweir virtual Link getControlModifiedLink(); 149cdf0e10cSrcweir 150cdf0e10cSrcweir private: 151cdf0e10cSrcweir DECL_LINK( OnModified, Edit* ); 152cdf0e10cSrcweir }; 153cdf0e10cSrcweir 154cdf0e10cSrcweir //======================================================================== 155cdf0e10cSrcweir //= OGeneralSpecialJDBCConnectionPageSetup 156cdf0e10cSrcweir //======================================================================== 157cdf0e10cSrcweir class OGeneralSpecialJDBCConnectionPageSetup : public OGenericAdministrationPage 158cdf0e10cSrcweir { 159cdf0e10cSrcweir public: 160cdf0e10cSrcweir OGeneralSpecialJDBCConnectionPageSetup( Window* pParent 161cdf0e10cSrcweir , sal_uInt16 _nResId 162cdf0e10cSrcweir , const SfxItemSet& _rCoreAttrs 163cdf0e10cSrcweir , sal_uInt16 _nPortId 164cdf0e10cSrcweir , sal_uInt16 _nDefaultPortResId 165cdf0e10cSrcweir , sal_uInt16 _nHelpTextResId 166cdf0e10cSrcweir , sal_uInt16 _nHeaderTextResId 167cdf0e10cSrcweir , sal_uInt16 _nDriverClassId ); 168cdf0e10cSrcweir static OGenericAdministrationPage* CreateMySQLJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 169cdf0e10cSrcweir static OGenericAdministrationPage* CreateOracleJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 170cdf0e10cSrcweir 171cdf0e10cSrcweir protected: 172cdf0e10cSrcweir virtual sal_Bool FillItemSet( SfxItemSet& _rCoreAttrs ); 173cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 174cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 175cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); getControlModifiedLink()176cdf0e10cSrcweir virtual Link getControlModifiedLink() { return LINK(this, OGeneralSpecialJDBCConnectionPageSetup, OnEditModified); } 177cdf0e10cSrcweir 178cdf0e10cSrcweir DECL_LINK(OnTestJavaClickHdl,PushButton*); 179cdf0e10cSrcweir DECL_LINK(OnEditModified,Edit*); 180cdf0e10cSrcweir FixedText m_aFTHelpText; 181cdf0e10cSrcweir FixedText m_aFTDatabasename; 182cdf0e10cSrcweir Edit m_aETDatabasename; 183cdf0e10cSrcweir FixedText m_aFTHostname; 184cdf0e10cSrcweir Edit m_aETHostname; 185cdf0e10cSrcweir FixedText m_aFTPortNumber; 186cdf0e10cSrcweir FixedText m_aFTDefaultPortNumber; 187cdf0e10cSrcweir NumericField m_aNFPortNumber; 188cdf0e10cSrcweir 189cdf0e10cSrcweir 190cdf0e10cSrcweir FixedText m_aFTDriverClass; 191cdf0e10cSrcweir Edit m_aETDriverClass; 192cdf0e10cSrcweir PushButton m_aPBTestJavaDriver; 193cdf0e10cSrcweir 194cdf0e10cSrcweir String m_sDefaultJdbcDriverName; 195cdf0e10cSrcweir sal_uInt16 m_nPortId; 196cdf0e10cSrcweir }; 197cdf0e10cSrcweir 198cdf0e10cSrcweir 199cdf0e10cSrcweir //======================================================================== 200cdf0e10cSrcweir //= OJDBCConnectionPageSetup 201cdf0e10cSrcweir //======================================================================== 202cdf0e10cSrcweir class OJDBCConnectionPageSetup : public OConnectionTabPageSetup 203cdf0e10cSrcweir { 204cdf0e10cSrcweir public: 205cdf0e10cSrcweir OJDBCConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs ); 206cdf0e10cSrcweir static OGenericAdministrationPage* CreateJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 207cdf0e10cSrcweir 208cdf0e10cSrcweir protected: 209cdf0e10cSrcweir virtual bool checkTestConnection(); 210cdf0e10cSrcweir 211cdf0e10cSrcweir virtual sal_Bool FillItemSet( SfxItemSet& _rCoreAttrs ); 212cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 213cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 214cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 215cdf0e10cSrcweir 216cdf0e10cSrcweir DECL_LINK(OnTestJavaClickHdl,PushButton*); 217cdf0e10cSrcweir DECL_LINK(OnEditModified,Edit*); 218cdf0e10cSrcweir FixedText m_aFTDriverClass; 219cdf0e10cSrcweir Edit m_aETDriverClass; 220cdf0e10cSrcweir PushButton m_aPBTestJavaDriver; 221cdf0e10cSrcweir }; 222cdf0e10cSrcweir 223cdf0e10cSrcweir 224cdf0e10cSrcweir 225cdf0e10cSrcweir //======================================================================== 226cdf0e10cSrcweir //= OJDBCConnectionPageSetup 227cdf0e10cSrcweir //======================================================================== 228cdf0e10cSrcweir class OMySQLIntroPageSetup : public OGenericAdministrationPage 229cdf0e10cSrcweir { 230cdf0e10cSrcweir public: 231cdf0e10cSrcweir enum ConnectionType 232cdf0e10cSrcweir { 233cdf0e10cSrcweir VIA_ODBC, 234cdf0e10cSrcweir VIA_JDBC, 235cdf0e10cSrcweir VIA_NATIVE 236cdf0e10cSrcweir }; 237cdf0e10cSrcweir 238cdf0e10cSrcweir OMySQLIntroPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs); 239cdf0e10cSrcweir 240cdf0e10cSrcweir static OMySQLIntroPageSetup* CreateMySQLIntroTabPage( Window* _pParent, const SfxItemSet& _rAttrSet ); 241cdf0e10cSrcweir ConnectionType getMySQLMode(); 242cdf0e10cSrcweir Link maClickHdl; SetClickHdl(const Link & rLink)243cdf0e10cSrcweir void SetClickHdl( const Link& rLink ) { maClickHdl = rLink; } GetClickHdl() const244cdf0e10cSrcweir const Link& GetClickHdl() const { return maClickHdl; } 245cdf0e10cSrcweir DECL_LINK(ImplClickHdl, OMySQLIntroPageSetup*); 246cdf0e10cSrcweir 247cdf0e10cSrcweir 248cdf0e10cSrcweir 249cdf0e10cSrcweir 250cdf0e10cSrcweir protected: 251cdf0e10cSrcweir virtual sal_Bool FillItemSet(SfxItemSet& _rSet); 252cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 253cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 254cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 255cdf0e10cSrcweir virtual ~OMySQLIntroPageSetup(); 256cdf0e10cSrcweir 257cdf0e10cSrcweir private: 258cdf0e10cSrcweir RadioButton m_aRB_ODBCDatabase; 259cdf0e10cSrcweir RadioButton m_aRB_JDBCDatabase; 260cdf0e10cSrcweir RadioButton m_aRB_NATIVEDatabase; 261cdf0e10cSrcweir FixedText m_aFT_ConnectionMode; 262cdf0e10cSrcweir FixedText m_aFT_Helptext; 263cdf0e10cSrcweir FixedText m_aFT_Headertext; 264cdf0e10cSrcweir 265cdf0e10cSrcweir DECL_LINK(OnSetupModeSelected, RadioButton*); 266cdf0e10cSrcweir 267cdf0e10cSrcweir }; 268cdf0e10cSrcweir 269cdf0e10cSrcweir 270cdf0e10cSrcweir 271cdf0e10cSrcweir 272cdf0e10cSrcweir //======================================================================== 273cdf0e10cSrcweir //= OAuthentificationPageSetup 274cdf0e10cSrcweir //======================================================================== 275cdf0e10cSrcweir class OAuthentificationPageSetup : public OGenericAdministrationPage 276cdf0e10cSrcweir { 277cdf0e10cSrcweir public: 278cdf0e10cSrcweir virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs ); 279cdf0e10cSrcweir static OGenericAdministrationPage* CreateAuthentificationTabPage( Window* pParent, const SfxItemSet& _rAttrSet ); 280cdf0e10cSrcweir OAuthentificationPageSetup(Window* pParent, const SfxItemSet& _rCoreAttrs); 281cdf0e10cSrcweir 282cdf0e10cSrcweir protected: 283cdf0e10cSrcweir FixedText m_aFTHelpText; 284cdf0e10cSrcweir FixedText m_aFTHeaderText; 285cdf0e10cSrcweir FixedText m_aFTUserName; 286cdf0e10cSrcweir Edit m_aETUserName; 287cdf0e10cSrcweir CheckBox m_aCBPasswordRequired; 288cdf0e10cSrcweir PushButton m_aPBTestConnection; 289cdf0e10cSrcweir virtual ~OAuthentificationPageSetup(); 290cdf0e10cSrcweir 291cdf0e10cSrcweir protected: 292cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 293cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 294cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 295cdf0e10cSrcweir }; 296cdf0e10cSrcweir 297cdf0e10cSrcweir 298cdf0e10cSrcweir 299cdf0e10cSrcweir //======================================================================== 300cdf0e10cSrcweir //= OFinalDBPageSetup 301cdf0e10cSrcweir //======================================================================== 302cdf0e10cSrcweir class OFinalDBPageSetup : public OGenericAdministrationPage 303cdf0e10cSrcweir { 304cdf0e10cSrcweir public: 305cdf0e10cSrcweir virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs ); 306cdf0e10cSrcweir static OGenericAdministrationPage* CreateFinalDBTabPageSetup( Window* pParent, const SfxItemSet& _rAttrSet); 307cdf0e10cSrcweir 308cdf0e10cSrcweir FixedText m_aFTFinalHeader; 309cdf0e10cSrcweir FixedText m_aFTFinalHelpText; 310cdf0e10cSrcweir RadioButton m_aRBRegisterDataSource; 311cdf0e10cSrcweir RadioButton m_aRBDontregisterDataSource; 312cdf0e10cSrcweir FixedText m_aFTAdditionalSettings; 313cdf0e10cSrcweir CheckBox m_aCBOpenAfterwards; 314cdf0e10cSrcweir CheckBox m_aCBStartTableWizard; 315cdf0e10cSrcweir FixedText m_aFTFinalText; 316cdf0e10cSrcweir 317cdf0e10cSrcweir OFinalDBPageSetup(Window* pParent, const SfxItemSet& _rCoreAttrs); 318cdf0e10cSrcweir sal_Bool IsDatabaseDocumentToBeRegistered(); 319cdf0e10cSrcweir sal_Bool IsDatabaseDocumentToBeOpened(); 320cdf0e10cSrcweir sal_Bool IsTableWizardToBeStarted(); 321cdf0e10cSrcweir void enableTableWizardCheckBox( sal_Bool _bSupportsTableCreation); 322cdf0e10cSrcweir 323cdf0e10cSrcweir /// may be used in SetXXXHdl calls to controls, is a link to <method>OnControlModified</method> getControlModifiedLink()324cdf0e10cSrcweir Link getControlModifiedLink() { return LINK(this, OGenericAdministrationPage, OnControlModified); } 325cdf0e10cSrcweir 326cdf0e10cSrcweir DECL_LINK(OnOpenSelected, CheckBox*); 327cdf0e10cSrcweir protected: 328cdf0e10cSrcweir virtual ~OFinalDBPageSetup(); 329cdf0e10cSrcweir 330cdf0e10cSrcweir protected: 331cdf0e10cSrcweir virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue); 332cdf0e10cSrcweir virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList); 333cdf0e10cSrcweir virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList); 334cdf0e10cSrcweir }; 335cdf0e10cSrcweir 336cdf0e10cSrcweir //......................................................................... 337cdf0e10cSrcweir } // namespace dbaui 338cdf0e10cSrcweir //......................................................................... 339cdf0e10cSrcweir 340cdf0e10cSrcweir #endif 341