X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dfe1eee3bb9ecde8c4490ea69c07b5030d69530c..d6ddcd574bce0167851aef142be1f9722c694654:/src/motif/filedlg.cpp diff --git a/src/motif/filedlg.cpp b/src/motif/filedlg.cpp index bb2daaa3cb..afbaa2d710 100644 --- a/src/motif/filedlg.cpp +++ b/src/motif/filedlg.cpp @@ -13,6 +13,12 @@ #pragma implementation "filedlg.h" #endif +#ifdef __VMS +#define XtDisplay XTDISPLAY +#define XtParent XTPARENT +#define XtWindow XTWINDOW +#endif + #include "wx/defs.h" #include "wx/utils.h" #include "wx/dialog.h" @@ -21,6 +27,9 @@ #include "wx/app.h" #include "wx/settings.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include #include #include @@ -31,10 +40,13 @@ #include #include #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif + +#include "wx/motif/private.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxFileDialog, wxDialog) -#endif #define DEFAULT_FILE_SELECTOR_SIZE 0 // Let Motif defines the size of File @@ -143,7 +155,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, m_pos = pos; } -static void wxChangeListBoxColours(wxWindow* win, Widget widget) +static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget) { wxWindow::DoChangeBackgroundColour((WXWidget) widget, *wxWHITE); @@ -187,8 +199,20 @@ int wxFileDialog::ShowModal() } else parentWidget = (Widget) wxTheApp->GetTopLevelWidget(); + // prepare the arg list + Arg args[10]; + int ac = 0; - Widget fileSel = XmCreateFileSelectionDialog(parentWidget, "file_selector", NULL, 0); + wxComputeColours (XtDisplay(parentWidget), & 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++; + + + Widget fileSel = XmCreateFileSelectionDialog(parentWidget, "file_selector", args, ac); XtUnmanageChild(XmFileSelectionBoxGetChild(fileSel, XmDIALOG_HELP_BUTTON)); Widget filterWidget = XmFileSelectionBoxGetChild(fileSel, XmDIALOG_FILTER_TEXT); @@ -273,17 +297,10 @@ int wxFileDialog::ShowModal() XmNresizePolicy, XmRESIZE_NONE, NULL); #endif - DoChangeBackgroundColour((WXWidget) fileSel, m_backgroundColour); + // DoChangeBackgroundColour((WXWidget) fileSel, m_backgroundColour); DoChangeBackgroundColour((WXWidget) filterWidget, *wxWHITE); DoChangeBackgroundColour((WXWidget) selectionWidget, *wxWHITE); - // apparently, this provokes a crash -#if 0 - DoChangeBackgroundColour((WXWidget) okWidget, m_backgroundColour, TRUE); - DoChangeBackgroundColour((WXWidget) cancelWidget, m_backgroundColour, TRUE); - DoChangeBackgroundColour((WXWidget) applyWidget, m_backgroundColour, TRUE); -#endif - wxChangeListBoxColours(this, dirListWidget); wxChangeListBoxColours(this, fileListWidget);