]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/msgdlg.h
define wxHAS_ATOMIC_OPS only if native implementation is available; use fewer loop...
[wxWidgets.git] / include / wx / cocoa / msgdlg.h
index aa03ad79931b4c3d0a3e2e1c54b7bc45941584d6..62c1d1dc7f01e9033202c41f123e1ae4939f47a2 100644 (file)
@@ -3,6 +3,7 @@
 // Purpose:     wxMessageDialog class
 // Author:      Gareth Simpson
 // Created:     2007-10-29
+// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 DECLARE_WXCOCOA_OBJC_CLASS(NSAlert);
 
+#ifndef wxUSE_COCOA_NATIVE_MSGDLG
+// trunk: Always use Cocoa dialog
+// 2.8: Only use Cocoa dialog if ABI incompatible features is on
+// Build both on both branches (there was no wxCocoaMessageDialog class so it's not an ABI issue)
+    #if 1/* wxUSE_ABI_INCOMPATIBLE_FEATURES */
+        #define wxUSE_COCOA_NATIVE_MSGDLG 1
+    #else
+        #define wxUSE_COCOA_NATIVE_MSGDLG 0
+    #endif
+#endif
+
+#include "wx/generic/msgdlgg.h"
+
+#if wxUSE_COCOA_NATIVE_MSGDLG
+    #define wxMessageDialog wxCocoaMessageDialog
+#else
+    #define wxMessageDialog wxGenericMessageDialog
+#endif
 
-
-#define wxMessageDialog wxCocoaMessageDialog
 //-------------------------------------------------------------------------
 // wxMsgDialog
 //-------------------------------------------------------------------------
 
 
 
-class WXDLLEXPORT wxMessageDialog: public wxMessageDialogBase
+class WXDLLIMPEXP_CORE wxCocoaMessageDialog: public wxMessageDialogBase
 {
-    DECLARE_DYNAMIC_CLASS(wxMessageDialog)
-    DECLARE_NO_COPY_CLASS(wxMessageDialog)
+    DECLARE_DYNAMIC_CLASS(wxCocoaMessageDialog)
+    DECLARE_NO_COPY_CLASS(wxCocoaMessageDialog)
 
 
 public:
-    wxMessageDialog(wxWindow *parent,
+    wxCocoaMessageDialog(wxWindow *parent,
                     const wxString& message,
                     const wxString& caption = wxMessageBoxCaptionStr,
                     long style = wxOK|wxCENTRE,
                     const wxPoint& pos = wxDefaultPosition);
-                                               
-       virtual ~wxCocoaMessageDialog();
 
-       virtual int ShowModal();
-       
+    virtual ~wxCocoaMessageDialog();
+
+    virtual int ShowModal();
+
     // customization of the message box
     virtual bool SetYesNoLabels(const wxString& yes,const wxString& no);
     virtual bool SetYesNoCancelLabels(const wxString& yes, const wxString& no, const wxString& cancel);
@@ -50,12 +67,12 @@ protected:
     virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
                            int WXUNUSED(width), int WXUNUSED(height),
                            int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {}
-       
+
 private:
-       wxString m_yes,
-                        m_no,
-                        m_ok,
-                        m_cancel;
+    wxString m_yes,
+             m_no,
+             m_ok,
+             m_cancel;
 
 };