]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/msgdlg.cpp
Add wxTextEntryBase::ForwardEnableTextChangedEvents().
[wxWidgets.git] / src / osx / carbon / msgdlg.cpp
index 830efb6f27740063682096a3526395f032bdc183..20be0469e530f34d303cf89d3842408c7e30af4c 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/msgdlg.cpp
+// Name:        src/osx/carbon/msgdlg.cpp
 // Purpose:     wxMessageDialog
 // Author:      Stefan Csomor
 // Modified by:
@@ -19,7 +19,7 @@
 #endif
 
 #include "wx/thread.h"
-#include "wx/mac/uma.h"
+#include "wx/osx/uma.h"
 
 
 IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
@@ -30,40 +30,8 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
                                  const wxString& caption,
                                  long style,
                                  const wxPoint& WXUNUSED(pos))
-               : wxMessageDialogBase(parent, message, caption, style)
+               : wxMessageDialogWithCustomLabels(parent, message, caption, style)
 {
-    m_yes = _("Yes");
-    m_no  = _("No");
-    m_ok  = _("OK");
-    m_cancel = _("Cancel");
-}
-
-bool wxMessageDialog::SetYesNoLabels(const wxString& yes,const wxString& no)
-{
-    m_yes = yes;
-    m_no = no;
-    return true;
-}
-
-bool wxMessageDialog::SetYesNoCancelLabels(const wxString& yes, const wxString& no, const wxString& cancel)
-{
-    m_yes = yes;
-    m_no = no;
-    m_cancel = cancel;
-    return true;
-}
-
-bool wxMessageDialog::SetOKLabel(const wxString& ok)
-{
-    m_ok = ok;
-    return true;
-}
-
-bool wxMessageDialog::SetOKCancelLabels(const wxString& ok, const wxString& cancel)
-{
-    m_ok = ok;
-    m_cancel = cancel;
-    return true;
 }
 
 int wxMessageDialog::ShowModal()
@@ -72,17 +40,26 @@ int wxMessageDialog::ShowModal()
 
     const long style = GetMessageDialogStyle();
 
-    wxASSERT_MSG( (style & 0x3F) != wxYES, wxT("this style is not supported on Mac") );
+    wxASSERT_MSG( (style & 0x3F) != wxYES,
+        "this style is not supported on Mac" );
 
     AlertType alertType = kAlertPlainAlert;
-    if (style & wxICON_EXCLAMATION)
-        alertType = kAlertCautionAlert;
-    else if (style & wxICON_HAND)
-        alertType = kAlertStopAlert;
-    else if (style & wxICON_INFORMATION)
-        alertType = kAlertNoteAlert;
-    else if (style & wxICON_QUESTION)
-        alertType = kAlertNoteAlert;
+
+    switch ( GetEffectiveIcon() )
+    {
+        case wxICON_ERROR:
+            alertType = kAlertStopAlert;
+            break;
+
+        case wxICON_WARNING:
+            alertType = kAlertCautionAlert;
+            break;
+
+        case wxICON_QUESTION:
+        case wxICON_INFORMATION:
+            alertType = kAlertNoteAlert;
+            break;
+    }
 
 
     // work out what to display
@@ -113,10 +90,10 @@ int wxMessageDialog::ShowModal()
         wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() );
         wxCFStringRef cfText( msgtext, GetFont().GetEncoding() );
 
-        wxCFStringRef cfNoString( m_no.c_str(), GetFont().GetEncoding() );
-        wxCFStringRef cfYesString( m_yes.c_str(), GetFont().GetEncoding() );
-        wxCFStringRef cfOKString( m_ok.c_str() , GetFont().GetEncoding()) ;
-        wxCFStringRef cfCancelString( m_cancel.c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfNoString( GetNoLabel().c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfYesString( GetYesLabel().c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfOKString( GetOKLabel().c_str() , GetFont().GetEncoding()) ;
+        wxCFStringRef cfCancelString( GetCancelLabel().c_str(), GetFont().GetEncoding() );
 
         int buttonId[4] = { 0, 0, 0, wxID_CANCEL /* time-out */ };
 
@@ -167,10 +144,10 @@ int wxMessageDialog::ShowModal()
         short result;
 
         AlertStdCFStringAlertParamRec param;
-        wxCFStringRef cfNoString( m_no.c_str(), GetFont().GetEncoding() );
-        wxCFStringRef cfYesString( m_yes.c_str(), GetFont().GetEncoding() );
-        wxCFStringRef cfOKString( m_ok.c_str(), GetFont().GetEncoding() );
-        wxCFStringRef cfCancelString( m_cancel.c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfNoString( GetNoLabel().c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfYesString( GetYesLabel().c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfOKString( GetOKLabel().c_str(), GetFont().GetEncoding() );
+        wxCFStringRef cfCancelString( GetCancelLabel().c_str(), GetFont().GetEncoding() );
 
         wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() );
         wxCFStringRef cfText( msgtext, GetFont().GetEncoding() );
@@ -279,6 +256,8 @@ int wxMessageDialog::ShowModal()
             }
         }
     }
+    
+    SetReturnCode(resultbutton);
 
     return resultbutton;
 }