diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-04-05 12:40:52 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-04-05 15:29:16 +0200 |
commit | 6c5aa32a3ca51f9feecf2ed59944080e766b9ac2 (patch) | |
tree | 87e8081be5696b7f08013e3b3d07d448ca46b517 /vcl/inc/unx/gtk/gtkinst.hxx | |
parent | d9d6f805fdda16a1a51d50deaba8c3a08b606234 (diff) |
enable mapping direct from awt::XWindow and weld::Window
Change-Id: I33b1309a4b81bfd84449213099c4f3f781413e00
Reviewed-on: https://gerrit.libreoffice.org/52456
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/inc/unx/gtk/gtkinst.hxx')
-rw-r--r-- | vcl/inc/unx/gtk/gtkinst.hxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index 9a3cb48dfe03..b6f00a0752d7 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -229,6 +229,7 @@ public: virtual OpenGLContext* CreateOpenGLContext() override; virtual weld::Builder* CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile) override; virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage) override; + virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow) override; #endif virtual const cairo_font_options_t* GetCairoFontOptions() override; @@ -257,25 +258,33 @@ class SalGtkXWindow : public SalGtkXWindow_Base { private: osl::Mutex m_aHelperMtx; + weld::Window* m_pWeldWidget; GtkWidget* m_pWidget; public: - SalGtkXWindow(GtkWidget* pWidget) + SalGtkXWindow(weld::Window* pWeldWidget, GtkWidget* pWidget) : SalGtkXWindow_Base(m_aHelperMtx) + , m_pWeldWidget(pWeldWidget) , m_pWidget(pWidget) { } void clear() { + m_pWeldWidget = nullptr; m_pWidget = nullptr; } - GtkWidget * getWidget() const + GtkWidget* getWidget() const { return m_pWidget; } + weld::Window* getFrameWeld() const + { + return m_pWeldWidget; + } + // css::awt::XWindow void SAL_CALL setPosSize(sal_Int32, sal_Int32, sal_Int32, sal_Int32, sal_Int16) override { |