summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-09-05 12:22:38 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-09-12 20:28:14 +0200
commit8c66efa030e98cfdf5da20be368566d64e43c5d1 (patch)
tree88c9fb335349fd1b7b285d46108e5d41a3c9aac4 /dbaccess/source/ui/inc
parent8150219824a1d08c4a22fd8bb7cc63fe2aa88074 (diff)
weld OCopyTableWizard cluster
Change-Id: I52547defb0e7ba328ec20d41a955e545556ffd16 note: get the toplevel parent by getting it from the XInteractionHandler Reviewed-on: https://gerrit.libreoffice.org/78751 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'dbaccess/source/ui/inc')
-rw-r--r--dbaccess/source/ui/inc/FieldControls.hxx62
-rw-r--r--dbaccess/source/ui/inc/FieldDescControl.hxx105
-rw-r--r--dbaccess/source/ui/inc/SqlNameEdit.hxx59
-rw-r--r--dbaccess/source/ui/inc/WCPage.hxx43
-rw-r--r--dbaccess/source/ui/inc/WColumnSelect.hxx30
-rw-r--r--dbaccess/source/ui/inc/WCopyTable.hxx36
-rw-r--r--dbaccess/source/ui/inc/WExtendPages.hxx20
-rw-r--r--dbaccess/source/ui/inc/WNameMatch.hxx53
-rw-r--r--dbaccess/source/ui/inc/WTabPage.hxx8
-rw-r--r--dbaccess/source/ui/inc/WTypeSelect.hxx79
10 files changed, 292 insertions, 203 deletions
diff --git a/dbaccess/source/ui/inc/FieldControls.hxx b/dbaccess/source/ui/inc/FieldControls.hxx
index 1ed9413e5365..6bd8f3b68dad 100644
--- a/dbaccess/source/ui/inc/FieldControls.hxx
+++ b/dbaccess/source/ui/inc/FieldControls.hxx
@@ -27,58 +27,92 @@
namespace dbaui
{
- class OPropColumnEditCtrl : public OSQLNameEdit
+ class OPropColumnEditCtrl : public OSQLNameEntry
{
short m_nPos;
OUString m_strHelpText;
public:
- OPropColumnEditCtrl(vcl::Window* pParent, OUString const & _rAllowedChars, const char* pHelpId, short nPosition, WinBits nWinStyle);
-
- virtual bool IsModified() const override { return IsValueChangedFromSaved(); }
+ OPropColumnEditCtrl(std::unique_ptr<weld::Entry> xEntry, OUString const & _rAllowedChars, const char* pHelpId, short nPosition);
short GetPos() const { return m_nPos; }
const OUString& GetHelp() const { return m_strHelpText; }
};
- class OPropEditCtrl : public Edit
+ class OPropEditCtrl : public OWidgetBase
{
+ std::unique_ptr<weld::Entry> m_xEntry;
short m_nPos;
OUString m_strHelpText;
public:
- OPropEditCtrl(vcl::Window* pParent, const char* pHelpId, short nPosition, WinBits nWinStyle);
+ OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, const char* pHelpId, short nPosition);
+
+ void set_text(const OUString& rText) { m_xEntry->set_text(rText); }
+ OUString get_text() const { return m_xEntry->get_text(); }
+ void set_editable(bool bEditable) { m_xEntry->set_editable(bEditable); }
- virtual bool IsModified() const override { return IsValueChangedFromSaved(); }
+ virtual void save_value() override { m_xEntry->save_value(); }
+ virtual bool get_value_changed_from_saved() const override { return m_xEntry->get_value_changed_from_saved(); }
short GetPos() const { return m_nPos; }
const OUString& GetHelp() const { return m_strHelpText; }
};
- class OPropNumericEditCtrl : public NumericField
+ class OPropNumericEditCtrl : public OWidgetBase
{
+ std::unique_ptr<weld::SpinButton> m_xSpinButton;
short m_nPos;
OUString m_strHelpText;
public:
- OPropNumericEditCtrl(vcl::Window* pParent, const char* pHelpId, short nPosition, WinBits nWinStyle);
+ OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSpinButton, const char* pHelpId, short nPosition);
- virtual bool IsModified() const override { return IsValueChangedFromSaved(); }
+ void set_text(const OUString& rText) { m_xSpinButton->set_text(rText); }
+ OUString get_text() const { return m_xSpinButton->get_text(); }
+
+ virtual void save_value() override { m_xSpinButton->save_value(); }
+ virtual bool get_value_changed_from_saved() const override { return m_xSpinButton->get_value_changed_from_saved(); }
+ void set_digits(int nLen) { m_xSpinButton->set_digits(nLen); }
+ void set_min(int nMin) { m_xSpinButton->set_min(nMin); }
+ void set_max(int nMax) { m_xSpinButton->set_max(nMax); }
+ void set_range(int nMin, int nMax) { m_xSpinButton->set_range(nMin, nMax); }
+ int get_value() const { return m_xSpinButton->get_value(); }
short GetPos() const { return m_nPos; }
const OUString& GetHelp() const { return m_strHelpText; }
- void SetSpecialReadOnly(bool _bReadOnly);
+ void set_editable(bool bEditable) { m_xSpinButton->set_editable(bEditable); }
};
- class OPropListBoxCtrl : public ListBox
+ class OPropListBoxCtrl : public OWidgetBase
{
+ std::unique_ptr<weld::ComboBox> m_xComboBox;
short m_nPos;
OUString m_strHelpText;
public:
- OPropListBoxCtrl(vcl::Window* pParent, const char* pHelpId, short nPosition, WinBits nWinStyle);
+ OPropListBoxCtrl(std::unique_ptr<weld::ComboBox> xComboBox, const char* pHelpId, short nPosition);
+ virtual ~OPropListBoxCtrl() override
+ {
+ m_xComboBox->clear();
+ }
+
+ virtual void save_value() override { m_xComboBox->save_value(); }
+ virtual bool get_value_changed_from_saved() const override { return m_xComboBox->get_value_changed_from_saved(); }
+
+ weld::ComboBox& GetComboBox() { return *m_xComboBox; }
+
+ OUString get_active_text() const { return m_xComboBox->get_active_text(); }
+ void set_active_text(const OUString &rText) { m_xComboBox->set_active_text(rText); }
+
+ int get_active() const { return m_xComboBox->get_active(); }
+ void set_active(int nPos) { m_xComboBox->set_active(nPos); }
+
+ int get_count() const { return m_xComboBox->get_count(); }
- bool IsModified() const { return IsValueChangedFromSaved(); }
+ void append_text(const OUString &rText) { m_xComboBox->append_text(rText); }
+ void remove_text(const OUString &rText) { m_xComboBox->remove_text(rText); }
+ int find_text(const OUString &rText) const { return m_xComboBox->find_text(rText); }
short GetPos() const { return m_nPos; }
const OUString& GetHelp() const { return m_strHelpText; }
diff --git a/dbaccess/source/ui/inc/FieldDescControl.hxx b/dbaccess/source/ui/inc/FieldDescControl.hxx
index e24670609ef9..5a4c6111eb05 100644
--- a/dbaccess/source/ui/inc/FieldDescControl.hxx
+++ b/dbaccess/source/ui/inc/FieldDescControl.hxx
@@ -20,6 +20,7 @@
#define INCLUDED_DBACCESS_SOURCE_UI_INC_FIELDDESCCONTROL_HXX
#include <vcl/tabpage.hxx>
+#include <vcl/weld.hxx>
#include "QEnumTypes.hxx"
#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
#include <com/sun/star/util/XNumberFormatter.hpp>
@@ -65,77 +66,68 @@ namespace dbaui
class OFieldDescControl : public TabPage
{
private:
+ std::unique_ptr<weld::Builder> m_xBuilder;
+ std::unique_ptr<weld::Container> m_xContainer;
+
VclPtr<OTableDesignHelpBar> pHelp;
- VclPtr<vcl::Window> pLastFocusWindow;
- VclPtr<vcl::Window> m_pActFocusWindow;
-
- VclPtr<FixedText> pDefaultText;
- VclPtr<FixedText> pRequiredText;
- VclPtr<FixedText> pAutoIncrementText;
- VclPtr<FixedText> pTextLenText;
- VclPtr<FixedText> pNumTypeText;
- VclPtr<FixedText> pLengthText;
- VclPtr<FixedText> pScaleText;
- VclPtr<FixedText> pFormatText;
- VclPtr<FixedText> pBoolDefaultText;
- VclPtr<FixedText> m_pColumnNameText;
- VclPtr<FixedText> m_pTypeText;
- VclPtr<FixedText> m_pAutoIncrementValueText;
-
- VclPtr<OPropListBoxCtrl> pRequired;
- VclPtr<OPropListBoxCtrl> pNumType;
- VclPtr<OPropListBoxCtrl> pAutoIncrement;
- VclPtr<OPropEditCtrl> pDefault;
- VclPtr<OPropNumericEditCtrl> pTextLen;
- VclPtr<OPropNumericEditCtrl> pLength;
- VclPtr<OPropNumericEditCtrl> pScale;
- VclPtr<OPropEditCtrl> pFormatSample;
- VclPtr<OPropListBoxCtrl> pBoolDefault;
- VclPtr<OPropColumnEditCtrl> m_pColumnName;
- VclPtr<OPropListBoxCtrl> m_pType;
- VclPtr<OPropEditCtrl> m_pAutoIncrementValue;
-
- VclPtr<PushButton> pFormat;
-
- VclPtr<ScrollBar> m_pVertScroll;
- VclPtr<ScrollBar> m_pHorzScroll;
+ weld::Widget* m_pLastFocusWindow;
+ weld::Widget* m_pActFocusWindow;
+
+ std::unique_ptr<weld::Label> m_xDefaultText;
+ std::unique_ptr<weld::Label> m_xRequiredText;
+ std::unique_ptr<weld::Label> m_xAutoIncrementText;
+ std::unique_ptr<weld::Label> m_xTextLenText;
+ std::unique_ptr<weld::Label> m_xNumTypeText;
+ std::unique_ptr<weld::Label> m_xLengthText;
+ std::unique_ptr<weld::Label> m_xScaleText;
+ std::unique_ptr<weld::Label> m_xFormatText;
+ std::unique_ptr<weld::Label> m_xBoolDefaultText;
+ std::unique_ptr<weld::Label> m_xColumnNameText;
+ std::unique_ptr<weld::Label> m_xTypeText;
+ std::unique_ptr<weld::Label> m_xAutoIncrementValueText;
+
+ std::unique_ptr<OPropListBoxCtrl> m_xRequired;
+ std::unique_ptr<OPropListBoxCtrl> m_xNumType;
+ std::unique_ptr<OPropListBoxCtrl> m_xAutoIncrement;
+ std::unique_ptr<OPropEditCtrl> m_xDefault;
+ std::unique_ptr<OPropNumericEditCtrl> m_xTextLen;
+ std::unique_ptr<OPropNumericEditCtrl> m_xLength;
+ std::unique_ptr<OPropNumericEditCtrl> m_xScale;
+ std::unique_ptr<OPropEditCtrl> m_xFormatSample;
+ std::unique_ptr<OPropListBoxCtrl> m_xBoolDefault;
+ std::unique_ptr<OPropColumnEditCtrl> m_xColumnName;
+ std::unique_ptr<OPropListBoxCtrl> m_xType;
+ std::unique_ptr<OPropEditCtrl> m_xAutoIncrementValue;
+
+ std::unique_ptr<weld::Button> m_xFormat;
TOTypeInfoSP m_pPreviousType;
short m_nPos;
OUString aYes;
OUString aNo;
- long m_nOldVThumb;
- long m_nOldHThumb;
- sal_Int32 m_nWidth;
+ sal_Int32 m_nEditWidth;
bool m_bAdded;
bool m_bRightAligned;
OFieldDescription* pActFieldDescr;
- DECL_LINK( OnScroll, ScrollBar*, void);
+ DECL_LINK(OnScroll, weld::ScrolledWindow&, void);
- DECL_LINK( FormatClickHdl, Button *, void );
- DECL_LINK( ChangeHdl, ListBox&, void );
+ DECL_LINK(FormatClickHdl, weld::Button&, void);
+ DECL_LINK(ChangeHdl, weld::ComboBox&, void);
// used by ActivatePropertyField
- DECL_LINK( OnControlFocusLost, Control&, void );
- DECL_LINK( OnControlFocusGot, Control&, void );
+ DECL_LINK( OnControlFocusLost, weld::Widget&, void );
+ DECL_LINK( OnControlFocusGot, weld::Widget&, void );
void UpdateFormatSample(OFieldDescription const * pFieldDescr);
- void ArrangeAggregates();
-
- void SetPosSize( VclPtr<Control> const & rControl, long nRow, sal_uInt16 nCol );
-
- static void ScrollAggregate(Control* pText, Control* pInput, Control* pButton, long nDeltaX, long nDeltaY);
- void ScrollAllAggregates();
bool isTextFormat(const OFieldDescription* _pFieldDescr,sal_uInt32& _nFormatKey) const;
- void Construct();
- VclPtr<OPropNumericEditCtrl> CreateNumericControl(const char* pHelpId, short _nProperty, const OString& _sHelpId);
- VclPtr<FixedText> CreateText(const char* pTextRes);
- void InitializeControl(Control* _pControl,const OString& _sHelpId,bool _bAddChangeHandler);
+ std::unique_ptr<OPropNumericEditCtrl> CreateNumericControl(const OString& rId, const char* pHelpId, short _nProperty, const OString& _sHelpId);
+ void InitializeControl(weld::Widget* _pControl,const OString& _sHelpId);
+ void InitializeControl(OPropListBoxCtrl* _pControl,const OString& _sHelpId,bool _bAddChangeHandler);
protected:
void setRightAligned() { m_bRightAligned = true; }
@@ -146,7 +138,6 @@ namespace dbaui
void setCurrentFieldDescData( OFieldDescription* _pDesc ) { pActFieldDescr = _pDesc; }
sal_uInt16 CountActiveAggregates() const;
- sal_Int32 GetMaxControlHeight() const;
virtual void ActivateAggregate( EControlType eType );
virtual void DeactivateAggregate( EControlType eType );
@@ -168,12 +159,12 @@ namespace dbaui
OUString BoolStringPersistent(const OUString& rUIString) const;
OUString BoolStringUI(const OUString& rPersistentString) const;
- const OPropColumnEditCtrl* getColumnCtrl() const { return m_pColumnName; }
+ const OPropColumnEditCtrl* getColumnCtrl() const { return m_xColumnName.get(); }
- void implFocusLost(vcl::Window* _pWhich);
+ void implFocusLost(weld::Widget* _pWhich);
public:
- OFieldDescControl( vcl::Window* pParent, OTableDesignHelpBar* pHelpBar);
+ OFieldDescControl(TabPageParent pParent, OTableDesignHelpBar* pHelpBar);
virtual ~OFieldDescControl() override;
virtual void dispose() override;
@@ -185,7 +176,6 @@ namespace dbaui
void SetReadOnly( bool bReadOnly );
// when resize is called
- void CheckScrollBars();
bool isCutAllowed() const;
bool isCopyAllowed() const;
bool isPasteAllowed() const;
@@ -197,14 +187,13 @@ namespace dbaui
void Init();
virtual void GetFocus() override;
virtual void LoseFocus() override;
- virtual void Resize() override;
virtual css::uno::Reference< css::sdbc::XDatabaseMetaData> getMetaData() = 0;
virtual css::uno::Reference< css::sdbc::XConnection> getConnection() = 0;
OUString getControlDefault( const OFieldDescription* _pFieldDescr, bool _bCheck = true) const;
- void setEditWidth(sal_Int32 _nWidth) { m_nWidth = _nWidth; }
+ void setEditWidth(sal_Int32 _nWidth) { m_nEditWidth = _nWidth; }
};
}
#endif
diff --git a/dbaccess/source/ui/inc/SqlNameEdit.hxx b/dbaccess/source/ui/inc/SqlNameEdit.hxx
index fa5cd5b505c6..f9f0dc23530c 100644
--- a/dbaccess/source/ui/inc/SqlNameEdit.hxx
+++ b/dbaccess/source/ui/inc/SqlNameEdit.hxx
@@ -21,6 +21,7 @@
#include <vcl/edit.hxx>
#include <vcl/combobox.hxx>
+#include <vcl/weld.hxx>
namespace dbaui
{
@@ -45,21 +46,71 @@ namespace dbaui
}
bool checkString(const OUString& _sToCheck,OUString& _rsCorrected);
};
+
class OSQLNameEdit : public Edit
,public OSQLNameChecker
{
public:
OSQLNameEdit(vcl::Window* _pParent,WinBits nStyle = WB_BORDER, const OUString& _rAllowedChars = OUString())
: Edit(_pParent,nStyle)
- ,OSQLNameChecker(_rAllowedChars)
+ , OSQLNameChecker(_rAllowedChars)
{
}
- // Window overrides
- // virtual bool PreNotify( NotifyEvent& rNEvt );
- // Edit
+ // Edit overrides
virtual void Modify() override;
};
+
+ class OWidgetBase
+ {
+ private:
+ weld::Widget* m_pWidget;
+ public:
+ OWidgetBase(weld::Widget *pWidget)
+ : m_pWidget(pWidget)
+ {
+ }
+
+ void hide() { m_pWidget->hide(); }
+ void show() { m_pWidget->show(); }
+ void set_sensitive(bool bSensitive) { m_pWidget->set_sensitive(bSensitive); }
+
+ weld::Widget* GetWidget() { return m_pWidget; }
+
+ virtual bool get_value_changed_from_saved() const = 0;
+ virtual void save_value() = 0;
+
+ virtual ~OWidgetBase() {}
+ };
+
+ class OSQLNameEntry : public OWidgetBase
+ , public OSQLNameChecker
+ {
+ private:
+ std::unique_ptr<weld::Entry> m_xEntry;
+
+ DECL_LINK(ModifyHdl, weld::Entry&, void);
+
+ public:
+ OSQLNameEntry(std::unique_ptr<weld::Entry> xEntry, const OUString& _rAllowedChars = OUString())
+ : OWidgetBase(xEntry.get())
+ , OSQLNameChecker(_rAllowedChars)
+ , m_xEntry(std::move(xEntry))
+ {
+ m_xEntry->connect_changed(LINK(this, OSQLNameEntry, ModifyHdl));
+ }
+
+ OUString get_text() const { return m_xEntry->get_text(); }
+ void set_text(const OUString& rText) { m_xEntry->set_text(rText); }
+ void set_max_length(int nLen) { m_xEntry->set_max_length(nLen); }
+ void set_sensitive(bool bSensitive) { m_xEntry->set_sensitive(bSensitive); }
+ virtual void save_value() override { m_xEntry->save_value(); }
+ virtual bool get_value_changed_from_saved() const override
+ {
+ return m_xEntry->get_value_changed_from_saved();
+ }
+ };
+
}
#endif // INCLUDED_DBACCESS_SOURCE_UI_INC_SQLNAMEEDIT_HXX
diff --git a/dbaccess/source/ui/inc/WCPage.hxx b/dbaccess/source/ui/inc/WCPage.hxx
index c826f0c0daaf..61b1f78a779e 100644
--- a/dbaccess/source/ui/inc/WCPage.hxx
+++ b/dbaccess/source/ui/inc/WCPage.hxx
@@ -32,23 +32,23 @@ namespace dbaui
class OWizNormalExtend;
class OCopyTable final : public OWizardPage
{
- VclPtr<Edit> m_pEdTableName;
- VclPtr<RadioButton> m_pRB_DefData;
- VclPtr<RadioButton> m_pRB_Def;
- VclPtr<RadioButton> m_pRB_View;
- VclPtr<RadioButton> m_pRB_AppendData;
- VclPtr<CheckBox> m_pCB_UseHeaderLine;
- VclPtr<CheckBox> m_pCB_PrimaryColumn;
- VclPtr<FixedText> m_pFT_KeyName;
- VclPtr<Edit> m_pEdKeyName;
- sal_Int16 m_nOldOperation;
-
bool m_bPKeyAllowed;
bool m_bUseHeaderAllowed;
+ sal_Int16 m_nOldOperation;
+
+ std::unique_ptr<weld::Entry> m_xEdTableName;
+ std::unique_ptr<weld::RadioButton> m_xRB_DefData;
+ std::unique_ptr<weld::RadioButton> m_xRB_Def;
+ std::unique_ptr<weld::RadioButton> m_xRB_View;
+ std::unique_ptr<weld::RadioButton> m_xRB_AppendData;
+ std::unique_ptr<weld::CheckButton> m_xCB_UseHeaderLine;
+ std::unique_ptr<weld::CheckButton> m_xCB_PrimaryColumn;
+ std::unique_ptr<weld::Label> m_xFT_KeyName;
+ std::unique_ptr<weld::Entry> m_xEdKeyName;
- DECL_LINK( AppendDataClickHdl, Button*, void );
- DECL_LINK( RadioChangeHdl, Button*, void );
- DECL_LINK( KeyClickHdl, Button*, void );
+ DECL_LINK( AppendDataClickHdl, weld::Button&, void );
+ DECL_LINK( RadioChangeHdl, weld::Button&, void );
+ DECL_LINK( KeyClickHdl, weld::Button&, void );
bool checkAppendData();
void SetAppendDataRadio();
@@ -59,24 +59,23 @@ namespace dbaui
virtual bool LeavePage() override;
virtual OUString GetTitle() const override ;
- OCopyTable( vcl::Window * pParent );
+ OCopyTable(OCopyTableWizard* pWizard, TabPageParent pParent);
virtual ~OCopyTable() override;
- virtual void dispose() override;
- bool IsOptionDefData() const { return m_pRB_DefData->IsChecked(); }
- bool IsOptionDef() const { return m_pRB_Def->IsChecked(); }
- bool IsOptionView() const { return m_pRB_View->IsChecked(); }
- OUString GetKeyName() const { return m_pEdKeyName->GetText(); }
+ bool IsOptionDefData() const { return m_xRB_DefData->get_active(); }
+ bool IsOptionDef() const { return m_xRB_Def->get_active(); }
+ bool IsOptionView() const { return m_xRB_View->get_active(); }
+ OUString GetKeyName() const { return m_xEdKeyName->get_text(); }
void setCreateStyleAction();
void disallowViews()
{
- m_pRB_View->Disable();
+ m_xRB_View->set_sensitive(false);
}
void disallowUseHeaderLine()
{
m_bUseHeaderAllowed = false;
- m_pCB_UseHeaderLine->Disable();
+ m_xCB_UseHeaderLine->set_sensitive(false);
}
void setCreatePrimaryKey( bool _bDoCreate, const OUString& _rSuggestedName );
diff --git a/dbaccess/source/ui/inc/WColumnSelect.hxx b/dbaccess/source/ui/inc/WColumnSelect.hxx
index e8ba08f17206..816b13bc1d1e 100644
--- a/dbaccess/source/ui/inc/WColumnSelect.hxx
+++ b/dbaccess/source/ui/inc/WColumnSelect.hxx
@@ -35,21 +35,21 @@ namespace dbaui
class OWizColumnSelect : public OWizardPage
{
- VclPtr<ListBox> m_pOrgColumnNames; // left side
- VclPtr<PushButton> m_pColumn_RH;
- VclPtr<PushButton> m_pColumns_RH;
- VclPtr<PushButton> m_pColumn_LH;
- VclPtr<PushButton> m_pColumns_LH;
- VclPtr<ListBox> m_pNewColumnNames; // right side
+ std::unique_ptr<weld::TreeView> m_xOrgColumnNames; // left side
+ std::unique_ptr<weld::Button> m_xColumn_RH;
+ std::unique_ptr<weld::Button> m_xColumns_RH;
+ std::unique_ptr<weld::Button> m_xColumn_LH;
+ std::unique_ptr<weld::Button> m_xColumns_LH;
+ std::unique_ptr<weld::TreeView> m_xNewColumnNames; // right side
- DECL_LINK( ButtonClickHdl, Button *, void );
- DECL_LINK( ListDoubleClickHdl, ListBox&, void );
+ DECL_LINK( ButtonClickHdl, weld::Button&, void );
+ DECL_LINK( ListDoubleClickHdl, weld::TreeView&, void );
- static void clearListBox(ListBox& _rListBox);
- static void fillColumns( ListBox const * pRight,
+ static void clearListBox(weld::TreeView& _rListBox);
+ static void fillColumns(weld::TreeView const * pRight,
std::vector< OUString> &_rRightColumns);
- void createNewColumn( ListBox* _pListbox,
+ void createNewColumn( weld::TreeView* _pListbox,
OFieldDescription const * _pSrcField,
std::vector< OUString>& _rRightColumns,
const OUString& _sColumnName,
@@ -57,8 +57,8 @@ namespace dbaui
sal_Int32 _nMaxNameLen,
const ::comphelper::UStringMixEqual& _aCase);
- void moveColumn( ListBox* _pRight,
- ListBox const * _pLeft,
+ void moveColumn( weld::TreeView* _pRight,
+ weld::TreeView const * _pLeft,
std::vector< OUString>& _rRightColumns,
const OUString& _sColumnName,
const OUString& _sExtraChars,
@@ -67,7 +67,7 @@ namespace dbaui
void enableButtons();
- sal_Int32 adjustColumnPosition(ListBox const * _pLeft,
+ sal_Int32 adjustColumnPosition(weld::TreeView const * _pLeft,
const OUString& _sColumnName,
ODatabaseExport::TColumnVector::size_type nCurrentPos,
const ::comphelper::UStringMixEqual& _aCase);
@@ -78,7 +78,7 @@ namespace dbaui
virtual bool LeavePage() override;
virtual OUString GetTitle() const override ;
- OWizColumnSelect(vcl::Window* pParent);
+ OWizColumnSelect(OCopyTableWizard* pWizard, TabPageParent pParent);
virtual ~OWizColumnSelect() override;
virtual void dispose() override;
};
diff --git a/dbaccess/source/ui/inc/WCopyTable.hxx b/dbaccess/source/ui/inc/WCopyTable.hxx
index cbf6cf8dc161..8d1cd4355596 100644
--- a/dbaccess/source/ui/inc/WCopyTable.hxx
+++ b/dbaccess/source/ui/inc/WCopyTable.hxx
@@ -30,7 +30,7 @@
#include <comphelper/stl_types.hxx>
#include "TypeInfo.hxx"
#include <vcl/button.hxx>
-#include <vcl/wizdlg.hxx>
+#include <vcl/roadmapwizard.hxx>
#include "DExport.hxx"
#include "WTabPage.hxx"
#include "FieldDescriptions.hxx"
@@ -212,7 +212,7 @@ namespace dbaui
};
// Wizard Dialog
- class OCopyTableWizard : public WizardDialog
+ class OCopyTableWizard : public vcl::RoadmapWizardMachine
{
friend class OWizColumnSelect;
friend class OWizTypeSelect;
@@ -238,12 +238,6 @@ namespace dbaui
ODatabaseExport::TColumns m_vSourceColumns;
ODatabaseExport::TColumnVector m_vSourceVec;
- VclPtr<HelpButton> m_pbHelp;
- VclPtr<CancelButton> m_pbCancel;
- VclPtr<PushButton> m_pbPrev;
- VclPtr<PushButton> m_pbNext;
- VclPtr<PushButton> m_pbFinish;
-
OTypeInfoMap m_aTypeInfo;
std::vector<OTypeInfoMap::iterator> m_aTypeInfoIndex;
OTypeInfoMap m_aDestTypeInfo;
@@ -278,10 +272,9 @@ namespace dbaui
bool m_bUseHeaderLine;
private:
- DECL_LINK( ImplPrevHdl, Button*, void );
- DECL_LINK( ImplNextHdl, Button*, void);
- DECL_LINK( ImplOKHdl, Button*, void );
- DECL_LINK( ImplActivateHdl, WizardDialog*, void );
+ DECL_LINK( ImplPrevHdl, weld::Button&, void );
+ DECL_LINK( ImplNextHdl, weld::Button&, void);
+ DECL_LINK( ImplOKHdl, weld::Button&, void );
bool CheckColumns(sal_Int32& _rnBreakPos);
void loadData( const ICopyTableSourceObject& _rSourceObject,
ODatabaseExport::TColumns& _rColumns,
@@ -293,10 +286,22 @@ namespace dbaui
// checks if the type is supported in the destination database
bool supportsType(sal_Int32 _nDataType,sal_Int32& _rNewDataType);
+ virtual VclPtr<TabPage> createPage(WizardState /*nState*/) override
+ {
+ assert(false);
+ return nullptr;
+ }
+
+ virtual void ActivatePage() override;
+
+ sal_uInt16 GetCurLevel() const { return getCurrentState(); }
+
+ TabPageParent CreatePageContainer();
+
public:
// used for copy tables or queries
OCopyTableWizard(
- vcl::Window * pParent,
+ weld::Window * pParent,
const OUString& _rDefaultName,
sal_Int16 _nOperation,
const ICopyTableSourceObject& _rSourceObject,
@@ -308,7 +313,7 @@ namespace dbaui
// used for importing rtf/html sources
OCopyTableWizard(
- vcl::Window* pParent,
+ weld::Window* pParent,
const OUString& _rDefaultName,
sal_Int16 _nOperation,
const ODatabaseExport::TColumns& _rDestColumns,
@@ -321,10 +326,9 @@ namespace dbaui
);
virtual ~OCopyTableWizard() override;
- virtual void dispose() override;
virtual bool DeactivatePage() override;
- OKButton& GetOKButton() { return static_cast<OKButton&>(*m_pbFinish); }
+ weld::Button& GetOKButton() { return *m_xFinish; }
Wizard_Button_Style GetPressedButton() const { return m_ePressed; }
void EnableNextButton(bool bEnable);
void AddWizardPage(OWizardPage* pPage); // delete page from OCopyTableWizard
diff --git a/dbaccess/source/ui/inc/WExtendPages.hxx b/dbaccess/source/ui/inc/WExtendPages.hxx
index 3efb77d9ddf5..90ba9ede00a8 100644
--- a/dbaccess/source/ui/inc/WExtendPages.hxx
+++ b/dbaccess/source/ui/inc/WExtendPages.hxx
@@ -24,18 +24,20 @@
class SvStream;
namespace dbaui
{
+ class OCopyTableWizard;
+
// Wizard Page: OWizHTMLExtend
class OWizHTMLExtend : public OWizTypeSelect
{
protected:
virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
- OWizHTMLExtend(vcl::Window* pParent, SvStream& _rStream)
- : OWizTypeSelect( pParent, &_rStream )
+ OWizHTMLExtend(OCopyTableWizard* pWizard, TabPageParent pParent, SvStream& rStream)
+ : OWizTypeSelect(pWizard, pParent, &rStream)
{
}
- static VclPtr<OWizTypeSelect> Create( vcl::Window* _pParent, SvStream& _rInput ) { return VclPtr<OWizHTMLExtend>::Create( _pParent, _rInput ); }
+ static VclPtr<OWizTypeSelect> Create(OCopyTableWizard* pWizard, TabPageParent pParent, SvStream& rInput ) { return VclPtr<OWizHTMLExtend>::Create(pWizard, pParent, rInput); }
};
// Wizard Page: OWizRTFExtend
class OWizRTFExtend : public OWizTypeSelect
@@ -43,12 +45,12 @@ namespace dbaui
protected:
virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
- OWizRTFExtend(vcl::Window* pParent,SvStream& _rStream)
- : OWizTypeSelect( pParent, &_rStream )
+ OWizRTFExtend(OCopyTableWizard* pWizard, TabPageParent pParent, SvStream& rStream)
+ : OWizTypeSelect(pWizard, pParent, &rStream)
{
}
- static VclPtr<OWizTypeSelect> Create( vcl::Window* _pParent, SvStream& _rInput ) { return VclPtr<OWizRTFExtend>::Create( _pParent, _rInput ); }
+ static VclPtr<OWizTypeSelect> Create(OCopyTableWizard* pWizard, TabPageParent pParent, SvStream& rInput) { return VclPtr<OWizRTFExtend>::Create(pWizard, pParent, rInput); }
};
// Wizard Page: OWizNormalExtend
@@ -57,7 +59,11 @@ namespace dbaui
protected:
virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
- OWizNormalExtend(vcl::Window* pParent);
+ OWizNormalExtend(OCopyTableWizard* pWizard, TabPageParent pParent)
+ : OWizTypeSelect(pWizard, pParent)
+ {
+ EnableAuto(false);
+ }
};
}
#endif // INCLUDED_DBACCESS_SOURCE_UI_INC_WEXTENDPAGES_HXX
diff --git a/dbaccess/source/ui/inc/WNameMatch.hxx b/dbaccess/source/ui/inc/WNameMatch.hxx
index 642ff1f85198..05cc948f7713 100644
--- a/dbaccess/source/ui/inc/WNameMatch.hxx
+++ b/dbaccess/source/ui/inc/WNameMatch.hxx
@@ -28,46 +28,30 @@
namespace dbaui
{
- // columns are at root only no children
- class OColumnTreeBox : public OMarkableTreeListBox
- {
- bool m_bReadOnly;
- protected:
- virtual void InitEntry(SvTreeListEntry* pEntry, const OUString& rStr, const Image& rImg1, const Image& rImg2) override;
-
- public:
- OColumnTreeBox( vcl::Window* pParent );
-
- void FillListBox( const ODatabaseExport::TColumnVector& _rList);
- void SetReadOnly() { m_bReadOnly = true; }
- virtual bool Select( SvTreeListEntry* pEntry, bool bSelect=true ) override;
-
- private:
- using OMarkableTreeListBox::Select;
- };
-
// Wizard Page: OWizNameMatching
// Name matching for data appending
class OWizNameMatching : public OWizardPage
{
- VclPtr<FixedText> m_pTABLE_LEFT;
- VclPtr<FixedText> m_pTABLE_RIGHT;
- VclPtr<OColumnTreeBox> m_pCTRL_LEFT; // left side
- VclPtr<OColumnTreeBox> m_pCTRL_RIGHT; // right side
- VclPtr<PushButton> m_pColumn_up;
- VclPtr<PushButton> m_pColumn_down;
- VclPtr<PushButton> m_pColumn_up_right;
- VclPtr<PushButton> m_pColumn_down_right;
- VclPtr<PushButton> m_pAll;
- VclPtr<PushButton> m_pNone;
+ std::unique_ptr<weld::Label> m_xTABLE_LEFT;
+ std::unique_ptr<weld::Label> m_xTABLE_RIGHT;
+ std::unique_ptr<weld::TreeView> m_xCTRL_LEFT; // left side
+ std::unique_ptr<weld::TreeView> m_xCTRL_RIGHT; // right side
+ std::unique_ptr<weld::Button> m_xColumn_up;
+ std::unique_ptr<weld::Button> m_xColumn_down;
+ std::unique_ptr<weld::Button> m_xColumn_up_right;
+ std::unique_ptr<weld::Button> m_xColumn_down_right;
+ std::unique_ptr<weld::Button> m_xAll;
+ std::unique_ptr<weld::Button> m_xNone;
OUString m_sSourceText;
OUString m_sDestText;
- DECL_LINK( ButtonClickHdl, Button *, void );
- DECL_LINK( RightButtonClickHdl, Button *, void );
- DECL_LINK( AllNoneClickHdl, Button *, void );
- DECL_LINK( TableListClickHdl, SvTreeListBox*, void );
- DECL_LINK( TableListRightSelectHdl, SvTreeListBox*, void );
+ DECL_LINK( ButtonClickHdl, weld::Button&, void );
+ DECL_LINK( RightButtonClickHdl, weld::Button&, void );
+ DECL_LINK( AllNoneClickHdl, weld::Button&, void );
+ DECL_LINK( TableListClickHdl, weld::TreeView&, void );
+ DECL_LINK( TableListRightSelectHdl, weld::TreeView&, void );
+
+ static void FillListBox(weld::TreeView& rTreeView, const ODatabaseExport::TColumnVector& rList, bool bCheckButtons);
public:
virtual void Reset ( ) override;
@@ -75,9 +59,8 @@ namespace dbaui
virtual bool LeavePage() override;
virtual OUString GetTitle() const override ;
- OWizNameMatching(vcl::Window* pParent);
+ OWizNameMatching(OCopyTableWizard* pWizard, TabPageParent pParent);
virtual ~OWizNameMatching() override;
- virtual void dispose() override;
};
}
#endif // INCLUDED_DBACCESS_SOURCE_UI_INC_WNAMEMATCH_HXX
diff --git a/dbaccess/source/ui/inc/WTabPage.hxx b/dbaccess/source/ui/inc/WTabPage.hxx
index cb2907019e83..fe2df1d3069d 100644
--- a/dbaccess/source/ui/inc/WTabPage.hxx
+++ b/dbaccess/source/ui/inc/WTabPage.hxx
@@ -29,14 +29,16 @@ namespace dbaui
class OWizardPage : public TabPage
{
protected:
- VclPtr<OCopyTableWizard> m_pParent;
+ std::unique_ptr<weld::Builder> m_xBuilder;
+ std::unique_ptr<weld::Container> m_xContainer;
+
+ OCopyTableWizard* m_pParent;
bool m_bFirstTime; // Page is called the first time; should be set in the reset method
- OWizardPage( vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription );
+ OWizardPage(OCopyTableWizard* pWizard, TabPageParent pParent, const OUString& rUIXMLDescription, const OString& rID);
public:
virtual ~OWizardPage() override;
- virtual void dispose() override;
virtual void Reset ( ) = 0;
virtual bool LeavePage() = 0;
virtual OUString GetTitle() const = 0;
diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx
index 794d0203d221..e0cfabb3fb53 100644
--- a/dbaccess/source/ui/inc/WTypeSelect.hxx
+++ b/dbaccess/source/ui/inc/WTypeSelect.hxx
@@ -32,11 +32,12 @@ class SvStream;
namespace dbaui
{
+ class OWizTypeSelect;
class OTableDesignHelpBar;
// OWizTypeSelectControl
class OWizTypeSelectControl final : public OFieldDescControl
{
- VclPtr<vcl::Window> m_pParentTabPage;
+ VclPtr<OWizTypeSelect> m_xParentTabPage;
virtual void ActivateAggregate( EControlType eType ) override;
virtual void DeactivateAggregate( EControlType eType ) override;
@@ -50,9 +51,9 @@ namespace dbaui
virtual OUString getAutoIncrementValue() const override;
public:
- OWizTypeSelectControl(vcl::Window* pParent, vcl::Window* pParentTabPage);
- virtual ~OWizTypeSelectControl() override;
+ OWizTypeSelectControl(TabPageParent pParent, OWizTypeSelect* pParentTabPage);
virtual void dispose() override;
+ virtual ~OWizTypeSelectControl() override;
virtual css::uno::Reference< css::sdbc::XDatabaseMetaData> getMetaData() override;
virtual css::uno::Reference< css::sdbc::XConnection> getConnection() override;
@@ -60,25 +61,45 @@ namespace dbaui
// Wizard Page: OWizTypeSelectList
// just defines the css::ucb::Command for the Contextmenu
- class OWizTypeSelectList final : public MultiListBox
+ class OWizTypeSelectList
{
+ std::unique_ptr<weld::TreeView> m_xControl;
bool m_bPKey;
bool IsPrimaryKeyAllowed() const;
void setPrimaryKey( OFieldDescription* _pFieldDescr,
sal_uInt16 _nPos,
bool _bSet = false);
- virtual bool PreNotify( NotifyEvent& rNEvt ) override;
- VclPtr<vcl::Window> m_pParentTabPage;
+
+ DECL_LINK(CommandHdl, const CommandEvent&, bool);
+
+ VclPtr<OWizTypeSelect> m_xParentTabPage;
+
+ Link<weld::TreeView&, void> m_aChangeHdl;
+
public:
- OWizTypeSelectList( vcl::Window* pParent )
- : MultiListBox(pParent, WB_BORDER | WB_SIMPLEMODE)
- , m_bPKey(false)
- , m_pParentTabPage(nullptr)
- {}
- virtual ~OWizTypeSelectList() override;
- virtual void dispose() override;
- void SetPKey(bool bPKey) { m_bPKey = bPKey; }
- void SetParentTabPage(vcl::Window* pParentTabPage) { m_pParentTabPage = pParentTabPage; }
+ OWizTypeSelectList(std::unique_ptr<weld::TreeView> xControl);
+ void SetPKey(bool bPKey) { m_bPKey = bPKey; }
+ void SetParentTabPage(OWizTypeSelect* pParentTabPage) { m_xParentTabPage = pParentTabPage; }
+ weld::TreeView* GetWidget() { return m_xControl.get(); }
+ OUString get_selected_id() const { return m_xControl->get_selected_id(); }
+ void show() { m_xControl->show(); }
+ void clear() { m_xControl->clear(); }
+ void append(const OUString& rId, const OUString& rStr)
+ {
+ m_xControl->append(rId, rStr);
+ }
+ void set_image(int nRow, const OUString& rImage)
+ {
+ m_xControl->set_image(nRow, rImage);
+ }
+ void set_selection_mode(SelectionMode eMode) { m_xControl->set_selection_mode(eMode); }
+ int count_selected_rows() const { return m_xControl->count_selected_rows(); }
+ void select(int pos) { m_xControl->select(pos); }
+ void connect_changed(const Link<weld::TreeView&, void>& rLink)
+ {
+ m_aChangeHdl = rLink;
+ m_xControl->connect_changed(rLink);
+ }
};
// Wizard Page: OWizTypeSelect
@@ -89,18 +110,18 @@ namespace dbaui
friend class OWizTypeSelectControl;
friend class OWizTypeSelectList;
- DECL_LINK( ColumnSelectHdl, ListBox&, void );
- DECL_LINK( ButtonClickHdl, Button *, void );
+ DECL_LINK( ColumnSelectHdl, weld::TreeView&, void );
+ DECL_LINK( ButtonClickHdl, weld::Button&, void );
protected:
- VclPtr<OWizTypeSelectList> m_pColumnNames;
- VclPtr<FixedText> m_pColumns;
- VclPtr<OWizTypeSelectControl> m_pTypeControl;
- VclPtr<FixedText> m_pAutoType;
- VclPtr<FixedText> m_pAutoFt;
- VclPtr<NumericField> m_pAutoEt;
- VclPtr<PushButton> m_pAutoPb;
-
- Image m_imgPKey;
+ std::unique_ptr<OWizTypeSelectList> m_xColumnNames;
+ std::unique_ptr<weld::Label> m_xColumns;
+ std::unique_ptr<weld::Container> m_xControlContainer;
+ VclPtr<OWizTypeSelectControl> m_xTypeControl;
+ std::unique_ptr<weld::Label> m_xAutoType;
+ std::unique_ptr<weld::Label> m_xAutoFt;
+ std::unique_ptr<weld::SpinButton> m_xAutoEt;
+ std::unique_ptr<weld::Button> m_xAutoPb;
+
SvStream* m_pParserStream; // stream to read the tokens from or NULL
OUString m_sAutoIncrementValue;
sal_Int32 m_nDisplayRow;
@@ -116,15 +137,15 @@ namespace dbaui
virtual bool LeavePage() override;
virtual OUString GetTitle() const override;
- OWizTypeSelect(vcl::Window* pParent, SvStream* _pStream = nullptr );
- virtual ~OWizTypeSelect() override;
+ OWizTypeSelect(OCopyTableWizard* pWizard, TabPageParent pParent, SvStream* pStream = nullptr);
virtual void dispose() override;
+ virtual ~OWizTypeSelect() override;
void setDisplayRow(sal_Int32 _nRow) { m_nDisplayRow = _nRow - 1; }
void setDuplicateName(bool _bDuplicateName) { m_bDuplicateName = _bDuplicateName; }
};
- typedef VclPtr<OWizTypeSelect> (*TypeSelectionPageFactory)( vcl::Window*, SvStream& );
+ typedef VclPtr<OWizTypeSelect> (*TypeSelectionPageFactory)(OCopyTableWizard*, TabPageParent, SvStream&);
}
#endif // INCLUDED_DBACCESS_SOURCE_UI_INC_WTYPESELECT_HXX