weld: Pass SizeGroup mode in ctor
Pass the VclSizeGroupMode the weld::SizeGroup should use directly in the call to weld::Builder::create_size_group via a new param and pass it to the ctors of the implementations, instead of calling a separate weld::SizeGroup::set_mode after calling the ctor to set the mode afterwards. Change-Id: Ia65291cd8832846ecdf0a5fef8d3b89bf8f4d1bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203993 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
@@ -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<Popover> weld_popover(const OUString& id) = 0;
|
||||
virtual std::unique_ptr<Toolbar> weld_toolbar(const OUString& id) = 0;
|
||||
virtual std::unique_ptr<Scrollbar> weld_scrollbar(const OUString& id) = 0;
|
||||
virtual std::unique_ptr<SizeGroup> create_size_group() = 0;
|
||||
virtual std::unique_ptr<SizeGroup> 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
|
||||
|
||||
@@ -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() {}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ public:
|
||||
virtual std::unique_ptr<weld::Popover> weld_popover(const OUString& rId) override;
|
||||
virtual std::unique_ptr<weld::Toolbar> weld_toolbar(const OUString& rId) override;
|
||||
virtual std::unique_ptr<weld::Scrollbar> weld_scrollbar(const OUString& rId) override;
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group() override;
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group(VclSizeGroupMode eMode) override;
|
||||
};
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|
||||
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
|
||||
virtual std::unique_ptr<weld::Scrollbar> weld_scrollbar(const OUString& id) override;
|
||||
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group() override;
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group(VclSizeGroupMode eMode) override;
|
||||
|
||||
OUString get_current_page_help_id() const;
|
||||
|
||||
|
||||
@@ -962,7 +962,7 @@ std::unique_ptr<weld::Scrollbar> QtInstanceBuilder::weld_scrollbar(const OUStrin
|
||||
return xRet;
|
||||
}
|
||||
|
||||
std::unique_ptr<weld::SizeGroup> QtInstanceBuilder::create_size_group()
|
||||
std::unique_ptr<weld::SizeGroup> QtInstanceBuilder::create_size_group(VclSizeGroupMode)
|
||||
{
|
||||
assert(false && "Not implemented yet");
|
||||
return nullptr;
|
||||
|
||||
@@ -1266,17 +1266,18 @@ private:
|
||||
std::shared_ptr<VclSizeGroup> m_xGroup;
|
||||
|
||||
public:
|
||||
SalInstanceSizeGroup()
|
||||
SalInstanceSizeGroup(VclSizeGroupMode eMode)
|
||||
: m_xGroup(std::make_shared<VclSizeGroup>())
|
||||
{
|
||||
m_xGroup->set_mode(eMode);
|
||||
}
|
||||
|
||||
virtual void add_widget(weld::Widget* pWidget) override
|
||||
{
|
||||
SalInstanceWidget* pVclWidget = dynamic_cast<SalInstanceWidget*>(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<weld::Scrollbar> SalInstanceBuilder::weld_scrollbar(const OUStri
|
||||
return pScrollbar ? std::make_unique<SalInstanceScrollbar>(pScrollbar, this, false) : nullptr;
|
||||
}
|
||||
|
||||
std::unique_ptr<weld::SizeGroup> SalInstanceBuilder::create_size_group()
|
||||
std::unique_ptr<weld::SizeGroup> SalInstanceBuilder::create_size_group(VclSizeGroupMode eMode)
|
||||
{
|
||||
return std::make_unique<SalInstanceSizeGroup>();
|
||||
return std::make_unique<SalInstanceSizeGroup>(eMode);
|
||||
}
|
||||
|
||||
OUString SalInstanceBuilder::get_current_page_help_id() const
|
||||
|
||||
@@ -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<GtkInstanceWidget*>(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<GtkInstanceScrollbar>(pScrollbar, this, false);
|
||||
}
|
||||
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group() override
|
||||
virtual std::unique_ptr<weld::SizeGroup> create_size_group(VclSizeGroupMode eMode) override
|
||||
{
|
||||
return std::make_unique<GtkInstanceSizeGroup>();
|
||||
return std::make_unique<GtkInstanceSizeGroup>(eMode);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user