diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-08-03 14:42:21 +0530 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2017-11-15 17:07:11 +0100 |
commit | bba61e62f3481fe389bc9d8cfb2f786624b96b5a (patch) | |
tree | 25f0339be13397a82832dcb7b8518b87d2698be7 /include/vcl | |
parent | 18d280713ea087b1cfc2dad9aefa52e583824eb3 (diff) |
lokdialog: Register IDIalogRenderable with vcl::Dialog
Change-Id: I344f5a9c7167abfde15dcd21c747819cc79b12b1
Diffstat (limited to 'include/vcl')
-rw-r--r-- | include/vcl/IDialogRenderable.hxx | 3 | ||||
-rw-r--r-- | include/vcl/dialog.hxx | 9 |
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); |