]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/msgdlg.cpp
no changes
[wxWidgets.git] / src / mac / msgdlg.cpp
index f19da7bb4f12ee6fb0c10b4e5d168cc8bfdb593e..064d9bbba6076aa4a82ad3e515eadc4f0e06e217 100644 (file)
 #pragma implementation "msgdlg.h"
 #endif
 
+#include "wx/app.h"
 #include "wx/msgdlg.h"
 #include "wx/mac/uma.h"
 
+#if !USE_SHARED_LIBRARY
 IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
+#endif
 
 #define kMacOKAlertResourceID 128
 #define kMacYesNoAlertResourceID 129
@@ -69,12 +72,38 @@ int wxMessageDialog::ShowModal()
        short result ;
        Str255 pascalTitle ;
        Str255 pascalText ;
+       char   cText[256] ;
        
-       strcpy( (char*) pascalTitle , m_caption ) ;
-       c2pstr( (char*) pascalTitle ) ;
-       strcpy( (char*) pascalText , m_message ) ;
-       wxMacConvertNewlines( (char*)pascalText ,(char*) pascalText) ;
-       c2pstr( (char*) pascalText ) ;
+       if (wxApp::s_macDefaultEncodingIsPC)
+       {
+#if TARGET_CARBON
+               c2pstrcpy( (StringPtr) pascalTitle , wxMacMakeMacStringFromPC( m_caption ) ) ;
+#else
+               strcpy( (char *) pascalTitle , wxMacMakeMacStringFromPC( m_caption ) ) ;
+               c2pstr( (char *) pascalTitle ) ;
+#endif
+               strcpy(cText , wxMacMakeMacStringFromPC( m_message) ) ;
+       }
+       else
+       {
+#if TARGET_CARBON
+               c2pstrcpy( (StringPtr) pascalTitle , m_caption ) ;
+#else
+               strcpy( (char *) pascalTitle , m_caption ) ;
+               c2pstr( (char *) pascalTitle ) ;
+#endif
+               strcpy( cText , m_message ) ;
+       }
+
+       wxMacConvertNewlines( cText , cText ) ;
+#if TARGET_CARBON
+       c2pstrcpy( (StringPtr) pascalText , cText ) ;
+#else
+       strcpy( (char *) pascalText , cText ) ;
+       c2pstr( (char *) pascalText ) ;
+#endif
+
+       wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , "this style is not supported on mac" ) ;
 
        if ( !UMAHasAppearance() )
        {