diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-03-06 11:11:57 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-06-20 20:36:25 +0200 |
commit | 292d9519bd368db69920cf0f8b94e0e51c3d14a1 (patch) | |
tree | 4d4220e44833022ee72e36d85b9ce93f603fa1c7 /include | |
parent | 5c44f1ef779bf196f874f47c14d2d0c7f58fbb2e (diff) |
jsdialog: remember weld instances
Change-Id: Ie55e0fcd2307679aee52751b2d2e434393850418
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94302
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96735
Tested-by: Jenkins
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/jsdialog/jsdialogbuilder.hxx | 7 | ||||
-rw-r--r-- | include/vcl/weld.hxx | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/include/vcl/jsdialog/jsdialogbuilder.hxx b/include/vcl/jsdialog/jsdialogbuilder.hxx index 382623a83da6..f57d3da7ec7f 100644 --- a/include/vcl/jsdialog/jsdialogbuilder.hxx +++ b/include/vcl/jsdialog/jsdialogbuilder.hxx @@ -10,6 +10,7 @@ #include <vcl/button.hxx> class ComboBox; +typedef std::map<OString, weld::Widget*> WidgetMap; class JSDialogSender { @@ -28,6 +29,9 @@ class VCL_DLLPUBLIC JSInstanceBuilder : public SalInstanceBuilder { vcl::LOKWindowId m_nWindowId; + static std::map<vcl::LOKWindowId, WidgetMap>& GetLOKWeldWidgetsMap(); + void RememberWidget(const OString& id, weld::Widget* pWidget); + public: JSInstanceBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile); virtual ~JSInstanceBuilder() override; @@ -44,8 +48,7 @@ public: virtual std::unique_ptr<weld::Notebook> weld_notebook(const OString& id, bool bTakeOwnership = false) override; - static std::map<vcl::LOKWindowId, JSInstanceBuilder*>& GetLOKWeldBuilderMap(); - static JSInstanceBuilder* FindLOKWeldBuilder(vcl::LOKWindowId nWindowId); + static weld::Widget* FindWeldWidgetsMap(vcl::LOKWindowId nWindowId, const OString& rWidget); }; template <class BaseInstanceClass, class VclClass> diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index dc73addd0c10..e14c2c0d5ed3 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -613,7 +613,6 @@ protected: Link<ComboBox&, bool> m_aEntryActivateHdl; Link<OUString&, bool> m_aEntryInsertTextHdl; - void signal_changed() { m_aChangeHdl.Call(*this); } virtual void signal_popup_toggled() { m_aPopupToggledHdl.Call(*this); } Link<render_args, void> m_aRenderHdl; @@ -627,6 +626,8 @@ protected: Size signal_custom_get_size(vcl::RenderContext& rDevice) { return m_aGetSizeHdl.Call(rDevice); } public: + void signal_changed() { m_aChangeHdl.Call(*this); } + virtual void insert(int pos, const OUString& rStr, const OUString* pId, const OUString* pIconName, VirtualDevice* pImageSurface) = 0; |