summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2021-09-24 10:08:41 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2021-09-24 14:32:48 +0200
commit21d1d67f9957c02389fd7fd48f60ea8e06aab65a (patch)
tree87274efd7afcc1fc0e73f7dc9ce5ab0dca903e47 /vcl
parent0c507ece3a617d222a0c14a7954972cf57ac64ab (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>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/jsdialog/jsdialogbuilder.hxx1
-rw-r--r--vcl/jsdialog/jsdialogbuilder.cxx13
2 files changed, 14 insertions, 0 deletions
diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx
index ff5286239a43..dfd692e0a026 100644
--- a/vcl/inc/jsdialog/jsdialogbuilder.hxx
+++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx
@@ -273,6 +273,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 1d32a16d808d..0a8c39c9cecb 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -1053,6 +1053,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,