[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - include/vcl vcl/source
Szymon KÅos (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 24 08:29:08 UTC 2020
include/vcl/salvtables.hxx | 55 +++++++++
vcl/source/app/salvtables.cxx | 241 ++++++++++++++++++++----------------------
2 files changed, 170 insertions(+), 126 deletions(-)
New commits:
commit 69eaa76449894ee7cb6eb6b0d3835b36ab1394bc
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Tue Jun 16 13:41:57 2020 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Jun 24 10:28:35 2020 +0200
Move SalInstanceToolbar decl to header file
Change-Id: Ice74bd7ce2e8d3dc92ab8d9aa7f2d1382ea71660
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96923
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/include/vcl/salvtables.hxx b/include/vcl/salvtables.hxx
index 774ba08abd44..6eb89c1a72d4 100644
--- a/include/vcl/salvtables.hxx
+++ b/include/vcl/salvtables.hxx
@@ -1007,4 +1007,59 @@ public:
virtual void click(Point pos) override;
};
+class SalInstanceToolbar : public SalInstanceWidget, public virtual weld::Toolbar
+{
+private:
+ VclPtr<ToolBox> m_xToolBox;
+ std::map<sal_uInt16, VclPtr<vcl::Window>> m_aFloats;
+ std::map<sal_uInt16, VclPtr<PopupMenu>> m_aMenus;
+
+ DECL_LINK(ClickHdl, ToolBox*, void);
+ DECL_LINK(DropdownClick, ToolBox*, void);
+
+public:
+ SalInstanceToolbar(ToolBox* pToolBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
+
+ virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) override;
+
+ virtual bool get_item_sensitive(const OString& rIdent) const override;
+
+ virtual void set_item_visible(const OString& rIdent, bool bVisible) override;
+
+ virtual bool get_item_visible(const OString& rIdent) const override;
+
+ virtual void set_item_active(const OString& rIdent, bool bActive) override;
+
+ virtual bool get_item_active(const OString& rIdent) const override;
+
+ virtual void set_item_popover(const OString& rIdent, weld::Widget* pPopover) override;
+
+ virtual void set_item_menu(const OString& rIdent, weld::Menu* pMenu) override;
+
+ virtual void insert_separator(int pos, const OUString& /*rId*/) override;
+
+ virtual int get_n_items() const override;
+
+ virtual OString get_item_ident(int nIndex) const override;
+
+ virtual void set_item_ident(int nIndex, const OString& rIdent) override;
+
+ virtual void set_item_label(int nIndex, const OUString& rLabel) override;
+
+ virtual OUString get_item_label(const OString& rIdent) const override;
+
+ virtual void set_item_label(const OString& rIdent, const OUString& rLabel) override;
+
+ virtual void set_item_icon(int nIndex,
+ const css::uno::Reference<css::graphic::XGraphic>& rIcon) override;
+
+ virtual void set_item_tooltip_text(int nIndex, const OUString& rTip) override;
+
+ virtual void set_item_tooltip_text(const OString& rIdent, const OUString& rTip) override;
+
+ virtual vcl::ImageType get_icon_size() const override;
+
+ virtual ~SalInstanceToolbar() override;
+};
+
#endif
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index c0ac903a87d7..553bd6c44f42 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -908,164 +908,153 @@ IMPL_LINK_NOARG(SalInstanceMenu, SelectMenuHdl, ::Menu*, bool)
return false;
}
-class SalInstanceToolbar : public SalInstanceWidget, public virtual weld::Toolbar
+SalInstanceToolbar::SalInstanceToolbar(ToolBox* pToolBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership)
+ : SalInstanceWidget(pToolBox, pBuilder, bTakeOwnership)
+ , m_xToolBox(pToolBox)
{
-private:
- VclPtr<ToolBox> m_xToolBox;
- std::map<sal_uInt16, VclPtr<vcl::Window>> m_aFloats;
- std::map<sal_uInt16, VclPtr<PopupMenu>> m_aMenus;
+ m_xToolBox->SetSelectHdl(LINK(this, SalInstanceToolbar, ClickHdl));
+ m_xToolBox->SetDropdownClickHdl(LINK(this, SalInstanceToolbar, DropdownClick));
+}
- DECL_LINK(ClickHdl, ToolBox*, void);
- DECL_LINK(DropdownClick, ToolBox*, void);
-public:
- SalInstanceToolbar(ToolBox* pToolBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership)
- : SalInstanceWidget(pToolBox, pBuilder, bTakeOwnership)
- , m_xToolBox(pToolBox)
- {
- m_xToolBox->SetSelectHdl(LINK(this, SalInstanceToolbar, ClickHdl));
- m_xToolBox->SetDropdownClickHdl(LINK(this, SalInstanceToolbar, DropdownClick));
- }
+void SalInstanceToolbar::set_item_sensitive(const OString& rIdent, bool bSensitive)
+{
+ m_xToolBox->EnableItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bSensitive);
+}
- virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) override
- {
- m_xToolBox->EnableItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bSensitive);
- }
+bool SalInstanceToolbar::get_item_sensitive(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemEnabled(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual bool get_item_sensitive(const OString& rIdent) const override
- {
- return m_xToolBox->IsItemEnabled(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+void SalInstanceToolbar::set_item_visible(const OString& rIdent, bool bVisible)
+{
+ m_xToolBox->ShowItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bVisible);
+}
- virtual void set_item_visible(const OString& rIdent, bool bVisible) override
- {
- m_xToolBox->ShowItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bVisible);
- }
+bool SalInstanceToolbar::get_item_visible(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemVisible(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual bool get_item_visible(const OString& rIdent) const override
- {
- return m_xToolBox->IsItemVisible(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+void SalInstanceToolbar::set_item_active(const OString& rIdent, bool bActive)
+{
+ sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ m_xToolBox->CheckItem(nItemId, bActive);
- virtual void set_item_active(const OString& rIdent, bool bActive) override
+ if (m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN)
{
- sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- m_xToolBox->CheckItem(nItemId, bActive);
-
- if (m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN)
+ auto pFloat = m_aFloats[nItemId];
+ if (pFloat)
{
- auto pFloat = m_aFloats[nItemId];
- if (pFloat)
+ if (bActive)
+ vcl::Window::GetDockingManager()->StartPopupMode(m_xToolBox, pFloat, FloatWinPopupFlags::GrabFocus);
+ else
+ vcl::Window::GetDockingManager()->EndPopupMode(pFloat);
+ }
+ auto pPopup = m_aMenus[nItemId];
+ if (pPopup)
+ {
+ if (bActive)
{
- if (bActive)
- vcl::Window::GetDockingManager()->StartPopupMode(m_xToolBox, pFloat, FloatWinPopupFlags::GrabFocus);
- else
- vcl::Window::GetDockingManager()->EndPopupMode(pFloat);
- }
- auto pPopup = m_aMenus[nItemId];
- if (pPopup)
- {
- if (bActive)
- {
- tools::Rectangle aRect = m_xToolBox->GetItemRect(nItemId);
- pPopup->Execute(m_xToolBox, aRect, PopupMenuFlags::ExecuteDown);
- }
- else
- pPopup->EndExecute();
+ tools::Rectangle aRect = m_xToolBox->GetItemRect(nItemId);
+ pPopup->Execute(m_xToolBox, aRect, PopupMenuFlags::ExecuteDown);
}
+ else
+ pPopup->EndExecute();
}
}
+}
- virtual bool get_item_active(const OString& rIdent) const override
- {
- return m_xToolBox->IsItemChecked(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+bool SalInstanceToolbar::get_item_active(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemChecked(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual void set_item_popover(const OString& rIdent, weld::Widget* pPopover) override
- {
- SalInstanceWidget* pPopoverWidget = dynamic_cast<SalInstanceWidget*>(pPopover);
+void SalInstanceToolbar::set_item_popover(const OString& rIdent, weld::Widget* pPopover)
+{
+ SalInstanceWidget* pPopoverWidget = dynamic_cast<SalInstanceWidget*>(pPopover);
- vcl::Window* pFloat = pPopoverWidget ? pPopoverWidget->getWidget() : nullptr;
- if (pFloat)
- pFloat->EnableDocking();
+ vcl::Window* pFloat = pPopoverWidget ? pPopoverWidget->getWidget() : nullptr;
+ if (pFloat)
+ pFloat->EnableDocking();
- sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- m_aFloats[nId] = pFloat;
- m_aMenus[nId] = nullptr;
- }
+ sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ m_aFloats[nId] = pFloat;
+ m_aMenus[nId] = nullptr;
+}
- virtual void set_item_menu(const OString& rIdent, weld::Menu* pMenu) override
- {
- SalInstanceMenu* pInstanceMenu = dynamic_cast<SalInstanceMenu*>(pMenu);
+void SalInstanceToolbar::set_item_menu(const OString& rIdent, weld::Menu* pMenu)
+{
+ SalInstanceMenu* pInstanceMenu = dynamic_cast<SalInstanceMenu*>(pMenu);
- PopupMenu* pPopup = pInstanceMenu? pInstanceMenu->getMenu() : nullptr;
+ PopupMenu* pPopup = pInstanceMenu? pInstanceMenu->getMenu() : nullptr;
- sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- m_aMenus[nId] = pPopup;
- m_aFloats[nId] = nullptr;
- }
+ sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ m_aMenus[nId] = pPopup;
+ m_aFloats[nId] = nullptr;
+}
- virtual void insert_separator(int pos, const OUString& /*rId*/) override
- {
- auto nInsertPos = pos == -1 ? ToolBox::APPEND : pos;
- m_xToolBox->InsertSeparator(nInsertPos, 5);
- }
+void SalInstanceToolbar::insert_separator(int pos, const OUString& /*rId*/)
+{
+ auto nInsertPos = pos == -1 ? ToolBox::APPEND : pos;
+ m_xToolBox->InsertSeparator(nInsertPos, 5);
+}
- virtual int get_n_items() const override
- {
- return m_xToolBox->GetItemCount();
- }
+int SalInstanceToolbar::get_n_items() const
+{
+ return m_xToolBox->GetItemCount();
+}
- virtual OString get_item_ident(int nIndex) const override
- {
- return m_xToolBox->GetItemCommand(m_xToolBox->GetItemId(nIndex)).toUtf8();
- }
+OString SalInstanceToolbar::get_item_ident(int nIndex) const
+{
+ return m_xToolBox->GetItemCommand(m_xToolBox->GetItemId(nIndex)).toUtf8();
+}
- virtual void set_item_ident(int nIndex, const OString& rIdent) override
- {
- return m_xToolBox->SetItemCommand(m_xToolBox->GetItemId(nIndex), OUString::fromUtf8(rIdent));
- }
+void SalInstanceToolbar::set_item_ident(int nIndex, const OString& rIdent)
+{
+ return m_xToolBox->SetItemCommand(m_xToolBox->GetItemId(nIndex), OUString::fromUtf8(rIdent));
+}
- virtual void set_item_label(int nIndex, const OUString& rLabel) override
- {
- m_xToolBox->SetItemText(m_xToolBox->GetItemId(nIndex), rLabel);
- }
+void SalInstanceToolbar::set_item_label(int nIndex, const OUString& rLabel)
+{
+ m_xToolBox->SetItemText(m_xToolBox->GetItemId(nIndex), rLabel);
+}
- virtual OUString get_item_label(const OString& rIdent) const override
- {
- return m_xToolBox->GetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+OUString SalInstanceToolbar::get_item_label(const OString& rIdent) const
+{
+ return m_xToolBox->GetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual void set_item_label(const OString& rIdent, const OUString& rLabel) override
- {
- m_xToolBox->SetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rLabel);
- }
+void SalInstanceToolbar::set_item_label(const OString& rIdent, const OUString& rLabel)
+{
+ m_xToolBox->SetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rLabel);
+}
- virtual void set_item_icon(int nIndex, const css::uno::Reference<css::graphic::XGraphic>& rIcon) override
- {
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(nIndex), Image(rIcon));
- }
+void SalInstanceToolbar::set_item_icon(int nIndex, const css::uno::Reference<css::graphic::XGraphic>& rIcon)
+{
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(nIndex), Image(rIcon));
+}
- virtual void set_item_tooltip_text(int nIndex, const OUString& rTip) override
- {
- m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(nIndex), rTip);
- }
+void SalInstanceToolbar::set_item_tooltip_text(int nIndex, const OUString& rTip)
+{
+ m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(nIndex), rTip);
+}
- virtual void set_item_tooltip_text(const OString& rIdent, const OUString& rTip) override
- {
- m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rTip);
- }
+void SalInstanceToolbar::set_item_tooltip_text(const OString& rIdent, const OUString& rTip)
+{
+ m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rTip);
+}
- virtual vcl::ImageType get_icon_size() const override
- {
- return m_xToolBox->GetImageSize();
- }
+vcl::ImageType SalInstanceToolbar::get_icon_size() const
+{
+ return m_xToolBox->GetImageSize();
+}
- virtual ~SalInstanceToolbar() override
- {
- m_xToolBox->SetDropdownClickHdl(Link<ToolBox*, void>());
- m_xToolBox->SetSelectHdl(Link<ToolBox*, void>());
- }
-};
+SalInstanceToolbar::~SalInstanceToolbar()
+{
+ m_xToolBox->SetDropdownClickHdl(Link<ToolBox*, void>());
+ m_xToolBox->SetSelectHdl(Link<ToolBox*, void>());
+}
IMPL_LINK_NOARG(SalInstanceToolbar, ClickHdl, ToolBox*, void)
{
More information about the Libreoffice-commits
mailing list