]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/dialog.h
Implement wxCOL_WIDTH_AUTOSIZE on OS X.
[wxWidgets.git] / include / wx / osx / dialog.h
index 17195a318a8db9b168fbdd08c61b6d9da3003eac..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,34 +56,42 @@ 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();
-
-    wxDialogModality m_modality;
 };
 
 #endif