]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/dialog.h
artmac extended for cocoa
[wxWidgets.git] / include / wx / osx / dialog.h
index 77427be8b4a2a05da66bdd56e07d564e340785f9..dc82d7cc6dc5600ea03ae7f6de519c7cdbb1bd51 100644 (file)
@@ -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();
 };