diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-06-09 12:06:02 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2021-07-27 09:43:56 +0200 |
commit | e9aaab806d54d021801e86dc699642c0dc3fb1b0 (patch) | |
tree | ae52c41b5e766f5e486f6b510fb4d68cad2b2194 /vcl | |
parent | 7d6a6e340e7d44fd74487e74d76a65992f097dc7 (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.hxx | 8 | ||||
-rw-r--r-- | vcl/jsdialog/jsdialogbuilder.cxx | 17 |
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: */ |