+ m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
+ m_foregroundColour = *wxBLACK;
+
+ Widget dialogShell = (Widget) m_mainWidget;
+ Widget shell = XtParent(dialogShell) ;
+
+ SetTitle( title );
+
+ m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ ChangeFont(false);
+
+ // Can't remember what this was about... but I think it's necessary.
+ if (wxUSE_INVISIBLE_RESIZE)
+ {
+ if (pos.x > -1)
+ XtVaSetValues(dialogShell, XmNx, pos.x,
+ NULL);
+ if (pos.y > -1)
+ XtVaSetValues(dialogShell, XmNy, pos.y,
+ NULL);
+
+ if (size.x > -1)
+ XtVaSetValues(dialogShell, XmNwidth, size.x, NULL);
+ if (size.y > -1)
+ XtVaSetValues(dialogShell, XmNheight, size.y, NULL);
+ }
+
+ // Positioning of the dialog doesn't work properly unless the dialog
+ // is managed, so we manage without mapping to the screen.
+ // To show, we map the shell (actually it's parent).
+ if (!wxUSE_INVISIBLE_RESIZE)
+ XtVaSetValues(shell, XmNmappedWhenManaged, False, NULL);
+
+ if (!wxUSE_INVISIBLE_RESIZE)
+ {
+ XtManageChild(dialogShell);
+ SetSize(pos.x, pos.y, size.x, size.y);
+ }
+ XtAddEventHandler(dialogShell,ExposureMask,False,
+ wxUniversalRepaintProc, (XtPointer) this);