]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/msgdlg.cpp
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / src / palmos / msgdlg.cpp
index 689982e0d34fea3aed6c22d840501c410bd20288..bde9907eb269863a9ed678ad38ba68604e13992a 100644 (file)
@@ -1,90 +1,68 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        msgdlg.cpp
+// Name:        src/palmos/msgdlg.cpp
 // Purpose:     wxMessageDialog
-// Author:      William Osborne
+// Author:      William Osborne - minimal working wxPalmOS port
 // Modified by:
 // Created:     10/13/04
-// RCS-ID:      $Id
+// RCS-ID:      $Id$
 // Copyright:   (c) William Osborne
 // 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)
-
-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 <Loader.h>
+#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();
+
     // Handle to the currently running application database
     DmOpenRef    AppDB;
     SysGetModuleDatabase(SysGetRefNum(), NULL, &AppDB);
 
     // 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)
+    if (style & wxICON_EXCLAMATION)
         AlertID=AlertID+0; // Warning
-    else if (m_dialogStyle & wxICON_HAND)
+    else if (style & wxICON_HAND)
         AlertID=AlertID+1; // Error
-    else if (m_dialogStyle & wxICON_INFORMATION)
+    else if (style & wxICON_INFORMATION)
         AlertID=AlertID+2; // Information
-    else if (m_dialogStyle & wxICON_QUESTION)
+    else if (style & wxICON_QUESTION)
         AlertID=AlertID+3; // Confirmation
 
     // The Palm OS Dialog API does not support custom titles in a dialog box.
@@ -99,7 +77,7 @@ int wxMessageDialog::ShowModal()
     AlertPtr+=8;
 
     // Clear out any old title.  This must be done with a static array of chars
-    // because using MemSet is not supported on resources and could result in 
+    // because using MemSet is not supported on resources and could result in
     // crashes or unpredictable behaviour.
     char ClearTitle[25]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
     MemMove(AlertPtr,&ClearTitle,25);
@@ -108,20 +86,20 @@ int wxMessageDialog::ShowModal()
     int TitleLength=m_caption.length();
     if(TitleLength>25)
         TitleLength=25;
-    
+
     // Center the title in the window
     int BufferLength=(25-TitleLength)/2;
     AlertPtr+=BufferLength;
 
     // Copy the title
     MemMove(AlertPtr,m_caption.c_str(),TitleLength);
-    
+
     // Release the resource
     MemHandleUnlock(AlertHandle);
     DmReleaseResource(AlertHandle);
 
     // Display the dialog
-    Result=FrmCustomAlert(AppDB,AlertID,m_message.c_str(),"","");
+    Result=FrmCustomAlert(AppDB,AlertID,GetFullMessage().c_str(),"","");
 
     // Convert the Palm OS result to wxResult
     if(AlertID<1100)
@@ -156,6 +134,5 @@ int wxMessageDialog::ShowModal()
             wxResult=wxID_CANCEL;
     }
 
-    return wxResult;    
+    return wxResult;
 }
-