X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af111fc33841cc8bdc4d6cf027702805333bdd2a..069d0f27ef7d87fd337e6baad1c5f4c7223ed693:/src/motif/msgdlg.cpp diff --git a/src/motif/msgdlg.cpp b/src/motif/msgdlg.cpp index dfae188d3e..a6fe3c311f 100644 --- a/src/motif/msgdlg.cpp +++ b/src/motif/msgdlg.cpp @@ -21,10 +21,16 @@ // headers // ---------------------------------------------------------------------------- +#ifdef __VMS +#pragma message disable nosimpint +#endif #include #include #include +#ifdef __VMS +#pragma message enable nosimpint +#endif #include "wx/app.h" #include "wx/intl.h" @@ -35,9 +41,7 @@ // macros // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxMessageDialog, wxDialog) -#endif // ============================================================================ // implementation @@ -48,7 +52,7 @@ // ---------------------------------------------------------------------------- // the common part -static void msgboxCallBack(Widget w, int client_data, int id) +static void msgboxCallBack(Widget w, void* client_data, int id) { // close the dialog XtUnmanageChild(w); @@ -58,28 +62,28 @@ static void msgboxCallBack(Widget w, int client_data, int id) } static void msgboxCallBackOk(Widget w, - int client_data, + void* client_data, XmAnyCallbackStruct *WXUNUSED(call_data)) { msgboxCallBack(w, client_data, wxID_OK); } static void msgboxCallBackCancel(Widget w, - int client_data, + void* client_data, XmAnyCallbackStruct *WXUNUSED(call_data)) { msgboxCallBack(w, client_data, wxID_CANCEL); } static void msgboxCallBackHelp(Widget w, - int client_data, + void* client_data, XmAnyCallbackStruct *WXUNUSED(call_data)) { msgboxCallBack(w, client_data, wxID_HELP); } static void msgboxCallBackClose(Widget w, - int client_data, + void* client_data, XmAnyCallbackStruct *WXUNUSED(call_data)) { msgboxCallBack(w, client_data, wxID_CANCEL); @@ -125,16 +129,6 @@ int wxMessageDialog::ShowModal() dialogCreateFunction = XmCreateInformationDialog; } - // prepare the arg list - Arg args[2]; - int ac = 0; - - wxXmString text(m_message); - wxXmString title(m_caption); - XtSetArg(args[ac], XmNmessageString, text()); ac++; - XtSetArg(args[ac], XmNdialogTitle, title()); ac++; - - // do create message box Widget wParent = m_parent ? GetWidget(m_parent) : (Widget) 0; if ( !wParent ) { @@ -149,6 +143,25 @@ int wxMessageDialog::ShowModal() wParent = GetWidget(window); } + // prepare the arg list + Arg args[10]; + int ac = 0; + + wxXmString text(m_message); + wxXmString title(m_caption); + XtSetArg(args[ac], XmNmessageString, text()); ac++; + XtSetArg(args[ac], XmNdialogTitle, title()); ac++; + + wxComputeColours (XtDisplay(wParent), & m_backgroundColour, + (wxColour*) 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++; + + // do create message box + Widget wMsgBox = (*dialogCreateFunction)(wParent, "", args, ac); wxCHECK_MSG( wMsgBox, wxID_CANCEL, "msg box creation failed" );