summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-07-03 07:56:13 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2020-07-03 09:50:17 +0200
commit3655ff091ebb6b2ecf0ef5dda3c290aa954df617 (patch)
tree0a9d265c43a354031f0ad019df2b0333f8c2d381 /vcl/source
parent4b8abb3db70ab5af3a9e92a327b46bbf38a481b3 (diff)
Move SalInstanceToolbar decl to header file
Change-Id: Ice74bd7ce2e8d3dc92ab8d9aa7f2d1382ea71660 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97787 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/app/salvtables.cxx407
1 files changed, 194 insertions, 213 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 656e82a43ea1..4ea4d1b568d9 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -764,276 +764,257 @@ IMPL_LINK_NOARG(SalInstanceMenu, SelectMenuHdl, ::Menu*, bool)
return false;
}
-namespace
-{
-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));
+}
- OString m_sStartShowIdent;
+void SalInstanceToolbar::set_item_sensitive(const OString& rIdent, bool bSensitive)
+{
+ m_xToolBox->EnableItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bSensitive);
+}
- DECL_LINK(ClickHdl, ToolBox*, void);
- DECL_LINK(DropdownClick, ToolBox*, void);
- DECL_LINK(MenuToggleListener, VclWindowEvent&, void);
+bool SalInstanceToolbar::get_item_sensitive(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemEnabled(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
-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_visible(const OString& rIdent, bool bVisible)
+{
+ m_xToolBox->ShowItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bVisible);
+}
- virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) override
- {
- m_xToolBox->EnableItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bSensitive);
- }
+void SalInstanceToolbar::set_item_help_id(const OString& rIdent, const OString& rHelpId)
+{
+ m_xToolBox->SetHelpId(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rHelpId);
+}
- virtual bool get_item_sensitive(const OString& rIdent) const override
- {
- return m_xToolBox->IsItemEnabled(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+bool SalInstanceToolbar::get_item_visible(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemVisible(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual void set_item_visible(const OString& rIdent, bool bVisible) override
- {
- m_xToolBox->ShowItem(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), bVisible);
- }
+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_help_id(const OString& rIdent, const OString& rHelpId) override
- {
- m_xToolBox->SetHelpId(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rHelpId);
- }
+bool SalInstanceToolbar::get_item_active(const OString& rIdent) const
+{
+ return m_xToolBox->IsItemChecked(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_menu_item_active(const OString& rIdent, bool bActive)
+{
+ sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ assert(m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN);
- virtual void set_item_active(const OString& rIdent, bool bActive) override
+ if (bActive)
{
- sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- m_xToolBox->CheckItem(nItemId, bActive);
+ m_sStartShowIdent = m_xToolBox->GetItemCommand(nItemId).toUtf8();
+ signal_toggle_menu(m_sStartShowIdent);
}
- virtual bool get_item_active(const OString& rIdent) const override
+ auto pFloat = m_aFloats[nItemId];
+ if (pFloat)
{
- return m_xToolBox->IsItemChecked(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+ if (bActive)
+ vcl::Window::GetDockingManager()->StartPopupMode(m_xToolBox, pFloat,
+ FloatWinPopupFlags::GrabFocus);
+ else
+ vcl::Window::GetDockingManager()->EndPopupMode(pFloat);
}
-
- void set_menu_item_active(const OString& rIdent, bool bActive) override
+ auto pPopup = m_aMenus[nItemId];
+ if (pPopup)
{
- sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- assert(m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN);
-
if (bActive)
{
- m_sStartShowIdent = m_xToolBox->GetItemCommand(nItemId).toUtf8();
- signal_toggle_menu(m_sStartShowIdent);
- }
-
- auto pFloat = m_aFloats[nItemId];
- if (pFloat)
- {
- if (bActive)
- vcl::Window::GetDockingManager()->StartPopupMode(m_xToolBox, pFloat,
- FloatWinPopupFlags::GrabFocus);
- else
- vcl::Window::GetDockingManager()->EndPopupMode(pFloat);
+ tools::Rectangle aRect = m_xToolBox->GetItemRect(nItemId);
+ pPopup->Execute(m_xToolBox, aRect, PopupMenuFlags::ExecuteDown);
}
- 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();
- }
-
- m_sStartShowIdent.clear();
+ else
+ pPopup->EndExecute();
}
- bool get_menu_item_active(const OString& rIdent) const override
- {
- sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- assert(m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN);
-
- if (rIdent == m_sStartShowIdent)
- return true;
+ m_sStartShowIdent.clear();
+}
- auto aFloat = m_aFloats.find(nItemId);
- if (aFloat != m_aFloats.end())
- {
- return vcl::Window::GetDockingManager()->IsInPopupMode(aFloat->second);
- }
+bool SalInstanceToolbar::get_menu_item_active(const OString& rIdent) const
+{
+ sal_uInt16 nItemId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ assert(m_xToolBox->GetItemBits(nItemId) & ToolBoxItemBits::DROPDOWN);
- auto aPopup = m_aMenus.find(nItemId);
- if (aPopup != m_aMenus.end())
- {
- return PopupMenu::GetActivePopupMenu() == aPopup->second;
- }
+ if (rIdent == m_sStartShowIdent)
+ return true;
- return false;
+ auto aFloat = m_aFloats.find(nItemId);
+ if (aFloat != m_aFloats.end())
+ {
+ return vcl::Window::GetDockingManager()->IsInPopupMode(aFloat->second);
}
- virtual void set_item_popover(const OString& rIdent, weld::Widget* pPopover) override
+ auto aPopup = m_aMenus.find(nItemId);
+ if (aPopup != m_aMenus.end())
{
- SalInstanceWidget* pPopoverWidget = dynamic_cast<SalInstanceWidget*>(pPopover);
-
- vcl::Window* pFloat = pPopoverWidget ? pPopoverWidget->getWidget() : nullptr;
- if (pFloat)
- {
- pFloat->AddEventListener(LINK(this, SalInstanceToolbar, MenuToggleListener));
- pFloat->EnableDocking();
- }
-
- sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- auto xOldFloat = m_aFloats[nId];
- if (xOldFloat)
- {
- xOldFloat->RemoveEventListener(LINK(this, SalInstanceToolbar, MenuToggleListener));
- }
- m_aFloats[nId] = pFloat;
- m_aMenus[nId] = nullptr;
+ return PopupMenu::GetActivePopupMenu() == aPopup->second;
}
- virtual void set_item_menu(const OString& rIdent, weld::Menu* pMenu) override
- {
- SalInstanceMenu* pInstanceMenu = dynamic_cast<SalInstanceMenu*>(pMenu);
+ return false;
+}
- PopupMenu* pPopup = pInstanceMenu ? pInstanceMenu->getMenu() : nullptr;
+void SalInstanceToolbar::set_item_popover(const OString& rIdent, weld::Widget* pPopover)
+{
+ SalInstanceWidget* pPopoverWidget = dynamic_cast<SalInstanceWidget*>(pPopover);
- sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
- m_aMenus[nId] = pPopup;
- m_aFloats[nId] = nullptr;
+ vcl::Window* pFloat = pPopoverWidget ? pPopoverWidget->getWidget() : nullptr;
+ if (pFloat)
+ {
+ pFloat->AddEventListener(LINK(this, SalInstanceToolbar, MenuToggleListener));
+ pFloat->EnableDocking();
}
- virtual void insert_separator(int pos, const OUString& /*rId*/) override
+ sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ auto xOldFloat = m_aFloats[nId];
+ if (xOldFloat)
{
- auto nInsertPos = pos == -1 ? ToolBox::APPEND : pos;
- m_xToolBox->InsertSeparator(nInsertPos, 5);
+ xOldFloat->RemoveEventListener(LINK(this, SalInstanceToolbar, MenuToggleListener));
}
+ m_aFloats[nId] = pFloat;
+ m_aMenus[nId] = nullptr;
+}
- virtual int get_n_items() const override { return m_xToolBox->GetItemCount(); }
+void SalInstanceToolbar::set_item_menu(const OString& rIdent, weld::Menu* pMenu)
+{
+ SalInstanceMenu* pInstanceMenu = dynamic_cast<SalInstanceMenu*>(pMenu);
- virtual OString get_item_ident(int nIndex) const override
- {
- return m_xToolBox->GetItemCommand(m_xToolBox->GetItemId(nIndex)).toUtf8();
- }
+ PopupMenu* pPopup = pInstanceMenu ? pInstanceMenu->getMenu() : nullptr;
- virtual void set_item_ident(int nIndex, const OString& rIdent) override
- {
- return m_xToolBox->SetItemCommand(m_xToolBox->GetItemId(nIndex),
- OUString::fromUtf8(rIdent));
- }
+ sal_uInt16 nId = m_xToolBox->GetItemId(OUString::fromUtf8(rIdent));
+ m_aMenus[nId] = pPopup;
+ m_aFloats[nId] = nullptr;
+}
- virtual void set_item_label(int nIndex, const OUString& rLabel) override
- {
- m_xToolBox->SetItemText(m_xToolBox->GetItemId(nIndex), rLabel);
- }
+void SalInstanceToolbar::insert_separator(int pos, const OUString& /*rId*/)
+{
+ auto nInsertPos = pos == -1 ? ToolBox::APPEND : pos;
+ m_xToolBox->InsertSeparator(nInsertPos, 5);
+}
- virtual OUString get_item_label(const OString& rIdent) const override
- {
- return m_xToolBox->GetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+int SalInstanceToolbar::get_n_items() const { return m_xToolBox->GetItemCount(); }
- virtual void set_item_label(const OString& rIdent, const OUString& rLabel) override
- {
- m_xToolBox->SetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rLabel);
- }
+OString SalInstanceToolbar::get_item_ident(int nIndex) const
+{
+ return m_xToolBox->GetItemCommand(m_xToolBox->GetItemId(nIndex)).toUtf8();
+}
- virtual void set_item_icon_name(const OString& rIdent, const OUString& rIconName) override
- {
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)),
- Image(StockImage::Yes, rIconName));
- }
+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_image(const OString& rIdent,
- const css::uno::Reference<css::graphic::XGraphic>& rIcon) override
- {
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), Image(rIcon));
- }
+void SalInstanceToolbar::set_item_label(int nIndex, const OUString& rLabel)
+{
+ m_xToolBox->SetItemText(m_xToolBox->GetItemId(nIndex), rLabel);
+}
- virtual void set_item_image(const OString& rIdent, VirtualDevice* pDevice) override
- {
- if (pDevice)
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)),
- createImage(*pDevice));
- else
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), Image());
- }
+OUString SalInstanceToolbar::get_item_label(const OString& rIdent) const
+{
+ return m_xToolBox->GetItemText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
- virtual void set_item_image(int nIndex,
- const css::uno::Reference<css::graphic::XGraphic>& rIcon) override
- {
- m_xToolBox->SetItemImage(m_xToolBox->GetItemId(nIndex), Image(rIcon));
- }
+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_tooltip_text(int nIndex, const OUString& rTip) override
- {
- m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(nIndex), rTip);
- }
+void SalInstanceToolbar::set_item_icon_name(const OString& rIdent, const OUString& rIconName)
+{
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)),
+ Image(StockImage::Yes, rIconName));
+}
- 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_image(const OString& rIdent,
+ const css::uno::Reference<css::graphic::XGraphic>& rIcon)
+{
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), Image(rIcon));
+}
- virtual OUString get_item_tooltip_text(const OString& rIdent) const override
- {
- return m_xToolBox->GetQuickHelpText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
- }
+void SalInstanceToolbar::set_item_image(const OString& rIdent, VirtualDevice* pDevice)
+{
+ if (pDevice)
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)),
+ createImage(*pDevice));
+ else
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), Image());
+}
- virtual vcl::ImageType get_icon_size() const override { return m_xToolBox->GetImageSize(); }
+void SalInstanceToolbar::set_item_image(int nIndex,
+ const css::uno::Reference<css::graphic::XGraphic>& rIcon)
+{
+ m_xToolBox->SetItemImage(m_xToolBox->GetItemId(nIndex), Image(rIcon));
+}
- virtual void set_icon_size(vcl::ImageType eType) override
- {
- ToolBoxButtonSize eButtonSize = ToolBoxButtonSize::DontCare;
- switch (eType)
- {
- case vcl::ImageType::Size16:
- eButtonSize = ToolBoxButtonSize::Small;
- break;
- case vcl::ImageType::Size26:
- eButtonSize = ToolBoxButtonSize::Large;
- break;
- case vcl::ImageType::Size32:
- eButtonSize = ToolBoxButtonSize::Size32;
- break;
- }
- if (m_xToolBox->GetToolboxButtonSize() != eButtonSize)
- {
- m_xToolBox->SetToolboxButtonSize(eButtonSize);
- m_xToolBox->queue_resize();
- }
- }
+void SalInstanceToolbar::set_item_tooltip_text(int nIndex, const OUString& rTip)
+{
+ m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(nIndex), rTip);
+}
- virtual sal_uInt16 get_modifier_state() const override
- {
- return m_xToolBox->GetModifier();
- }
+void SalInstanceToolbar::set_item_tooltip_text(const OString& rIdent, const OUString& rTip)
+{
+ m_xToolBox->SetQuickHelpText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)), rTip);
+}
+
+OUString SalInstanceToolbar::get_item_tooltip_text(const OString& rIdent) const
+{
+ return m_xToolBox->GetQuickHelpText(m_xToolBox->GetItemId(OUString::fromUtf8(rIdent)));
+}
+
+vcl::ImageType SalInstanceToolbar::get_icon_size() const { return m_xToolBox->GetImageSize(); }
- int get_drop_index(const Point& rPoint) const override
+void SalInstanceToolbar::set_icon_size(vcl::ImageType eType)
+{
+ ToolBoxButtonSize eButtonSize = ToolBoxButtonSize::DontCare;
+ switch (eType)
{
- auto nRet = m_xToolBox->GetItemPos(rPoint);
- if (nRet == ToolBox::ITEM_NOTFOUND)
- return 0;
- return nRet;
+ case vcl::ImageType::Size16:
+ eButtonSize = ToolBoxButtonSize::Small;
+ break;
+ case vcl::ImageType::Size26:
+ eButtonSize = ToolBoxButtonSize::Large;
+ break;
+ case vcl::ImageType::Size32:
+ eButtonSize = ToolBoxButtonSize::Size32;
+ break;
}
-
- virtual ~SalInstanceToolbar() override
+ if (m_xToolBox->GetToolboxButtonSize() != eButtonSize)
{
- m_xToolBox->SetDropdownClickHdl(Link<ToolBox*, void>());
- m_xToolBox->SetSelectHdl(Link<ToolBox*, void>());
+ m_xToolBox->SetToolboxButtonSize(eButtonSize);
+ m_xToolBox->queue_resize();
}
-};
+}
+
+sal_uInt16 SalInstanceToolbar::get_modifier_state() const
+{
+ return m_xToolBox->GetModifier();
+}
+int SalInstanceToolbar::get_drop_index(const Point& rPoint) const
+{
+ auto nRet = m_xToolBox->GetItemPos(rPoint);
+ if (nRet == ToolBox::ITEM_NOTFOUND)
+ return 0;
+ return nRet;
+}
+
+SalInstanceToolbar::~SalInstanceToolbar()
+{
+ m_xToolBox->SetDropdownClickHdl(Link<ToolBox*, void>());
+ m_xToolBox->SetSelectHdl(Link<ToolBox*, void>());
}
IMPL_LINK_NOARG(SalInstanceToolbar, ClickHdl, ToolBox*, void)