/////////////////////////////////////////////////////////////////////////////
-// Name: src/mac/carbon/msgdlg.cpp
+// Name: src/osx/carbon/msgdlg.cpp
// Purpose: wxMessageDialog
// Author: Stefan Csomor
// Modified by:
#endif
#include "wx/thread.h"
-#include "wx/mac/uma.h"
+#include "wx/osx/uma.h"
IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
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()
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
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 */ };
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() );
}
}
}
+
+ SetReturnCode(resultbutton);
return resultbutton;
}