X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af111fc33841cc8bdc4d6cf027702805333bdd2a..19e30148e18cc99296b26503c155e5cef59045f4:/src/motif/filedlg.cpp diff --git a/src/motif/filedlg.cpp b/src/motif/filedlg.cpp index 01b763e48d..91f301028c 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 @@ -161,7 +173,7 @@ static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget) /* TODO: should scrollbars be affected? Should probably have separate * function to change them (by default, taken from wxSystemSettings) */ - wxColour backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE); + wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); wxWindow::DoChangeBackgroundColour((WXWidget) hsb, backgroundColour, TRUE); wxWindow::DoChangeBackgroundColour((WXWidget) vsb, backgroundColour, TRUE); @@ -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);