diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2023-03-01 16:51:02 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2023-03-03 13:19:59 +0000 |
commit | e55096a07a450782c4ab919b7ba60852841004c7 (patch) | |
tree | 88d9c319dc471fab9baa4cd8803878ba3878ee8c /vcl/inc/salvtables.hxx | |
parent | 2721520ca37654056c3d509657c50ee42e3dcae4 (diff) |
Move SalInstanceAssistant declaration to header file
Change-Id: I3407893c878fd37fe0968c2990c92d5d16213ed3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148107
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl/inc/salvtables.hxx')
-rw-r--r-- | vcl/inc/salvtables.hxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 00bb670ffe54..25382e53a546 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -30,6 +30,11 @@ #include "listbox.hxx" #include "messagedialog.hxx" +namespace vcl +{ +class RoadmapWizard; +}; + class SalInstanceBuilder : public weld::Builder { protected: @@ -541,6 +546,43 @@ public: virtual weld::Container* weld_content_area() override; }; +class SalInstanceAssistant : public SalInstanceDialog, public virtual weld::Assistant +{ +private: + VclPtr<vcl::RoadmapWizard> m_xWizard; + std::vector<std::unique_ptr<SalInstanceContainer>> m_aPages; + std::vector<VclPtr<TabPage>> m_aAddedPages; + std::vector<int> m_aIds; + std::vector<VclPtr<VclGrid>> m_aAddedGrids; + Idle m_aUpdateRoadmapIdle; + + int find_page(std::string_view rIdent) const; + int find_id(int nId) const; + + DECL_LINK(OnRoadmapItemSelected, LinkParamNone*, void); + DECL_LINK(UpdateRoadmap_Hdl, Timer*, void); + +public: + SalInstanceAssistant(vcl::RoadmapWizard* pDialog, SalInstanceBuilder* pBuilder, + bool bTakeOwnership); + virtual int get_current_page() const override; + virtual int get_n_pages() const override; + virtual OString get_page_ident(int nPage) const override; + virtual OString get_current_page_ident() const override; + virtual void set_current_page(int nPage) override; + virtual void set_current_page(const OString& rIdent) override; + virtual void set_page_index(const OString& rIdent, int nNewIndex) override; + virtual weld::Container* append_page(const OString& rIdent) override; + virtual OUString get_page_title(const OString& rIdent) const override; + virtual void set_page_title(const OString& rIdent, const OUString& rTitle) override; + virtual void set_page_sensitive(const OString& rIdent, bool bSensitive) override; + virtual void set_page_side_help_id(const OString& rHelpId) override; + virtual void set_page_side_image(const OUString& rImage) override; + weld::Button* weld_widget_for_response(int nResponse) override; + + virtual ~SalInstanceAssistant() override; +}; + class WeldTextFilter final : public TextFilter { private: |