X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..c017416682938c39547836051c0fad74db45e8a0:/src/os2/msgdlg.cpp diff --git a/src/os2/msgdlg.cpp b/src/os2/msgdlg.cpp index 72cef2ae42..81dc82639f 100644 --- a/src/os2/msgdlg.cpp +++ b/src/os2/msgdlg.cpp @@ -1,33 +1,30 @@ ///////////////////////////////////////////////////////////////////////////// -// 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: wxWidgets licence +// 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 -#include "wx/defs.h" -#include "wx/utils.h" -#include "wx/dialog.h" -#include "wx/app.h" #include "wx/msgdlg.h" + +#ifndef WX_PRECOMP + #include + #include "wx/utils.h" + #include "wx/dialog.h" + #include "wx/app.h" + #include "wx/math.h" #endif +#include "wx/testing.h" #include "wx/os2/private.h" -#include #include #include @@ -36,25 +33,14 @@ 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_TESTING_SHOW_MODAL_HOOK(); + 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 -