]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/msgdlg.cpp
Virtualize StartEditor and add implementations for the ports that can do it.
[wxWidgets.git] / src / palmos / msgdlg.cpp
index e06a12c1268be39ecc49b1ab226adbaebffb7112..29bbb0e56a7db79e6704038f0a802df1342a8d24 100644 (file)
@@ -9,83 +9,79 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "msgdlg.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
 #ifndef WX_PRECOMP
     #include "wx/app.h"
-    #include "wx/defs.h"
     #include "wx/utils.h"
     #include "wx/dialog.h"
     #include "wx/msgdlg.h"
 #endif
 
-IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
+#ifdef __WXPALMOS6__
+#include <Loader.h>
+#else // __WXPALMOS5__
+#include <UIResources.h> // alertRscType
+#endif
 
-wxMessageDialog::wxMessageDialog(wxWindow *parent,
-                                 const wxString& message,
-                                 const wxString& caption,
-                                 long style,
-                                 const wxPoint& WXUNUSED(pos))
-{
-#ifdef __WXDEBUG__
-    // check for common programming errors
-    if ( (style & wxID_OK) == wxID_OK )
-    {
-        // programmer probably confused wxID_OK with wxOK. Correct one is wxOK.
-        wxFAIL_MSG( _T("wxMessageBox: Did you mean wxOK (and not wxID_OK)?") );
-    }
-#endif // __WXDEBUG__
+#include <Form.h>
 
-    m_caption = caption;
-    m_message = message;
-    m_dialogStyle = style;
-    m_parent = parent;
-}
+IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
 
 int wxMessageDialog::ShowModal()
 {
     int AlertID=1000;
     int Result=0;
     int wxResult=wxID_OK;
+    const long style = GetMessageDialogStyle();
 
+#ifdef __WXPALMOS6__
     // Handle to the currently running application database
     DmOpenRef    AppDB;
     SysGetModuleDatabase(SysGetRefNum(), NULL, &AppDB);
+#endif // __WXPALMOS6__
 
     // Translate wx styles into Palm OS styles
-    if (m_dialogStyle & wxYES_NO)
+    if (style & wxYES_NO)
     {
-        if (m_dialogStyle & wxCANCEL)
+        if (style & wxCANCEL)
             AlertID=1300; // Yes No Cancel
         else
             AlertID=1200; // Yes No
     }
-    if (m_dialogStyle & wxOK)
+    if (style & wxOK)
     {
-        if (m_dialogStyle & wxCANCEL)
+        if (style & wxCANCEL)
             AlertID=1100; // Ok Cancel
         else
             AlertID=1000; // Ok
     }
 
     // Add the icon styles
-    if (m_dialogStyle & wxICON_EXCLAMATION)
-        AlertID=AlertID+0; // Warning
-    else if (m_dialogStyle & wxICON_HAND)
-        AlertID=AlertID+1; // Error
-    else if (m_dialogStyle & wxICON_INFORMATION)
-        AlertID=AlertID+2; // Information
-    else if (m_dialogStyle & wxICON_QUESTION)
-        AlertID=AlertID+3; // Confirmation
+    switch ( GetEffectiveIcon() )
+    {
+        case wxICON_ERROR:
+            AlertID = AlertID + 1;
+            break;
+
+        case wxICON_WARNING:
+            AlertID = AlertID + 0;
+            break;
+
+        case wxICON_QUESTION:
+            AlertID = AlertID + 3;
+            break;
+
+        case wxICON_NONE:
+        case wxICON_INFORMATION:
+            AlertID = AlertID + 2;
+            break;
+    }
 
     // The Palm OS Dialog API does not support custom titles in a dialog box.
     // So we have to set the title by manipulating the resource.
@@ -93,7 +89,7 @@ int wxMessageDialog::ShowModal()
     // Get the alert resource
     char *AlertPtr;
     MemHandle AlertHandle;
-    AlertHandle=DmGetResource(AppDB,'Talt',AlertID);
+    AlertHandle = POS_DmGetResource (AppDB, alertRscType, AlertID);
 
     AlertPtr=(char *)MemHandleLock(AlertHandle);
     AlertPtr+=8;
@@ -121,7 +117,7 @@ int wxMessageDialog::ShowModal()
     DmReleaseResource(AlertHandle);
 
     // Display the dialog
-    Result=FrmCustomAlert(AppDB,AlertID,m_message.c_str(),"","");
+    Result = POS_FrmCustomAlert (AppDB, AlertID, m_message.c_str(), "", "");
 
     // Convert the Palm OS result to wxResult
     if(AlertID<1100)
@@ -158,4 +154,3 @@ int wxMessageDialog::ShowModal()
 
     return wxResult;
 }
-