diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-02-13 17:41:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-02-16 00:35:34 +0100 |
commit | 6a3f9de585fc0e8e6191db5210729ae6b3730e7d (patch) | |
tree | 5d053ebe13d08608812c2321dd60a6c9c23ffc70 /vcl/inc | |
parent | 7faa218231b7a807412feada3aa1223b43b5626e (diff) |
native dialog initial basis
Change-Id: I392be563e38257390f748c70bb71c67a66778ddd
Reviewed-on: https://gerrit.libreoffice.org/49677
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')
-rw-r--r-- | vcl/inc/salframe.hxx | 6 | ||||
-rw-r--r-- | vcl/inc/salinst.hxx | 11 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkframe.hxx | 1 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkinst.hxx | 2 |
4 files changed, 19 insertions, 1 deletions
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx index 766301256f6e..c04f0a8f767e 100644 --- a/vcl/inc/salframe.hxx +++ b/vcl/inc/salframe.hxx @@ -28,6 +28,7 @@ #include <o3tl/typed_flags_set.hxx> #include <vcl/window.hxx> +#include <vcl/weld.hxx> // complete vcl::Window for SalFrame::CallCallback under -fsanitize=function class AllSettings; @@ -107,7 +108,8 @@ private: // the VCL window corresponding to this frame VclPtr<vcl::Window> m_pWindow; SALFRAMEPROC m_pProc; - +protected: + mutable std::unique_ptr<weld::Window> m_xFrameWeld; public: SalFrame(); virtual ~SalFrame() override; @@ -261,6 +263,8 @@ public: return false; } + virtual weld::Window* GetFrameWeld() const; + // Callbacks (indepent part in vcl/source/window/winproc.cxx) // for default message handling return 0 void SetCallback( vcl::Window* pWindow, SALFRAMEPROC pProc ); diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index f33d9d4d912a..1eadc7ac382f 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -26,6 +26,7 @@ #include <vcl/dllapi.h> #include <vcl/salgtype.hxx> #include <osl/thread.hxx> +#include <vcl/vclenum.hxx> #include "displayconnectiondispatch.hxx" @@ -34,6 +35,12 @@ #include <com/sun/star/ui/dialogs/XFolderPicker2.hpp> namespace comphelper { class SolarMutex; } +namespace vcl { class Window; } +namespace weld { + class Builder; + class MessageDialog; + class Widget; +} struct SystemParentData; struct SalPrinterQueueInfo; class ImplJobSetup; @@ -147,6 +154,10 @@ public: virtual OpenGLContext* CreateOpenGLContext() = 0; + virtual weld::Builder* CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile); + virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, + VclButtonsType eButtonType, const OUString& rPrimaryMessage); + // methods for XDisplayConnection void SetEventCallback( rtl::Reference< vcl::DisplayConnectionDispatch > const & pInstance ) diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index 0ae8250c82f6..6f4e0db8dc7f 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -536,6 +536,7 @@ public: virtual void* ShowPopover(const OUString& rHelpText, const tools::Rectangle& rHelpArea, QuickHelpFlags nFlags) override; virtual bool UpdatePopover(void* nId, const OUString& rHelpText, const tools::Rectangle& rHelpArea) override; virtual bool HidePopover(void* nId) override; + virtual weld::Window* GetFrameWeld() const override; #endif static GtkSalFrame *getFromWindow( GtkWindow *pWindow ); diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index 4b48a4b3762e..2da209730e93 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -227,6 +227,8 @@ public: virtual css::uno::Reference< css::uno::XInterface > CreateDragSource() override; virtual css::uno::Reference< css::uno::XInterface > CreateDropTarget() override; 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; #endif virtual const cairo_font_options_t* GetCairoFontOptions() override; |