X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bfa92264c07d094c05e5a07a17fd7f5bcee8e81f..ca9eebc34612c8bc3cdb8530ea355caf3eff5df0:/include/wx/osx/dialog.h diff --git a/include/wx/osx/dialog.h b/include/wx/osx/dialog.h index 77427be8b4..dc82d7cc6d 100644 --- a/include/wx/osx/dialog.h +++ b/include/wx/osx/dialog.h @@ -17,6 +17,7 @@ WXDLLIMPEXP_DATA_CORE(extern const char) wxDialogNameStr[]; class WXDLLIMPEXP_FWD_CORE wxMacToolTip ; +class WXDLLIMPEXP_FWD_CORE wxModalEventLoop ; // Dialog boxes class WXDLLIMPEXP_CORE wxDialog : public wxDialogBase @@ -55,36 +56,40 @@ public: // show the dialog modally and return the value passed to EndModal() virtual int ShowModal(); - + virtual void ShowWindowModal(); // may be called to terminate the dialog with the given return code virtual void EndModal(int retCode); + static bool OSXHasModalDialogsOpen(); + static void OSXBeginModalDialog(); + static void OSXEndModalDialog(); + // implementation // -------------- wxDialogModality GetModality() const; - + #if wxOSX_USE_COCOA virtual void ModalFinishedCallback(void* WXUNUSED(panel), int WXUNUSED(returnCode)) {} #endif protected: - // show modal dialog and enter modal loop - void DoShowModal(); - - // show modal dialog and enter modal loop + // show window modal dialog void DoShowWindowModal(); + // end window modal dialog. + void EndWindowModal(); + // mac also takes command-period as cancel virtual bool IsEscapeKey(const wxKeyEvent& event); - // needed for cleanup on the Cocoa side. - void EndWindowModal(); wxDialogModality m_modality; + wxModalEventLoop* m_eventLoop; + private: void Init(); };