X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7520f3da332d64a676b6f7d27a56004fabf2db36..fb8d7eb7a880f1f2e32d8830f9c5e12b2536e05f:/src/os2/msgdlg.cpp?ds=sidebyside diff --git a/src/os2/msgdlg.cpp b/src/os2/msgdlg.cpp index 7577e564ec..0fb64437af 100644 --- a/src/os2/msgdlg.cpp +++ b/src/os2/msgdlg.cpp @@ -12,15 +12,17 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#include "wx/msgdlg.h" + #ifndef WX_PRECOMP #include #include "wx/utils.h" #include "wx/dialog.h" #include "wx/app.h" - #include "wx/msgdlg.h" #include "wx/math.h" #endif +#include "wx/modalhook.h" #include "wx/os2/private.h" #include @@ -31,20 +33,10 @@ IMPLEMENT_CLASS(wxMessageDialog, wxDialog) -wxMessageDialog::wxMessageDialog( wxWindow* WXUNUSED(pParent), - const wxString& rsMessage, - const wxString& rsCaption, - long lStyle, - const wxPoint& WXUNUSED(pPos) ) -{ - m_sCaption = rsCaption; - m_sMessage = rsMessage; - m_pParent = NULL; // pParent; - SetMessageDialogStyle(lStyle); -} // end of wxMessageDialog::wxMessageDialog - int wxMessageDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + HWND hWnd = 0; ULONG ulStyle = MB_OK; int nAns = wxOK; @@ -62,8 +54,8 @@ 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 (lStyle & wxYES_NO) @@ -84,14 +76,25 @@ int wxMessageDialog::ShowModal() else ulStyle = MB_OK; } - if (lStyle & wxICON_EXCLAMATION) - ulStyle |= MB_ICONEXCLAMATION; - else if (lStyle & wxICON_HAND) - ulStyle |= MB_ICONHAND; - else if (lStyle & wxICON_INFORMATION) - ulStyle |= MB_ICONEXCLAMATION; - else if (lStyle & 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; @@ -108,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)