blob: a3e1aa0e39eec4a8994d169cec3117b99fab1c8e [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _DBAUI_DETAILPAGES_HXX_
#define _DBAUI_DETAILPAGES_HXX_
#ifndef _DBAUI_ADMINPAGES_HXX_
#include "adminpages.hxx"
#endif
#ifndef _DBAUI_CHARSETS_HXX_
#include "charsets.hxx"
#endif
#ifndef CHARSETLISTBOX_HXX
#include "charsetlistbox.hxx"
#endif
#ifndef _SV_FIELD_HXX
#include <vcl/field.hxx>
#endif
#ifndef _SV_FIXED_HXX
#include <vcl/fixed.hxx>
#endif
#ifndef _SV_LSTBOX_HXX
#include <vcl/lstbox.hxx>
#endif
#ifndef _SV_EDIT_HXX
#include <vcl/edit.hxx>
#endif
#ifndef _SV_BUTTON_HXX
#include <vcl/button.hxx>
#endif
#ifndef DBAUI_TEXTCONNECTIONHELPER_HXX
#include "TextConnectionHelper.hxx"
#endif
#include "admincontrols.hxx"
#include <svtools/dialogcontrolling.hxx>
//.........................................................................
namespace dbaui
{
//.........................................................................
//=========================================================================
//= OCommonBehaviourTabPage
//=========================================================================
#define CBTP_NONE 0x00000000
#define CBTP_USE_CHARSET 0x00000002
#define CBTP_USE_OPTIONS 0x00000004
/** eases the implementation of tab pages handling user/password and/or character
set and/or generic options input
<BR>
The controls to be used habe to be defined within the resource, as usual, but
this class does all the handling necessary.
*/
class OCommonBehaviourTabPage : public OGenericAdministrationPage
{
protected:
FixedText* m_pOptionsLabel;
Edit* m_pOptions;
FixedLine* m_pDataConvertFixedLine;
FixedText* m_pCharsetLabel;
CharSetListBox* m_pCharset;
FixedLine* m_pAutoFixedLine;
CheckBox* m_pAutoRetrievingEnabled;
FixedText* m_pAutoIncrementLabel;
Edit* m_pAutoIncrement;
FixedText* m_pAutoRetrievingLabel;
Edit* m_pAutoRetrieving;
sal_uInt32 m_nControlFlags;
public:
virtual sal_Bool FillItemSet (SfxItemSet& _rCoreAttrs);
OCommonBehaviourTabPage(Window* pParent, sal_uInt16 nResId, const SfxItemSet& _rCoreAttrs, sal_uInt32 nControlFlags,bool _bFreeResource = true);
protected:
// nControlFlags ist eine Kombination der CBTP_xxx-Konstanten
virtual ~OCommonBehaviourTabPage();
// must be overloaded by subclasses, but it isn't pure virtual
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
// <method>OGenericAdministrationPage::fillControls</method>
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
// <method>OGenericAdministrationPage::fillWindows</method>
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
};
//========================================================================
//= ODbaseDetailsPage
//========================================================================
class ODbaseDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
ODbaseDetailsPage(Window* pParent, const SfxItemSet& _rCoreAttrs);
private:
// please add new controls also to <method>fillControls</method> or <method>fillWindows</method>
CheckBox m_aShowDeleted;
FixedLine m_aFL_1;
FixedText m_aFT_Message;
PushButton m_aIndexes;
String m_sDsn;
protected:
virtual ~ODbaseDetailsPage();
protected:
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
DECL_LINK( OnButtonClicked, Button * );
};
//========================================================================
//= OAdoDetailsPage
//========================================================================
class OAdoDetailsPage : public OCommonBehaviourTabPage
{
protected:
virtual ~OAdoDetailsPage();
public:
OAdoDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
};
//========================================================================
//= OOdbcDetailsPage
//========================================================================
class OOdbcDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
protected:
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
FixedLine m_aFL_1;
CheckBox m_aUseCatalog;
};
//========================================================================
//= OUserDriverDetailsPage
//========================================================================
class OUserDriverDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
OUserDriverDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
protected:
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
FixedText m_aFTHostname;
Edit m_aEDHostname;
FixedText m_aPortNumber;
NumericField m_aNFPortNumber;
CheckBox m_aUseCatalog;
};
//========================================================================
//= OMySQLODBCDetailsPage
//========================================================================
class OMySQLODBCDetailsPage : public OCommonBehaviourTabPage
{
public:
OMySQLODBCDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
};
//========================================================================
//= OGeneralSpecialJDBCDetailsPage
//========================================================================
class OGeneralSpecialJDBCDetailsPage : public OCommonBehaviourTabPage
{
public:
OGeneralSpecialJDBCDetailsPage( Window* pParent
, sal_uInt16 _nResId
, const SfxItemSet& _rCoreAttrs
, sal_uInt16 _nPortId
);
protected:
virtual sal_Bool FillItemSet( SfxItemSet& _rCoreAttrs );
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
DECL_LINK(OnTestJavaClickHdl,PushButton*);
DECL_LINK(OnEditModified,Edit*);
FixedLine m_aFL_1;
FixedText m_aFTHostname;
Edit m_aEDHostname;
FixedText m_aPortNumber;
NumericField m_aNFPortNumber;
FixedText m_aFTSocket;
Edit m_aEDSocket;
FixedText m_aFTDriverClass;
Edit m_aEDDriverClass;
PushButton m_aTestJavaDriver;
String m_sDefaultJdbcDriverName;
sal_uInt16 m_nPortId;
bool m_bUseClass;
};
//========================================================================
//= MySQLNativePage
//========================================================================
class MySQLNativePage : public OCommonBehaviourTabPage
{
public:
MySQLNativePage( Window* pParent,
const SfxItemSet& _rCoreAttrs );
private:
FixedLine m_aSeparator1;
MySQLNativeSettings m_aMySQLSettings;
FixedLine m_aSeparator2;
FixedText m_aUserNameLabel;
Edit m_aUserName;
CheckBox m_aPasswordRequired;
protected:
virtual sal_Bool FillItemSet( SfxItemSet& _rCoreAttrs );
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
};
//========================================================================
//= OAdabasDetailsPage
//========================================================================
class OAdabasDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet (SfxItemSet& _rCoreAttrs);
OAdabasDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
protected:
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
FixedText m_aFTHostname;
Edit m_aEDHostname;
FixedLine m_aFL_1;
FixedText m_FT_CACHE_SIZE;
NumericField m_NF_CACHE_SIZE;
FixedText m_FT_DATA_INCREMENT;
NumericField m_NF_DATA_INCREMENT;
FixedLine m_aFL_2;
FixedText m_FT_CTRLUSERNAME;
Edit m_ET_CTRLUSERNAME;
FixedText m_FT_CTRLPASSWORD;
Edit m_ET_CTRLPASSWORD;
CheckBox m_CB_SHUTDB;
PushButton m_PB_STAT;
String m_sUser;
sal_Bool bAttrsChanged;
DECL_LINK( AttributesChangedHdl, void * );
DECL_LINK( UserSettingsHdl, void * );
DECL_LINK( LoseFocusHdl, Edit * );
DECL_LINK( PBClickHdl, Button *);
};
//========================================================================
//= OOdbcDetailsPage
//========================================================================
class OLDAPDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
OLDAPDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
protected:
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
FixedLine m_aFL_1;
FixedText m_aBaseDN;
Edit m_aETBaseDN;
CheckBox m_aCBUseSSL;
FixedText m_aPortNumber;
NumericField m_aNFPortNumber;
FixedText m_aFTRowCount;
NumericField m_aNFRowCount;
sal_Int32 m_iSSLPort;
sal_Int32 m_iNormalPort;
DECL_LINK( OnCheckBoxClick, CheckBox * );
};
//========================================================================
//= OMozillaDetailsPage Detail page for Mozilla and Thunderbird addressbook
//========================================================================
class OMozillaDetailsPage : public OCommonBehaviourTabPage
{
protected:
virtual ~OMozillaDetailsPage();
public:
OMozillaDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
};
//========================================================================
//= OTextDetailsPage
//========================================================================
class OTextDetailsPage : public OCommonBehaviourTabPage
{
public:
virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
OTextDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
OTextConnectionHelper* m_pTextConnectionHelper;
private:
String m_aFieldSeparatorList;
String m_aTextSeparatorList;
String m_aTextNone;
protected:
virtual ~OTextDetailsPage();
virtual sal_Bool prepareLeave();
virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
private:
};
//.........................................................................
} // namespace dbaui
//.........................................................................
#endif // _DBAUI_DETAILPAGES_HXX_