summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-02-13 17:41:03 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-02-16 00:35:34 +0100
commit6a3f9de585fc0e8e6191db5210729ae6b3730e7d (patch)
tree5d053ebe13d08608812c2321dd60a6c9c23ffc70 /vcl/inc
parent7faa218231b7a807412feada3aa1223b43b5626e (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.hxx6
-rw-r--r--vcl/inc/salinst.hxx11
-rw-r--r--vcl/inc/unx/gtk/gtkframe.hxx1
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx2
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;