// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#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
#include "wx/defs.h"
#include "wx/utils.h"
-#include "wx/dialog.h"
#include "wx/filedlg.h"
#include "wx/intl.h"
#include "wx/app.h"
#include "wx/motif/private.h"
-IMPLEMENT_CLASS(wxFileDialog, wxDialog)
+IMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase)
#define DEFAULT_FILE_SELECTOR_SIZE 0
// Let Motif defines the size of File
wxString wxFileDialog::m_fileSelectorAnswer = "";
-bool wxFileDialog::m_fileSelectorReturned = FALSE;
+bool wxFileDialog::m_fileSelectorReturned = false;
static void wxFileSelClose(Widget WXUNUSED(w),
void* WXUNUSED(client_data),
XmAnyCallbackStruct *WXUNUSED(call_data))
{
wxFileDialog::m_fileSelectorAnswer = "";
- wxFileDialog::m_fileSelectorReturned = TRUE;
+ wxFileDialog::m_fileSelectorReturned = true;
}
void wxFileSelCancel( Widget WXUNUSED(fs), XtPointer WXUNUSED(client_data),
XmFileSelectionBoxCallbackStruct *WXUNUSED(cbs) )
{
wxFileDialog::m_fileSelectorAnswer = "";
- wxFileDialog::m_fileSelectorReturned = TRUE;
+ wxFileDialog::m_fileSelectorReturned = true;
}
void wxFileSelOk(Widget WXUNUSED(fs), XtPointer WXUNUSED(client_data), XmFileSelectionBoxCallbackStruct *cbs)
char *filename = NULL;
if (!XmStringGetLtoR(cbs->value, XmSTRING_DEFAULT_CHARSET, &filename)) {
wxFileDialog::m_fileSelectorAnswer = "";
- wxFileDialog::m_fileSelectorReturned = TRUE;
+ wxFileDialog::m_fileSelectorReturned = true;
} else {
if (filename) {
wxFileDialog::m_fileSelectorAnswer = filename;
XtFree(filename);
}
- wxFileDialog::m_fileSelectorReturned = TRUE;
+ wxFileDialog::m_fileSelectorReturned = true;
}
}
_T("wildcard syntax");
#endif
- wxStringTokenizer tok( wild, _T("|") );
-
- wxCHECK_MSG( tok.CountTokens() <= 2, _T("*.*"), msg );
-
- if( tok.CountTokens() == 1 ) return wild;
+ 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 );
- // CountTokens == 2
- tok.GetNextToken();
- wxStringTokenizer tok2( tok.GetNextToken(), _T(";") );
+ // check for *.txt;*.rtf
+ wxStringTokenizer tok2( wildFilters[0], _T(";") );
+ wxString wildcard = tok2.GetNextToken();
- wxCHECK_MSG( tok2.CountTokens() == 1, tok2.GetNextToken(), msg );
- return tok2.GetNextToken();
+ wxCHECK_MSG( tok2.CountTokens() <= 1, wildcard, msg );
+ return wildcard;
}
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)
{
- m_message = message;
- m_dialogStyle = style;
- m_parent = parent;
- m_path = "";
- m_fileName = defaultFileName;
- m_dir = defaultDir;
- m_wildCard = wildCard;
m_filterIndex = 1;
- m_pos = pos;
}
static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget)
// Change colour of the scrolled areas of the listboxes
Widget listParent = XtParent (widget);
#if 0
- wxDoChangeBackgroundColour((WXWidget) listParent, *wxWHITE, TRUE);
+ wxDoChangeBackgroundColour((WXWidget) listParent, *wxWHITE, true);
#endif
Widget hsb = (Widget) 0;
* function to change them (by default, taken from wxSystemSettings)
*/
wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
- wxDoChangeBackgroundColour((WXWidget) hsb, backgroundColour, TRUE);
- wxDoChangeBackgroundColour((WXWidget) vsb, backgroundColour, TRUE);
+ wxDoChangeBackgroundColour((WXWidget) hsb, backgroundColour, true);
+ wxDoChangeBackgroundColour((WXWidget) vsb, backgroundColour, true);
if (hsb)
XtVaSetValues (hsb,
XtManageChild(fileSel);
m_fileSelectorAnswer = "";
- m_fileSelectorReturned = FALSE;
+ m_fileSelectorReturned = false;
wxEndBusyCursor();
- XtAddGrab(XtParent(fileSel), TRUE, FALSE);
+ XtAddGrab(XtParent(fileSel), True, False);
XtAppContext context = (XtAppContext) wxTheApp->GetAppContext();
XEvent event;
while (!m_fileSelectorReturned)