X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9eddec696f06d65a80e7339b2fae14fcb55f8383..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/motif/msgdlg.cpp diff --git a/src/motif/msgdlg.cpp b/src/motif/msgdlg.cpp index fe8e598e30..c4b5576dd8 100644 --- a/src/motif/msgdlg.cpp +++ b/src/motif/msgdlg.cpp @@ -21,7 +21,6 @@ #include "wx/wxprec.h" #ifdef __VMS -#define XtDisplay XTDISPLAY #pragma message disable nosimpint #include "wx/vms_x_fix.h" #endif @@ -41,6 +40,7 @@ #include "wx/settings.h" #endif +#include "wx/modalhook.h" #include "wx/motif/private.h" // ---------------------------------------------------------------------------- @@ -99,18 +99,6 @@ static void msgboxCallBackClose(Widget w, // wxMessageDialog // ---------------------------------------------------------------------------- -wxMessageDialog::wxMessageDialog(wxWindow *parent, - const wxString& message, - const wxString& caption, - long style, - const wxPoint& WXUNUSED(pos)) -{ - m_caption = caption; - m_message = message; - m_parent = parent; - SetMessageDialogStyle(style); -} - extern "C" { typedef Widget (*DialogCreateFunction)(Widget, String, ArgList, Cardinal); @@ -118,6 +106,8 @@ extern "C" int wxMessageDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + const long style = GetMessageDialogStyle(); DialogCreateFunction dialogCreateFunction; @@ -160,19 +150,22 @@ int wxMessageDialog::ShowModal() Arg args[10]; int ac = 0; - wxXmString text(m_message); + wxXmString text(GetFullMessage()); wxXmString title(m_caption); XtSetArg(args[ac], XmNmessageString, text()); ac++; XtSetArg(args[ac], XmNdialogTitle, title()); ac++; Display* dpy = XtDisplay(wParent); - wxComputeColours (dpy, & m_backgroundColour, (wxColour*) NULL); + if (m_backgroundColour.IsOk()) + { + wxComputeColours (dpy, & m_backgroundColour, NULL); - XtSetArg(args[ac], XmNbackground, g_itemColors[wxBACK_INDEX].pixel); ac++; - XtSetArg(args[ac], XmNtopShadowColor, g_itemColors[wxTOPS_INDEX].pixel); ac++; - XtSetArg(args[ac], XmNbottomShadowColor, g_itemColors[wxBOTS_INDEX].pixel); ac++; - XtSetArg(args[ac], XmNforeground, g_itemColors[wxFORE_INDEX].pixel); ac++; + XtSetArg(args[ac], XmNbackground, g_itemColors[wxBACK_INDEX].pixel); ac++; + XtSetArg(args[ac], XmNtopShadowColor, g_itemColors[wxTOPS_INDEX].pixel); ac++; + XtSetArg(args[ac], XmNbottomShadowColor, g_itemColors[wxBOTS_INDEX].pixel); ac++; + XtSetArg(args[ac], XmNforeground, g_itemColors[wxFORE_INDEX].pixel); ac++; + } wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);