[Libreoffice-commits] core.git: vcl/inc vcl/source

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 3 07:51:05 UTC 2020


 vcl/inc/salvtables.hxx        |   79 ++++++++
 vcl/source/app/salvtables.cxx |  407 ++++++++++++++++++++----------------------
 2 files changed, 273 insertions(+), 213 deletions(-)

New commits:
commit 3655ff091ebb6b2ecf0ef5dda3c290aa954df617
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri Jul 3 07:56:13 2020 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Fri Jul 3 09:50:17 2020 +0200

    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 at collabora.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index d76729b876c4..271f41a37e54 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -1169,4 +1169,83 @@ 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;
+
+    OString m_sStartShowIdent;
+
+    DECL_LINK(ClickHdl, ToolBox*, void);
+    DECL_LINK(DropdownClick, ToolBox*, void);
+    DECL_LINK(MenuToggleListener, VclWindowEvent&, 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 void set_item_help_id(const OString& rIdent, const OString& rHelpId) 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;
+
+    void set_menu_item_active(const OString& rIdent, bool bActive) override;
+
+    bool get_menu_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_name(const OString& rIdent, const OUString& rIconName) override;
+
+    virtual void set_item_image(const OString& rIdent,
+                                const css::uno::Reference<css::graphic::XGraphic>& rIcon) override;
+
+    virtual void set_item_image(const OString& rIdent, VirtualDevice* pDevice) override;
+
+    virtual void set_item_image(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 OUString get_item_tooltip_text(const OString& rIdent) const override;
+
+    virtual vcl::ImageType get_icon_size() const override;
+
+    virtual void set_icon_size(vcl::ImageType eType) override;
+
+    virtual sal_uInt16 get_modifier_state() const override;
+
+    int get_drop_index(const Point& rPoint) const override;
+
+    virtual ~SalInstanceToolbar() override;
+};
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
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)


More information about the Libreoffice-commits mailing list