diff --git a/include/vcl/weld/Builder.hxx b/include/vcl/weld/Builder.hxx index d749fd555503..92231ca369c2 100644 --- a/include/vcl/weld/Builder.hxx +++ b/include/vcl/weld/Builder.hxx @@ -22,6 +22,7 @@ class OAccessible; } enum class FieldUnit : sal_uInt16; +enum class VclSizeGroupMode; namespace weld { @@ -122,7 +123,7 @@ public: virtual std::unique_ptr weld_popover(const OUString& id) = 0; virtual std::unique_ptr weld_toolbar(const OUString& id) = 0; virtual std::unique_ptr weld_scrollbar(const OUString& id) = 0; - virtual std::unique_ptr create_size_group() = 0; + virtual std::unique_ptr create_size_group(VclSizeGroupMode eMode) = 0; /* return a Dialog suitable to take a screenshot of containing the contents of the .ui file. If the toplevel element is a dialog, that will be returned diff --git a/include/vcl/weld/SizeGroup.hxx b/include/vcl/weld/SizeGroup.hxx index 6b24284c8fef..762caa57b8fa 100644 --- a/include/vcl/weld/SizeGroup.hxx +++ b/include/vcl/weld/SizeGroup.hxx @@ -21,8 +21,6 @@ class VCL_DLLPUBLIC SizeGroup { public: virtual void add_widget(weld::Widget* pWidget) = 0; - // the default mode is VclSizeGroupMode::Horizontal - virtual void set_mode(VclSizeGroupMode eMode) = 0; virtual ~SizeGroup() {} }; } diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx index f4f087ea4714..4e4a07208410 100644 --- a/sfx2/source/dialog/tabdlg.cxx +++ b/sfx2/source/dialog/tabdlg.cxx @@ -817,8 +817,7 @@ void SfxTabDialogController::setPreviewsToSamePlace() if (aGrids.size() <= 1) return; - m_xSizeGroup = m_xBuilder->create_size_group(); - m_xSizeGroup->set_mode(VclSizeGroupMode::Both); + m_xSizeGroup = m_xBuilder->create_size_group(VclSizeGroupMode::Both); for (auto& rGrid : aGrids) m_xSizeGroup->add_widget(rGrid.get()); } diff --git a/vcl/inc/qt5/QtInstanceBuilder.hxx b/vcl/inc/qt5/QtInstanceBuilder.hxx index 41912516a5fb..e649cc28f73e 100644 --- a/vcl/inc/qt5/QtInstanceBuilder.hxx +++ b/vcl/inc/qt5/QtInstanceBuilder.hxx @@ -96,7 +96,7 @@ public: virtual std::unique_ptr weld_popover(const OUString& rId) override; virtual std::unique_ptr weld_toolbar(const OUString& rId) override; virtual std::unique_ptr weld_scrollbar(const OUString& rId) override; - virtual std::unique_ptr create_size_group() override; + virtual std::unique_ptr create_size_group(VclSizeGroupMode eMode) override; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index e3a76509ed9c..a4565cee9f5e 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -162,7 +162,7 @@ public: virtual std::unique_ptr weld_scrollbar(const OUString& id) override; - virtual std::unique_ptr create_size_group() override; + virtual std::unique_ptr create_size_group(VclSizeGroupMode eMode) override; OUString get_current_page_help_id() const; diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 36043de7ffbc..b5deab0408ad 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -962,7 +962,7 @@ std::unique_ptr QtInstanceBuilder::weld_scrollbar(const OUStrin return xRet; } -std::unique_ptr QtInstanceBuilder::create_size_group() +std::unique_ptr QtInstanceBuilder::create_size_group(VclSizeGroupMode) { assert(false && "Not implemented yet"); return nullptr; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 60cedd7d2520..1756c9b7a014 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -1266,17 +1266,18 @@ private: std::shared_ptr m_xGroup; public: - SalInstanceSizeGroup() + SalInstanceSizeGroup(VclSizeGroupMode eMode) : m_xGroup(std::make_shared()) { + m_xGroup->set_mode(eMode); } + virtual void add_widget(weld::Widget* pWidget) override { SalInstanceWidget* pVclWidget = dynamic_cast(pWidget); assert(pVclWidget && pVclWidget->getWidget()); pVclWidget->getWidget()->add_to_size_group(m_xGroup); } - virtual void set_mode(VclSizeGroupMode eMode) override { m_xGroup->set_mode(eMode); } }; } @@ -6860,9 +6861,9 @@ std::unique_ptr SalInstanceBuilder::weld_scrollbar(const OUStri return pScrollbar ? std::make_unique(pScrollbar, this, false) : nullptr; } -std::unique_ptr SalInstanceBuilder::create_size_group() +std::unique_ptr SalInstanceBuilder::create_size_group(VclSizeGroupMode eMode) { - return std::make_unique(); + return std::make_unique(eMode); } OUString SalInstanceBuilder::get_current_page_help_id() const diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index be899fb6479a..9db2da9d3a1b 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -5705,17 +5705,20 @@ class GtkInstanceSizeGroup : public weld::SizeGroup private: GtkSizeGroup* m_pGroup; public: - GtkInstanceSizeGroup() + GtkInstanceSizeGroup(VclSizeGroupMode eMode) : m_pGroup(gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL)) { + set_mode(eMode); } + virtual void add_widget(weld::Widget* pWidget) override { GtkInstanceWidget* pVclWidget = dynamic_cast(pWidget); assert(pVclWidget); gtk_size_group_add_widget(m_pGroup, pVclWidget->getWidget()); } - virtual void set_mode(VclSizeGroupMode eVclMode) override + + void set_mode(VclSizeGroupMode eVclMode) { GtkSizeGroupMode eGtkMode(GTK_SIZE_GROUP_NONE); switch (eVclMode) @@ -24181,9 +24184,9 @@ public: return std::make_unique(pScrollbar, this, false); } - virtual std::unique_ptr create_size_group() override + virtual std::unique_ptr create_size_group(VclSizeGroupMode eMode) override { - return std::make_unique(); + return std::make_unique(eMode); } };