summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2021-06-09 12:06:02 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2021-07-27 09:43:56 +0200
commite9aaab806d54d021801e86dc699642c0dc3fb1b0 (patch)
treeae52c41b5e766f5e486f6b510fb4d68cad2b2194 /vcl
parent7d6a6e340e7d44fd74487e74d76a65992f097dc7 (diff)
jsdialog: weld frame
Change-Id: I863022b0b1efc741626b0ba4a8a6183c169eaa85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116891 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119523 Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/jsdialog/jsdialogbuilder.hxx8
-rw-r--r--vcl/jsdialog/jsdialogbuilder.cxx17
2 files changed, 25 insertions, 0 deletions
diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx
index 254db3d1eeae..5199dd943439 100644
--- a/vcl/inc/jsdialog/jsdialogbuilder.hxx
+++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx
@@ -253,6 +253,7 @@ public:
virtual std::unique_ptr<weld::Expander> weld_expander(const OString& id) override;
virtual std::unique_ptr<weld::IconView> weld_icon_view(const OString& id) override;
virtual std::unique_ptr<weld::RadioButton> weld_radio_button(const OString& id) override;
+ virtual std::unique_ptr<weld::Frame> weld_frame(const OString& id) override;
static weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent,
VclMessageType eMessageType,
@@ -609,4 +610,11 @@ public:
virtual void set_active(bool active) override;
};
+class JSFrame : public JSWidget<SalInstanceFrame, ::VclFrame>
+{
+public:
+ JSFrame(JSDialogSender* pSender, ::VclFrame* pFrame, SalInstanceBuilder* pBuilder,
+ bool bTakeOwnership);
+};
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index c8aa2d1d6d6c..af68f2c48319 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -862,6 +862,17 @@ std::unique_ptr<weld::RadioButton> JSInstanceBuilder::weld_radio_button(const OS
return pWeldWidget;
}
+std::unique_ptr<weld::Frame> JSInstanceBuilder::weld_frame(const OString& id)
+{
+ ::VclFrame* pFrame = m_xBuilder->get<::VclFrame>(id);
+ auto pWeldWidget = pFrame ? std::make_unique<JSFrame>(this, pFrame, this, false) : nullptr;
+
+ if (pWeldWidget)
+ RememberWidget(id, pWeldWidget.get());
+
+ return pWeldWidget;
+}
+
weld::MessageDialog* JSInstanceBuilder::CreateMessageDialog(weld::Widget* pParent,
VclMessageType eMessageType,
VclButtonsType eButtonType,
@@ -1390,4 +1401,10 @@ void JSRadioButton::set_active(bool active)
sendUpdate();
}
+JSFrame::JSFrame(JSDialogSender* pSender, ::VclFrame* pFrame, SalInstanceBuilder* pBuilder,
+ bool bTakeOwnership)
+ : JSWidget<SalInstanceFrame, ::VclFrame>(pSender, pFrame, pBuilder, bTakeOwnership)
+{
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */