diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-09-24 10:08:41 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2021-10-06 11:09:02 +0200 |
commit | dfff37d1d92074abbd8ad0dc5c79a4e269d09f61 (patch) | |
tree | fcda76d8e39141f2dbc610eee760f6c432a52be4 /vcl | |
parent | e304383b88d271b0e140946af201099c8314dd0a (diff) |
jsdialog: weld plain widget
Change-Id: I85a23a7ea14ab580d4dc222d80edfaa8423cf952
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122562
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123106
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/jsdialog/jsdialogbuilder.hxx | 1 | ||||
-rw-r--r-- | vcl/jsdialog/jsdialogbuilder.cxx | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 55aa57d71888..dc30508dba51 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -275,6 +275,7 @@ public: virtual std::unique_ptr<weld::MenuButton> weld_menu_button(const OString& id) override; virtual std::unique_ptr<weld::Popover> weld_popover(const OString& id) override; virtual std::unique_ptr<weld::Box> weld_box(const OString& id) override; + virtual std::unique_ptr<weld::Widget> weld_widget(const OString& id) override; static weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 6b6c12831d73..64f2b3029212 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1045,6 +1045,19 @@ std::unique_ptr<weld::Box> JSInstanceBuilder::weld_box(const OString& id) return pWeldWidget; } +std::unique_ptr<weld::Widget> JSInstanceBuilder::weld_widget(const OString& id) +{ + vcl::Window* pWidget = m_xBuilder->get(id); + auto pWeldWidget = pWidget ? std::make_unique<JSWidget<SalInstanceWidget, vcl::Window>>( + this, pWidget, this, false) + : nullptr; + + if (pWeldWidget) + RememberWidget(id, pWeldWidget.get()); + + return pWeldWidget; +} + weld::MessageDialog* JSInstanceBuilder::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, |