X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83498ef2b0a77944b3f7f3539b7bef6387c384a0..bb996f289574defb0ae4339ae8e46ff3cf6fa54c:/src/motif/filedlg.cpp diff --git a/src/motif/filedlg.cpp b/src/motif/filedlg.cpp index b9925678ba..57a4970dbe 100644 --- a/src/motif/filedlg.cpp +++ b/src/motif/filedlg.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.cpp +// Name: src/motif/filedlg.cpp // Purpose: wxFileDialog // Author: Julian Smart // Modified by: @@ -9,25 +9,18 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "filedlg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#ifdef __VMS -#define XtDisplay XTDISPLAY -#define XtParent XTPARENT -#define XtWindow XTWINDOW +#include "wx/filedlg.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/app.h" + #include "wx/utils.h" + #include "wx/settings.h" #endif -#include "wx/defs.h" -#include "wx/utils.h" -#include "wx/filedlg.h" -#include "wx/intl.h" -#include "wx/app.h" -#include "wx/settings.h" #include "wx/tokenzr.h" #include "wx/stockitem.h" @@ -95,21 +88,20 @@ void wxFileSelOk(Widget WXUNUSED(fs), XtPointer WXUNUSED(client_data), XmFileSel static wxString ParseWildCard( const wxString& wild ) { -#ifdef __WXDEBUG__ - static const wxChar* msg = - _T("Motif file dialog does not understand this ") - _T("wildcard syntax"); +#if wxDEBUG_LEVEL + static const char *msg = + "Motif file dialog does not understand this wildcard syntax"; #endif wxArrayString wildDescriptions, wildFilters; const size_t count = wxParseCommonDialogsFilter(wild, wildDescriptions, wildFilters); - wxCHECK_MSG( count, _T("*.*"), wxT("wxFileDialog: bad wildcard string") ); - wxCHECK_MSG( count == 1, _T("*.*"), msg ); + wxCHECK_MSG( count, wxT("*.*"), wxT("wxFileDialog: bad wildcard string") ); + wxCHECK_MSG( count == 1, wxT("*.*"), msg ); // check for *.txt;*.rtf - wxStringTokenizer tok2( wildFilters[0], _T(";") ); + wxStringTokenizer tok2( wildFilters[0], wxT(";") ); wxString wildcard = tok2.GetNextToken(); wxCHECK_MSG( tok2.CountTokens() <= 1, wildcard, msg ); @@ -118,10 +110,9 @@ static wxString ParseWildCard( const wxString& wild ) wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, const wxString& defaultDir, const wxString& defaultFileName, const wxString& wildCard, - long style, const wxPoint& pos) - :wxFileDialogBase(parent, message, defaultDir, defaultFileName, wildCard, style, pos) + long style, const wxPoint& pos, const wxSize& sz, const wxString& name) + :wxFileDialogBase(parent, message, defaultDir, defaultFileName, wildCard, style, pos, sz, name) { - m_filterIndex = 1; } static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget) @@ -173,30 +164,31 @@ int wxFileDialog::ShowModal() Arg args[10]; int ac = 0; - 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); - if ( wxFont::GetFontTag() == (WXString) XmNfontList ) - { - XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++; - XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++; - XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++; - } - else - { - XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++; - XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++; - XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++; - } +#if __WXMOTIF20__ && !__WXLESSTIF__ + XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++; + XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++; + XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++; +#else + XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++; + XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++; + XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++; +#endif Widget fileSel = XmCreateFileSelectionDialog(parentWidget, - "file_selector", args, ac); + wxMOTIF_STR("file_selector"), + args, ac); #define wxFSChild( name ) \ XmFileSelectionBoxGetChild(fileSel, name) @@ -235,9 +227,9 @@ int wxFileDialog::ShowModal() Widget shell = XtParent(fileSel); - if (!m_message.IsNull()) + if ( !m_message.empty() ) XtVaSetValues(shell, - XmNtitle, wxConstCast(m_message.c_str(), char), + XmNtitle, (const char*)m_message.mb_str(), NULL); if (!m_wildCard.empty()) @@ -250,7 +242,7 @@ int wxFileDialog::ShowModal() else filter = wildCard; - XmTextSetString(filterWidget, wxConstCast(filter.c_str(), char)); + XmTextSetString(filterWidget, filter.char_str()); XmFileSelectionDoSearch(fileSel, NULL); } @@ -278,8 +270,7 @@ int wxFileDialog::ShowModal() if (!entirePath.empty()) { - XmTextSetString(selectionWidget, - wxConstCast(entirePath.c_str(), char)); + XmTextSetString(selectionWidget, entirePath.char_str()); } XtAddCallback(fileSel, XmNcancelCallback,