diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-07-24 19:38:22 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-07-24 22:42:51 +0200 |
commit | 3e5abe71c0f00969425da347e272b49c2624f40b (patch) | |
tree | 2e5dde2de13dc5f5a8a5e363850971a2b04c16a5 /dbaccess | |
parent | 77af4cb9715a00f4f5165fcd912b9640d5ffbca3 (diff) |
drop intermediate TabPage
OColumnControlWindow can be seen used in "use wizard to create table" from base
Change-Id: Ib59b487c6711321550c1b516986ef20df402b171
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99414
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'dbaccess')
-rw-r--r-- | dbaccess/UIConfig_dbaccess.mk | 1 | ||||
-rw-r--r-- | dbaccess/source/ui/control/ColumnControlWindow.cxx | 29 | ||||
-rw-r--r-- | dbaccess/source/ui/control/FieldDescControl.cxx | 89 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/ColumnControlWindow.hxx | 20 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/FieldDescControl.hxx | 28 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/WTypeSelect.hxx | 2 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/WTypeSelect.cxx | 7 | ||||
-rw-r--r-- | dbaccess/source/ui/tabledesign/TEditControl.cxx | 1 | ||||
-rw-r--r-- | dbaccess/source/ui/tabledesign/TableFieldControl.cxx | 5 | ||||
-rw-r--r-- | dbaccess/source/ui/tabledesign/TableFieldControl.hxx | 4 | ||||
-rw-r--r-- | dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx | 4 | ||||
-rw-r--r-- | dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx | 2 | ||||
-rw-r--r-- | dbaccess/source/ui/uno/ColumnPeer.cxx | 24 | ||||
-rw-r--r-- | dbaccess/uiconfig/ui/colcontrolbox.ui | 15 |
14 files changed, 110 insertions, 121 deletions
diff --git a/dbaccess/UIConfig_dbaccess.mk b/dbaccess/UIConfig_dbaccess.mk index f1647bb44b08..d2d30dd9b7fd 100644 --- a/dbaccess/UIConfig_dbaccess.mk +++ b/dbaccess/UIConfig_dbaccess.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \ dbaccess/uiconfig/ui/authentificationpage \ dbaccess/uiconfig/ui/autocharsetpage \ dbaccess/uiconfig/ui/choosedatasourcedialog \ + dbaccess/uiconfig/ui/colcontrolbox \ dbaccess/uiconfig/ui/collectionviewdialog \ dbaccess/uiconfig/ui/colwidthdialog \ dbaccess/uiconfig/ui/connectionpage \ diff --git a/dbaccess/source/ui/control/ColumnControlWindow.cxx b/dbaccess/source/ui/control/ColumnControlWindow.cxx index 28a77291ce13..8f9186b01ccb 100644 --- a/dbaccess/source/ui/control/ColumnControlWindow.cxx +++ b/dbaccess/source/ui/control/ColumnControlWindow.cxx @@ -34,10 +34,33 @@ using namespace ::com::sun::star::util; using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::lang; +OColumnControlTopLevel::OColumnControlTopLevel(vcl::Window* pParent, + const Reference<XComponentContext>& _rxContext) + : InterimItemWindow(pParent, "dbaccess/ui/colcontrolbox.ui", "ColControlBox") + , m_xControl(new OColumnControlWindow(m_xContainer.get(), _rxContext)) +{ +} + +void OColumnControlTopLevel::dispose() +{ + m_xControl.reset(); + InterimItemWindow::dispose(); +} + +void OColumnControlTopLevel::GetFocus() +{ + m_xControl->GetFocus(); +} + +void OColumnControlTopLevel::LoseFocus() +{ + m_xControl->LoseFocus(); +} + // OColumnControlWindow -OColumnControlWindow::OColumnControlWindow(vcl::Window* pParent - ,const Reference<XComponentContext>& _rxContext) - : OFieldDescControl(nullptr, pParent, nullptr) +OColumnControlWindow::OColumnControlWindow(weld::Container* pParent, + const Reference<XComponentContext>& _rxContext) + : OFieldDescControl(pParent, nullptr) , m_xContext(_rxContext) , m_sTypeNames(DBA_RES(STR_TABLEDESIGN_DBFIELDTYPES)) , m_bAutoIncrementEnabled(true) diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx index 54365392353b..bb10fb787f9f 100644 --- a/dbaccess/source/ui/control/FieldDescControl.cxx +++ b/dbaccess/source/ui/control/FieldDescControl.cxx @@ -65,70 +65,28 @@ namespace } } -OFieldDescControl::OFieldDescControl(weld::Container* pPage, vcl::Window* pParent, OTableDesignHelpBar* pHelpBar) - :TabPage(pPage ? Application::GetDefDialogParent() : pParent, WB_3DLOOK | WB_DIALOGCONTROL) - ,m_pHelp( pHelpBar ) - ,m_pLastFocusWindow(nullptr) - ,m_pActFocusWindow(nullptr) - ,m_pPreviousType() - ,m_nPos(-1) - ,aYes(DBA_RES(STR_VALUE_YES)) - ,aNo(DBA_RES(STR_VALUE_NO)) - ,m_nEditWidth(50) - ,m_bAdded(false) - ,pActFieldDescr(nullptr) +OFieldDescControl::OFieldDescControl(weld::Container* pPage, OTableDesignHelpBar* pHelpBar) + : m_xBuilder(Application::CreateBuilder(pPage, "dbaccess/ui/fielddescpage.ui")) + , m_xContainer(m_xBuilder->weld_container("FieldDescPage")) + , m_pHelp( pHelpBar ) + , m_pLastFocusWindow(nullptr) + , m_pActFocusWindow(nullptr) + , m_pPreviousType() + , m_nPos(-1) + , aYes(DBA_RES(STR_VALUE_YES)) + , aNo(DBA_RES(STR_VALUE_NO)) + , m_nEditWidth(50) + , pActFieldDescr(nullptr) { - if (pPage) - m_xBuilder.reset(Application::CreateBuilder(pPage, "dbaccess/ui/fielddescpage.ui")); - else - { - m_xVclContentArea = VclPtr<VclVBox>::Create(this); - m_xVclContentArea->Show(); - m_xBuilder.reset(Application::CreateInterimBuilder(m_xVclContentArea, "dbaccess/ui/fielddescpage.ui")); - - m_aLayoutIdle.SetPriority(TaskPriority::RESIZE); - m_aLayoutIdle.SetInvokeHandler( LINK( this, OFieldDescControl, ImplHandleLayoutTimerHdl ) ); - m_aLayoutIdle.SetDebugName( "OFieldDescControl m_aLayoutIdle" ); - } - - m_xContainer = m_xBuilder->weld_container("FieldDescPage"); -} - -void OFieldDescControl::queue_resize(StateChangedType eReason) -{ - TabPage::queue_resize(eReason); - if (!m_xVclContentArea) - return; - if (m_aLayoutIdle.IsActive()) - return; - m_aLayoutIdle.Start(); -} - -void OFieldDescControl::Resize() -{ - TabPage::Resize(); - if (!m_xVclContentArea) - return; - queue_resize(); -} - -IMPL_LINK_NOARG(OFieldDescControl, ImplHandleLayoutTimerHdl, Timer*, void) -{ - m_xVclContentArea->SetPosSizePixel(Point(0,0), GetSizePixel()); } OFieldDescControl::~OFieldDescControl() { - disposeOnce(); + dispose(); } void OFieldDescControl::dispose() { - m_aLayoutIdle.Stop(); - - if ( m_bAdded ) - ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow)); - // Destroy children DeactivateAggregate( tpDefault ); DeactivateAggregate( tpRequired ); @@ -172,8 +130,6 @@ void OFieldDescControl::dispose() m_xFormat.reset(); m_xContainer.reset(); m_xBuilder.reset(); - m_xVclContentArea.disposeAndClear(); - TabPage::dispose(); } OUString OFieldDescControl::BoolStringPersistent(const OUString& rUIString) const @@ -626,8 +582,6 @@ void OFieldDescControl::ActivateAggregate( EControlType eType ) m_xBoolDefault->show(); break; } - - queue_resize(); } void OFieldDescControl::InitializeControl(OPropListBoxCtrl* _pControl,const OString& _sHelpId,bool _bAddChangeHandler) @@ -646,7 +600,7 @@ void OFieldDescControl::InitializeControl(weld::Widget* pControl,const OString& if (dynamic_cast<weld::Entry*>(pControl)) { - int nWidthRequest = LogicToPixel(Size(m_nEditWidth, 0), MapMode(MapUnit::MapAppFont)).Width(); + int nWidthRequest = Application::GetDefaultDevice()->LogicToPixel(Size(m_nEditWidth, 0), MapMode(MapUnit::MapAppFont)).Width(); pControl->set_size_request(nWidthRequest, -1); } } @@ -723,8 +677,6 @@ void OFieldDescControl::DeactivateAggregate( EControlType eType ) lcl_HideAndDeleteControl(m_nPos,m_xBoolDefault,m_xBoolDefaultText); break; } - - queue_resize(); } void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr ) @@ -749,20 +701,9 @@ void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr ) m_pPreviousType = TOTypeInfoSP(); // Reset the saved focus' pointer m_pLastFocusWindow = nullptr; - if ( m_bAdded ) - { - ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow)); - m_bAdded = false; - } return; } - if ( !m_bAdded ) - { - ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::AddWindow)); - m_bAdded = true; - } - TOTypeInfoSP pFieldType(pFieldDescr->getTypeInfo()); ActivateAggregate( tpColumnName ); @@ -1228,8 +1169,6 @@ void OFieldDescControl::implFocusLost(weld::Widget* _pWhich) void OFieldDescControl::LoseFocus() { implFocusLost(nullptr); - - TabPage::LoseFocus(); } bool OFieldDescControl::IsFocusInEditableWidget() const diff --git a/dbaccess/source/ui/inc/ColumnControlWindow.hxx b/dbaccess/source/ui/inc/ColumnControlWindow.hxx index 1b6d4a5fd8a8..1a5abac2c06d 100644 --- a/dbaccess/source/ui/inc/ColumnControlWindow.hxx +++ b/dbaccess/source/ui/inc/ColumnControlWindow.hxx @@ -23,6 +23,7 @@ #include "TypeInfo.hxx" #include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/util/XNumberFormatter.hpp> +#include <vcl/InterimItemWindow.hxx> namespace dbaui { @@ -53,8 +54,8 @@ namespace dbaui virtual void CellModified(long nRow, sal_uInt16 nColId ) override; public: - OColumnControlWindow(vcl::Window* pParent - ,const css::uno::Reference< css::uno::XComponentContext>& _rxContext); + OColumnControlWindow(weld::Container* pParent, + const css::uno::Reference< css::uno::XComponentContext>& _rxContext); void setConnection(const css::uno::Reference< css::sdbc::XConnection>& _xCon); @@ -63,6 +64,21 @@ namespace dbaui virtual const OTypeInfoMap* getTypeInfo() const override; TOTypeInfoSP const & getDefaultTyp() const; }; + + class OColumnControlTopLevel final : public InterimItemWindow + { + std::unique_ptr<OColumnControlWindow> m_xControl; + public: + OColumnControlTopLevel(vcl::Window* pParent, + const css::uno::Reference< css::uno::XComponentContext>& _rxContext); + virtual void dispose() override; + + OColumnControlWindow& GetControl() { return *m_xControl; } + + virtual void GetFocus() override; + virtual void LoseFocus() override; + }; + } // namespace dbaui #endif // INCLUDED_DBACCESS_SOURCE_UI_INC_COLUMNCONTROLWINDOW_HXX diff --git a/dbaccess/source/ui/inc/FieldDescControl.hxx b/dbaccess/source/ui/inc/FieldDescControl.hxx index 77e439997ab4..3948c11066a8 100644 --- a/dbaccess/source/ui/inc/FieldDescControl.hxx +++ b/dbaccess/source/ui/inc/FieldDescControl.hxx @@ -19,9 +19,6 @@ #ifndef INCLUDED_DBACCESS_SOURCE_UI_INC_FIELDDESCCONTROL_HXX #define INCLUDED_DBACCESS_SOURCE_UI_INC_FIELDDESCCONTROL_HXX -#include <vcl/idle.hxx> -#include <vcl/layout.hxx> -#include <vcl/tabpage.hxx> #include <vcl/weld.hxx> #include "IClipBoardTest.hxx" #include "QEnumTypes.hxx" @@ -66,12 +63,9 @@ namespace dbaui class OFieldDescription; class OPropColumnEditCtrl; - class OFieldDescControl : public TabPage - , public IClipboardTest + class OFieldDescControl : public IClipboardTest { private: - Idle m_aLayoutIdle; - VclPtr<VclVBox> m_xVclContentArea; std::unique_ptr<weld::Builder> m_xBuilder; std::unique_ptr<weld::Container> m_xContainer; @@ -116,13 +110,10 @@ namespace dbaui sal_Int32 m_nEditWidth; - bool m_bAdded; - OFieldDescription* pActFieldDescr; DECL_LINK(FormatClickHdl, weld::Button&, void); DECL_LINK(ChangeHdl, weld::ComboBox&, void); - DECL_LINK(ImplHandleLayoutTimerHdl, Timer*, void); // used by ActivatePropertyField DECL_LINK( OnControlFocusLost, weld::Widget&, void ); @@ -137,6 +128,7 @@ namespace dbaui bool IsFocusInEditableWidget() const; + void dispose(); protected: void saveCurrentFieldDescData() { SaveData( pActFieldDescr ); } OFieldDescription* getCurrentFieldDescData() { return pActFieldDescr; } @@ -167,9 +159,8 @@ namespace dbaui void implFocusLost(weld::Widget* _pWhich); public: - OFieldDescControl(weld::Container* pPage, vcl::Window* pParent, OTableDesignHelpBar* pHelpBar); - virtual ~OFieldDescControl() override; - virtual void dispose() override; + OFieldDescControl(weld::Container* pPage, OTableDesignHelpBar* pHelpBar); + virtual ~OFieldDescControl(); void DisplayData(OFieldDescription* pFieldDescr ); @@ -178,6 +169,9 @@ namespace dbaui void SetControlText( sal_uInt16 nControlId, const OUString& rText ); void SetReadOnly( bool bReadOnly ); + void Enable(bool bEnable) { m_xContainer->set_sensitive(bEnable); } + void SetHelpId(const OString& rId) { m_xContainer->set_help_id(rId); } + virtual bool isCutAllowed() override; virtual bool isCopyAllowed() override; virtual bool isPasteAllowed() override; @@ -191,12 +185,10 @@ namespace dbaui m_aControlFocusIn = rLink; } - void Init(); - virtual void GetFocus() override; - virtual void LoseFocus() override; - virtual void Resize() override; + void Init(); - virtual void queue_resize(StateChangedType eReason = StateChangedType::Layout) override; + void GetFocus(); + void LoseFocus(); virtual css::uno::Reference< css::sdbc::XDatabaseMetaData> getMetaData() = 0; virtual css::uno::Reference< css::sdbc::XConnection> getConnection() = 0; diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx index 4a0f240a788f..ddcbf17fa409 100644 --- a/dbaccess/source/ui/inc/WTypeSelect.hxx +++ b/dbaccess/source/ui/inc/WTypeSelect.hxx @@ -107,7 +107,7 @@ namespace dbaui 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<OWizTypeSelectControl> m_xTypeControl; std::unique_ptr<weld::Label> m_xAutoType; std::unique_ptr<weld::Label> m_xAutoFt; std::unique_ptr<weld::SpinButton> m_xAutoEt; diff --git a/dbaccess/source/ui/misc/WTypeSelect.cxx b/dbaccess/source/ui/misc/WTypeSelect.cxx index f42521524d60..3b2647fac719 100644 --- a/dbaccess/source/ui/misc/WTypeSelect.cxx +++ b/dbaccess/source/ui/misc/WTypeSelect.cxx @@ -26,6 +26,7 @@ #include <strings.hrc> #include <tools/stream.hxx> #include <vcl/commandevent.hxx> +#include <vcl/svapp.hxx> #include <UITools.hxx> #include <core_resource.hxx> #include <FieldControls.hxx> @@ -39,7 +40,7 @@ using namespace ::com::sun::star::sdbc; // OWizTypeSelectControl OWizTypeSelectControl::OWizTypeSelectControl(weld::Container* pPage, OWizTypeSelect* pParentTabPage) - : OFieldDescControl(pPage, nullptr, nullptr) + : OFieldDescControl(pPage, nullptr) , m_pParentTabPage(pParentTabPage) { } @@ -206,7 +207,7 @@ OWizTypeSelect::OWizTypeSelect(weld::Container* pPage, OCopyTableWizard* pWizard , m_xColumnNames(new OWizTypeSelectList(m_xBuilder->weld_tree_view("columnnames"))) , m_xColumns(m_xBuilder->weld_label("columns")) , m_xControlContainer(m_xBuilder->weld_container("control_container")) - , m_xTypeControl(VclPtr<OWizTypeSelectControl>::Create(m_xControlContainer.get(), this)) + , m_xTypeControl(new OWizTypeSelectControl(m_xControlContainer.get(), this)) , m_xAutoType(m_xBuilder->weld_label("autotype")) , m_xAutoFt(m_xBuilder->weld_label("autolabel")) , m_xAutoEt(m_xBuilder->weld_spin_button("auto")) @@ -218,7 +219,6 @@ OWizTypeSelect::OWizTypeSelect(weld::Container* pPage, OCopyTableWizard* pWizard { m_xColumnNames->connect_changed(LINK(this,OWizTypeSelect,ColumnSelectHdl)); - m_xTypeControl->Show(); m_xTypeControl->Init(); m_xAutoEt->set_text("10"); @@ -239,7 +239,6 @@ OWizTypeSelect::OWizTypeSelect(weld::Container* pPage, OCopyTableWizard* pWizard OWizTypeSelect::~OWizTypeSelect() { - m_xTypeControl.disposeAndClear(); } OUString OWizTypeSelect::GetTitle() const diff --git a/dbaccess/source/ui/tabledesign/TEditControl.cxx b/dbaccess/source/ui/tabledesign/TEditControl.cxx index 28af7b8bae54..39e3bd86ee3f 100644 --- a/dbaccess/source/ui/tabledesign/TEditControl.cxx +++ b/dbaccess/source/ui/tabledesign/TEditControl.cxx @@ -41,6 +41,7 @@ #include <UITools.hxx> #include "TableFieldControl.hxx" #include <dsntypes.hxx> +#include <vcl/builder.hxx> #include <vcl/commandevent.hxx> #include <vcl/menu.hxx> #include <vcl/svapp.hxx> diff --git a/dbaccess/source/ui/tabledesign/TableFieldControl.cxx b/dbaccess/source/ui/tabledesign/TableFieldControl.cxx index 49cbdf99abca..b384dab2738e 100644 --- a/dbaccess/source/ui/tabledesign/TableFieldControl.cxx +++ b/dbaccess/source/ui/tabledesign/TableFieldControl.cxx @@ -34,7 +34,7 @@ using namespace ::com::sun::star::sdbc; using namespace dbaui; OTableFieldControl::OTableFieldControl(weld::Container* pParent, OTableDesignHelpBar* pHelpBar, OTableDesignView* pView) - : OFieldDescControl(pParent, nullptr, pHelpBar) + : OFieldDescControl(pParent, pHelpBar) , m_xView(pView) { } @@ -42,12 +42,11 @@ OTableFieldControl::OTableFieldControl(weld::Container* pParent, OTableDesignHel void OTableFieldControl::dispose() { m_xView.clear(); - OFieldDescControl::dispose(); } OTableFieldControl::~OTableFieldControl() { - disposeOnce(); + dispose(); } void OTableFieldControl::CellModified(long nRow, sal_uInt16 nColId ) diff --git a/dbaccess/source/ui/tabledesign/TableFieldControl.hxx b/dbaccess/source/ui/tabledesign/TableFieldControl.hxx index e74ab4c8a88b..e71d447b0a77 100644 --- a/dbaccess/source/ui/tabledesign/TableFieldControl.hxx +++ b/dbaccess/source/ui/tabledesign/TableFieldControl.hxx @@ -33,6 +33,9 @@ namespace dbaui VclPtr<OTableDesignView> m_xView; OTableEditorCtrl* GetCtrl() const; + + void dispose(); + protected: virtual void ActivateAggregate( EControlType eType ) override; virtual void DeactivateAggregate( EControlType eType ) override; @@ -51,7 +54,6 @@ namespace dbaui public: OTableFieldControl(weld::Container* pParent, OTableDesignHelpBar* pHelpBar, OTableDesignView* pView); - virtual void dispose() override; virtual ~OTableFieldControl() override; using OFieldDescControl::BoolStringPersistent; diff --git a/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx b/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx index 530dfd6237a3..2e87c0891e44 100644 --- a/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx +++ b/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx @@ -34,7 +34,7 @@ OTableFieldDescWin::OTableFieldDescWin(vcl::Window* pParent, OTableDesignView* p : InterimItemWindow(pParent, "dbaccess/ui/fielddescpanel.ui", "FieldDescPanel") , m_xHelpBar(new OTableDesignHelpBar(m_xBuilder->weld_text_view("textview"))) , m_xBox(m_xBuilder->weld_container("box")) - , m_xFieldControl(VclPtr<OTableFieldControl>::Create(m_xBox.get(), m_xHelpBar.get(), pView)) + , m_xFieldControl(new OTableFieldControl(m_xBox.get(), m_xHelpBar.get(), pView)) , m_xHeader(m_xBuilder->weld_label("header")) , m_eChildFocus(NONE) { @@ -55,7 +55,7 @@ OTableFieldDescWin::~OTableFieldDescWin() void OTableFieldDescWin::dispose() { // destroy children - m_xFieldControl.disposeAndClear(); + m_xFieldControl.reset(); m_xBox.reset(); m_xHeader.reset(); m_xHelpBar.reset(); diff --git a/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx b/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx index 72f9376a1076..d25c5c61b60b 100644 --- a/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx +++ b/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx @@ -41,7 +41,7 @@ namespace dbaui private: std::unique_ptr<OTableDesignHelpBar> m_xHelpBar; std::unique_ptr<weld::Container> m_xBox; - VclPtr<OTableFieldControl> m_xFieldControl; + std::unique_ptr<OTableFieldControl> m_xFieldControl; std::unique_ptr<weld::Label> m_xHeader; Link<weld::Widget&, void> m_aFocusInHdl; diff --git a/dbaccess/source/ui/uno/ColumnPeer.cxx b/dbaccess/source/ui/uno/ColumnPeer.cxx index 9dc357eb2a8c..48f5fbce5692 100644 --- a/dbaccess/source/ui/uno/ColumnPeer.cxx +++ b/dbaccess/source/ui/uno/ColumnPeer.cxx @@ -36,7 +36,7 @@ OColumnPeer::OColumnPeer(vcl::Window* _pParent,const Reference<XComponentContext { osl_atomic_increment( &m_refCount ); { - VclPtrInstance<OColumnControlWindow> pFieldControl(_pParent, _rxContext); + VclPtrInstance<OColumnControlTopLevel> pFieldControl(_pParent, _rxContext); pFieldControl->SetComponentInterface(this); pFieldControl->Show(); } @@ -46,19 +46,21 @@ OColumnPeer::OColumnPeer(vcl::Window* _pParent,const Reference<XComponentContext void OColumnPeer::setEditWidth(sal_Int32 _nWidth) { SolarMutexGuard aGuard; - VclPtr<OColumnControlWindow> pFieldControl = GetAs<OColumnControlWindow>(); + VclPtr<OColumnControlTopLevel> pFieldControl = GetAs<OColumnControlTopLevel>(); if ( pFieldControl ) - pFieldControl->setEditWidth(_nWidth); + pFieldControl->GetControl().setEditWidth(_nWidth); } void OColumnPeer::setColumn(const Reference< XPropertySet>& _xColumn) { SolarMutexGuard aGuard; - VclPtr<OColumnControlWindow> pFieldControl = GetAs<OColumnControlWindow>(); + VclPtr<OColumnControlTopLevel> pFieldControl = GetAs<OColumnControlTopLevel>(); if ( !pFieldControl ) return; + OColumnControlWindow& rControl = pFieldControl->GetControl(); + if ( m_pActFieldDescr ) { delete m_pActFieldDescr; @@ -88,22 +90,22 @@ void OColumnPeer::setColumn(const Reference< XPropertySet>& _xColumn) m_pActFieldDescr = new OFieldDescription(_xColumn,true); // search for type bool bForce; - TOTypeInfoSP pTypeInfo = ::dbaui::getTypeInfoFromType(*pFieldControl->getTypeInfo(),nType,sTypeName,"x",nPrecision,nScale,bAutoIncrement,bForce); + TOTypeInfoSP pTypeInfo = ::dbaui::getTypeInfoFromType(*rControl.getTypeInfo(),nType,sTypeName,"x",nPrecision,nScale,bAutoIncrement,bForce); if ( !pTypeInfo ) - pTypeInfo = pFieldControl->getDefaultTyp(); + pTypeInfo = rControl.getDefaultTyp(); m_pActFieldDescr->FillFromTypeInfo(pTypeInfo,true,false); m_xColumn = _xColumn; } - pFieldControl->DisplayData(m_pActFieldDescr); + rControl.DisplayData(m_pActFieldDescr); } void OColumnPeer::setConnection(const Reference< XConnection>& _xCon) { SolarMutexGuard aGuard; - VclPtr<OColumnControlWindow> pFieldControl = GetAs<OColumnControlWindow>(); + VclPtr<OColumnControlTopLevel> pFieldControl = GetAs<OColumnControlTopLevel>(); if ( pFieldControl ) - pFieldControl->setConnection(_xCon); + pFieldControl->GetControl().setConnection(_xCon); } void OColumnPeer::setProperty( const OUString& _rPropertyName, const Any& Value) @@ -127,14 +129,14 @@ void OColumnPeer::setProperty( const OUString& _rPropertyName, const Any& Value) Any OColumnPeer::getProperty( const OUString& _rPropertyName ) { Any aProp; - VclPtr< OFieldDescControl > pFieldControl = GetAs< OFieldDescControl >(); + VclPtr<OColumnControlTopLevel> pFieldControl = GetAs<OColumnControlTopLevel>(); if (pFieldControl && _rPropertyName == PROPERTY_COLUMN) { aProp <<= m_xColumn; } else if (pFieldControl && _rPropertyName == PROPERTY_ACTIVE_CONNECTION) { - aProp <<= pFieldControl->getConnection(); + aProp <<= pFieldControl->GetControl().getConnection(); } else aProp = VCLXWindow::getProperty(_rPropertyName); diff --git a/dbaccess/uiconfig/ui/colcontrolbox.ui b/dbaccess/uiconfig/ui/colcontrolbox.ui new file mode 100644 index 000000000000..74ce361e63d8 --- /dev/null +++ b/dbaccess/uiconfig/ui/colcontrolbox.ui @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.36.0 --> +<interface domain="dba"> + <requires lib="gtk+" version="3.18"/> + <object class="GtkBox" id="ColControlBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <child> + <placeholder/> + </child> + </object> +</interface> |