]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/msgdlg.cpp
Ensure that the default wxWebView backends are registered.
[wxWidgets.git] / src / os2 / msgdlg.cpp
index 740978ee80eea8bc69f20152ff301d5ab212ea7f..0fb64437af16fc44ca3e5943a99cc772bd25fd97 100644 (file)
@@ -1,31 +1,28 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        msgdlg.cpp
+// Name:        src/os2/msgdlg.cpp
 // Purpose:     wxMessageDialog
 // Author:      David Webster
 // Modified by:
 // Created:     10/10/99
-// RCS-ID:      $$
+// RCS-ID:      $Id$
 // Copyright:   (c) David Webster
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "msgdlg.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#ifndef WX_PRECOMP
-#include <stdio.h>
-#include "wx/defs.h"
-#include "wx/utils.h"
-#include "wx/dialog.h"
-#include "wx/app.h"
 #include "wx/msgdlg.h"
-#include "wx/math.h"
+
+#ifndef WX_PRECOMP
+    #include <stdio.h>
+    #include "wx/utils.h"
+    #include "wx/dialog.h"
+    #include "wx/app.h"
+    #include "wx/math.h"
 #endif
 
+#include "wx/modalhook.h"
 #include "wx/os2/private.h"
 
 #include <stdlib.h>
 
 IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
 
-wxMessageDialog::wxMessageDialog(
-  wxWindow*                         pParent
-, const wxString&                   rsMessage
-, const wxString&                   rsCaption
-, long                              lStyle
-, const wxPoint&                    pPos
-)
-{
-    m_sCaption     = rsCaption;
-    m_sMessage     = rsMessage;
-    m_lDialogStyle = lStyle;
-    m_pParent      = NULL; // pParent;
-} // end of wxMessageDialog::wxMessageDialog
-
 int wxMessageDialog::ShowModal()
 {
+    WX_HOOK_MODAL_DIALOG();
+
     HWND                            hWnd = 0;
     ULONG                           ulStyle = MB_OK;
     int                             nAns = wxOK;
+    const long                      lStyle = GetMessageDialogStyle();
 
     if (!wxTheApp->GetTopWindow())
     {
@@ -68,36 +54,47 @@ int wxMessageDialog::ShowModal()
             wxTheApp->Dispatch();
     }
 
-    if (m_pParent)
-        hWnd = (HWND) m_pParent->GetHWND();
+    if (m_parent)
+        hWnd = (HWND) m_parent->GetHWND();
     else
         hWnd = HWND_DESKTOP;
-    if (m_lDialogStyle & wxYES_NO)
+    if (lStyle & wxYES_NO)
     {
-        if (m_lDialogStyle & wxCANCEL)
+        if (lStyle & wxCANCEL)
             ulStyle = MB_YESNOCANCEL;
         else
             ulStyle = MB_YESNO;
 
-        if (m_lDialogStyle & wxNO_DEFAULT)
+        if (lStyle & wxNO_DEFAULT)
             ulStyle |= MB_DEFBUTTON2;
     }
 
-    if (m_lDialogStyle & wxOK)
+    if (lStyle & wxOK)
     {
-        if (m_lDialogStyle & wxCANCEL)
+        if (lStyle & wxCANCEL)
             ulStyle = MB_OKCANCEL;
         else
             ulStyle = MB_OK;
     }
-    if (m_lDialogStyle & wxICON_EXCLAMATION)
-        ulStyle |= MB_ICONEXCLAMATION;
-    else if (m_lDialogStyle & wxICON_HAND)
-        ulStyle |= MB_ICONHAND;
-    else if (m_lDialogStyle & wxICON_INFORMATION)
-        ulStyle |= MB_ICONEXCLAMATION;
-    else if (m_lDialogStyle & wxICON_QUESTION)
-        ulStyle |= MB_ICONQUESTION;
+
+    switch ( GetEffectiveIcon() )
+    {
+        case wxICON_ERROR:
+            ulStyle |= MB_ERROR;
+            break;
+
+        case wxICON_WARNING:
+            ulStyle |= MB_WARNING;
+            break;
+
+        case wxICON_QUESTION:
+            ulStyle |= MB_QUERY;
+            break;
+
+        case wxICON_INFORMATION:
+            ulStyle |= MB_INFORMATION;
+            break;
+    }
 
     if (hWnd != HWND_DESKTOP)
         ulStyle |= MB_APPLMODAL;
@@ -114,8 +111,8 @@ int wxMessageDialog::ShowModal()
 
     ULONG                           ulAns = ::WinMessageBox( hWnd
                                                             ,hWnd
-                                                            ,(PSZ)m_sMessage.c_str()
-                                                            ,(PSZ)m_sCaption.c_str()
+                                                            ,GetFullMessage().c_str()
+                                                            ,m_caption.c_str()
                                                             ,0L
                                                             ,ulStyle);
     switch (ulAns)
@@ -137,4 +134,3 @@ int wxMessageDialog::ShowModal()
     }
     return nAns;
 } // end of wxMessageDialog::ShowModal
-