summaryrefslogtreecommitdiff
path: root/vcl/inc/salvtables.hxx
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2023-03-01 16:51:02 +0100
committerSzymon Kłos <szymon.klos@collabora.com>2023-03-03 13:19:59 +0000
commite55096a07a450782c4ab919b7ba60852841004c7 (patch)
tree88d9c319dc471fab9baa4cd8803878ba3878ee8c /vcl/inc/salvtables.hxx
parent2721520ca37654056c3d509657c50ee42e3dcae4 (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.hxx42
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: