diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-10-04 12:41:22 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-11-01 22:12:33 +0100 |
commit | 26c375671aa362b2f59d84645784938677ae1719 (patch) | |
tree | 5ea3214bf75b3d612a6760597e16ab2cc041ce29 /include/sfx2/basedlgs.hxx | |
parent | Resolves: tdf#121097 need an initial call to CBClickHdl (diff) | |
download | core-26c375671aa362b2f59d84645784938677ae1719.tar.gz core-26c375671aa362b2f59d84645784938677ae1719.zip |
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.hxx | 43 |
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: |