#include "wx/wxprec.h"
#ifdef __VMS
-#define XtDisplay XTDISPLAY
#pragma message disable nosimpint
#include "wx/vms_x_fix.h"
#endif
#ifndef WX_PRECOMP
#include "wx/intl.h"
+ #include "wx/app.h"
+ #include "wx/settings.h"
#endif
-#include "wx/app.h"
+#include "wx/modalhook.h"
#include "wx/motif/private.h"
-#include "wx/settings.h"
// ----------------------------------------------------------------------------
// macros
// 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);
int wxMessageDialog::ShowModal()
{
+ WX_HOOK_MODAL_DIALOG();
+
const long style = GetMessageDialogStyle();
DialogCreateFunction dialogCreateFunction;
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);