X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3d1a4878f36ba4b5f66c2ccfd2cb27a9dc528b6f..56d74412d9bc8d61c389ddb3919f2a03e610a376:/src/mac/carbon/msgdlg.cpp diff --git a/src/mac/carbon/msgdlg.cpp b/src/mac/carbon/msgdlg.cpp index e0f43288d4..8e89a56809 100644 --- a/src/mac/carbon/msgdlg.cpp +++ b/src/mac/carbon/msgdlg.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msgdlg.cpp +// Name: src/mac/carbon/msgdlg.cpp // Purpose: wxMessageDialog // Author: Stefan Csomor // Modified by: // Created: 04/01/98 -// RCS-ID: $$ +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) @@ -20,62 +20,62 @@ #include "wx/intl.h" #include "wx/mac/uma.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxMessageDialog, wxDialog) -#endif wxMessageDialog::wxMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption, long style, const wxPoint& pos) { m_caption = caption; m_message = message; - m_dialogStyle = style; m_parent = parent; + SetMessageDialogStyle(style); } int wxMessageDialog::ShowModal() { int resultbutton = wxID_CANCEL ; - + short result ; - - wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , wxT("this style is not supported on mac") ) ; - + + const long style = GetMessageDialogStyle(); + + wxASSERT_MSG( ( style & 0x3F ) != wxYES , wxT("this style is not supported on mac") ) ; + AlertType alertType = kAlertPlainAlert ; - if (m_dialogStyle & wxICON_EXCLAMATION) + if (style & wxICON_EXCLAMATION) alertType = kAlertNoteAlert ; - else if (m_dialogStyle & wxICON_HAND) + else if (style & wxICON_HAND) alertType = kAlertStopAlert ; - else if (m_dialogStyle & wxICON_INFORMATION) + else if (style & wxICON_INFORMATION) alertType = kAlertNoteAlert ; - else if (m_dialogStyle & wxICON_QUESTION) + else if (style & wxICON_QUESTION) alertType = kAlertCautionAlert ; - + #if TARGET_CARBON if ( UMAGetSystemVersion() >= 0x1000 ) { AlertStdCFStringAlertParamRec param ; wxMacCFStringHolder cfNoString(_("No") , m_font.GetEncoding()) ; wxMacCFStringHolder cfYesString( _("Yes") , m_font.GetEncoding()) ; - + wxMacCFStringHolder cfTitle(m_caption , m_font.GetEncoding()); wxMacCFStringHolder cfText(m_message , m_font.GetEncoding()); - + param.movable = true; param.flags = 0 ; param.version = kStdCFStringAlertVersionOne ; - + bool skipDialog = false ; - - if (m_dialogStyle & wxYES_NO) + + if (style & wxYES_NO) { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { param.defaultText = cfYesString ; param.cancelText = (CFStringRef) kAlertDefaultCancelText; param.otherText = cfNoString ; param.helpButton = false ; - param.defaultButton = m_dialogStyle & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; + param.defaultButton = style & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; param.cancelButton = kAlertStdAlertCancelButton; } else @@ -84,14 +84,14 @@ int wxMessageDialog::ShowModal() param.cancelText = NULL; param.otherText = cfNoString ; param.helpButton = false ; - param.defaultButton = m_dialogStyle & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; + param.defaultButton = style & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; param.cancelButton = 0; } } // the msw implementation even shows an ok button if it is not specified, we'll do the same - else + else { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { // thats a cancel missing param.defaultText = (CFStringRef) kAlertDefaultOKText ; @@ -117,7 +117,7 @@ int wxMessageDialog::ShowModal() skipDialog = true ; } */ - + param.position = kWindowDefaultPosition; if ( !skipDialog ) { @@ -125,29 +125,29 @@ int wxMessageDialog::ShowModal() CreateStandardAlert( alertType , cfTitle , cfText , ¶m , &alertRef ) ; RunStandardAlert( alertRef , NULL , &result ) ; } - if ( skipDialog ) + if ( skipDialog ) return wxID_CANCEL ; } else #endif { AlertStdAlertParamRec param; - + Str255 yesPString ; Str255 noPString ; - + Str255 pascalTitle ; Str255 pascalText ; wxMacStringToPascal( m_caption , pascalTitle ) ; wxMacStringToPascal( _("Yes") , yesPString ) ; wxMacStringToPascal( _("No") , noPString ) ; wxMacStringToPascal( m_message , pascalText ) ; - + param.movable = true; param.filterProc = NULL ; - if (m_dialogStyle & wxYES_NO) + if (style & wxYES_NO) { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { param.defaultText = yesPString ; param.cancelText = (StringPtr) kAlertDefaultCancelText; @@ -166,9 +166,9 @@ int wxMessageDialog::ShowModal() param.cancelButton = 0; } } - else if (m_dialogStyle & wxOK) + else if (style & wxOK) { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { param.defaultText = (StringPtr) kAlertDefaultOKText ; param.cancelText = (StringPtr) kAlertDefaultCancelText ; @@ -191,15 +191,15 @@ int wxMessageDialog::ShowModal() { return resultbutton ; } - + param.position = 0; - + StandardAlert( alertType, pascalTitle, pascalText, ¶m, &result ); } - - if (m_dialogStyle & wxOK) + + if (style & wxOK) { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { //TODO add Cancelbutton switch( result ) @@ -227,9 +227,9 @@ int wxMessageDialog::ShowModal() } } } - else if (m_dialogStyle & wxYES_NO) + else if (style & wxYES_NO) { - if (m_dialogStyle & wxCANCEL) + if (style & wxCANCEL) { switch( result ) { @@ -258,8 +258,8 @@ int wxMessageDialog::ShowModal() break ; } } - } - + } + return resultbutton ; }