X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..43ff861df48f0837dac98005dd397c5f127ca136:/include/wx/osx/dialog.h?ds=sidebyside diff --git a/include/wx/osx/dialog.h b/include/wx/osx/dialog.h index 351f6b8aee..8b7a24f2bd 100644 --- a/include/wx/osx/dialog.h +++ b/include/wx/osx/dialog.h @@ -14,9 +14,8 @@ #include "wx/panel.h" -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 @@ -50,29 +49,47 @@ public: // virtual bool Destroy(); virtual bool Show(bool show = true); - void SetModal(bool flag); + // return true if we're showing the dialog modally virtual bool IsModal() const; - // For now, same as Show(TRUE) but returns return code + // 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 // -------------- - // show modal dialog and enter modal loop - void DoShowModal(); + wxDialogModality GetModality() const; + +#if wxOSX_USE_COCOA + virtual void ModalFinishedCallback(void* WXUNUSED(panel), int WXUNUSED(returnCode)) {} +#endif protected: + // 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); + + wxDialogModality m_modality; + + wxModalEventLoop* m_eventLoop; + private: void Init(); - - bool m_isModalStyle; }; #endif