summaryrefslogtreecommitdiff
path: root/include/vcl
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2017-08-03 14:42:21 +0530
committerJan Holesovsky <kendy@collabora.com>2017-11-15 17:07:11 +0100
commitbba61e62f3481fe389bc9d8cfb2f786624b96b5a (patch)
tree25f0339be13397a82832dcb7b8518b87d2698be7 /include/vcl
parent18d280713ea087b1cfc2dad9aefa52e583824eb3 (diff)
lokdialog: Register IDIalogRenderable with vcl::Dialog
Change-Id: I344f5a9c7167abfde15dcd21c747819cc79b12b1
Diffstat (limited to 'include/vcl')
-rw-r--r--include/vcl/IDialogRenderable.hxx3
-rw-r--r--include/vcl/dialog.hxx9
2 files changed, 10 insertions, 2 deletions
diff --git a/include/vcl/IDialogRenderable.hxx b/include/vcl/IDialogRenderable.hxx
index cf9d41e54cde..b2c0dee552cd 100644
--- a/include/vcl/IDialogRenderable.hxx
+++ b/include/vcl/IDialogRenderable.hxx
@@ -38,6 +38,9 @@ public:
virtual void postDialogMouseEvent(const DialogID& rDialogID, int nType, int nX, int nY,
int nCount, int nButtons, int nModifier) = 0;
+
+ // Callbacks
+ virtual void notifyDialogInvalidation(const DialogID& rDialogID) = 0;
};
} // namespace vcl
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 1f1f19574889..503a9b06f0c2 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -24,7 +24,7 @@
#include <vcl/dllapi.h>
#include <vcl/syswin.hxx>
#include <vcl/vclptr.hxx>
-
+#include <vcl/IDialogRenderable.hxx>
struct DialogImpl;
class VclBox;
@@ -48,6 +48,8 @@ private:
VclPtr<VclButtonBox> mpActionArea;
VclPtr<VclBox> mpContentArea;
+ vcl::IDialogRenderable* mpDialogRenderable; // to emit LOK callbacks
+
SAL_DLLPRIVATE void ImplInitDialogData();
SAL_DLLPRIVATE void ImplInitSettings();
@@ -66,7 +68,10 @@ protected:
public:
SAL_DLLPRIVATE bool IsInClose() const { return mbInClose; }
virtual void doDeferredInit(WinBits nBits) override;
- virtual void LogicInvalidate(const Rectangle* pRectangle) override { (void)pRectangle; }
+ virtual void LogicInvalidate(const Rectangle* pRectangle) override;
+
+ /// Necessary to register dialog renderable instance to emit LOK callbacks
+ void registerDialogRenderable(vcl::IDialogRenderable* pDialogRenderable);
/// Paints the current dialog to the given virtual device
void paintDialog(VirtualDevice& rDevice);
void LogicMouseButtonDown(const MouseEvent& rMouseEvent);