summaryrefslogtreecommitdiff
path: root/include/sfx2/basedlgs.hxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-04 12:41:22 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-11-01 22:12:33 +0100
commit26c375671aa362b2f59d84645784938677ae1719 (patch)
tree5ea3214bf75b3d612a6760597e16ab2cc041ce29 /include/sfx2/basedlgs.hxx
parentd611d5535b818854f9c6c6d4c144c2e5a9155a1a (diff)
weld SwWordCountFloatDlg
enable modeless dialogs to emit a response so runAsync can be used with them and get something called when the dialog is dismissed Change-Id: Ie9603bcc063cefabbae635949671baf06620785d Reviewed-on: https://gerrit.libreoffice.org/61383 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/sfx2/basedlgs.hxx')
-rw-r--r--include/sfx2/basedlgs.hxx43
1 files changed, 35 insertions, 8 deletions
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index d4279599fe4b..1c3e2b37caa6 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -107,6 +107,41 @@ public:
DECL_LINK(TimerHdl, Timer *, void);
};
+class SFX2_DLLPUBLIC SfxDialogController : public weld::GenericDialogController
+{
+private:
+ DECL_DLLPRIVATE_LINK(InstallLOKNotifierHdl, void*, vcl::ILibreOfficeKitNotifier*);
+public:
+ SfxDialogController(weld::Widget* pParent, const OUString& rUIFile, const OString& rDialogId);
+};
+
+class SfxModelessDialog_Impl;
+class SFX2_DLLPUBLIC SfxModelessDialogController : public SfxDialogController
+{
+ SfxBindings* m_pBindings;
+ std::unique_ptr<SfxModelessDialog_Impl> m_xImpl;
+
+ SfxModelessDialogController(SfxModelessDialogController&) = delete;
+ void operator =(SfxModelessDialogController&) = delete;
+
+ void Init(SfxBindings *pBindinx, SfxChildWindow *pCW);
+
+ DECL_DLLPRIVATE_LINK(FocusInHdl, weld::Widget&, void);
+ DECL_DLLPRIVATE_LINK(FocusOutHdl, weld::Widget&, void);
+protected:
+ SfxModelessDialogController(SfxBindings*, SfxChildWindow* pChildWin,
+ weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID);
+ virtual ~SfxModelessDialogController() override;
+
+public:
+ virtual void FillInfo(SfxChildWinInfo&) const;
+ void Initialize (SfxChildWinInfo const * pInfo);
+ void Close();
+ void DeInit();
+ void EndDialog();
+ SfxBindings& GetBindings() { return *m_pBindings; }
+};
+
// class SfxFloatingWindow --------------------------------------------------
class SfxFloatingWindow_Impl;
class SFX2_DLLPUBLIC SfxFloatingWindow: public FloatingWindow
@@ -188,14 +223,6 @@ private:
std::unique_ptr<SingleTabDlgImpl> pImpl;
};
-class SFX2_DLLPUBLIC SfxDialogController : public weld::GenericDialogController
-{
-private:
- DECL_DLLPRIVATE_LINK(InstallLOKNotifierHdl, void*, vcl::ILibreOfficeKitNotifier*);
-public:
- SfxDialogController(weld::Widget* pParent, const OUString& rUIFile, const OString& rDialogId);
-};
-
class SFX2_DLLPUBLIC SfxSingleTabDialogController : public SfxDialogController
{
private: