// headers
// ----------------------------------------------------------------------------
+#include "wx/defs.h"
+
+#ifdef __VMS
+#define XtDisplay XTDISPLAY
+#pragma message disable nosimpint
+#include <wx/vms_x_fix.h>
+#endif
#include <X11/Xlib.h>
#include <Xm/Xm.h>
#include <Xm/MessageB.h>
+#ifdef __VMS
+#pragma message enable nosimpint
+#endif
#include "wx/app.h"
#include "wx/intl.h"
// macros
// ----------------------------------------------------------------------------
-#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
-#endif
// ============================================================================
// implementation
// ----------------------------------------------------------------------------
// 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);
}
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);
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 )
{
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" );