X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe6cf1284497c450735cdeb76cc99de9b18beb5f..8ad31f9dfdb85a54cd080aac6957883f2f3e38e3:/src/common/fldlgcmn.cpp diff --git a/src/common/fldlgcmn.cpp b/src/common/fldlgcmn.cpp index 0dbf1be3a9..76e8b882dc 100644 --- a/src/common/fldlgcmn.cpp +++ b/src/common/fldlgcmn.cpp @@ -4,15 +4,11 @@ // Author: John Labenski // Modified by: // Created: 14.06.03 (extracted from src/*/filedlg.cpp) -// RCS-ID: +// RCS-ID: $Id$ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "filedlg.h" -#endif - #ifdef __BORLANDC__ #pragma hdrstop #endif @@ -37,9 +33,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxFileDialogBase, wxDialog) void wxFileDialogBase::Init() -{ - m_filterIndex = m_dialogStyle = 0; - m_parent = NULL; +{ + m_filterIndex = + m_windowStyle = 0; } bool wxFileDialogBase::Create(wxWindow *parent, @@ -48,7 +44,9 @@ bool wxFileDialogBase::Create(wxWindow *parent, const wxString& defaultFile, const wxString& wildCard, long style, - const wxPoint& WXUNUSED(pos)) + const wxPoint& WXUNUSED(pos), + const wxSize& WXUNUSED(sz), + const wxString& WXUNUSED(name)) { m_message = message; m_dir = defaultDir; @@ -56,9 +54,20 @@ bool wxFileDialogBase::Create(wxWindow *parent, m_wildCard = wildCard; m_parent = parent; - m_dialogStyle = style; + m_windowStyle = style; m_filterIndex = 0; +#ifdef __WXDEBUG__ + // check the given styles + wxASSERT_MSG(HasFlag(wxFD_OPEN) || HasFlag(wxFD_SAVE), wxT("You must specify one of wxFD_OPEN and wxFD_SAVE styles")); + if (HasFlag(wxFD_SAVE)) + wxASSERT_MSG( !HasFlag(wxFD_OPEN) && !HasFlag(wxFD_MULTIPLE) && !HasFlag(wxFD_FILE_MUST_EXIST), + wxT("wxFileDialog - wxFD_OPEN, wxFD_MULTIPLE or wxFD_FILE_MUST_EXIST used on a save dialog" ) ); + if (HasFlag(wxFD_OPEN)) + wxASSERT_MSG( !HasFlag(wxFD_SAVE) && !HasFlag(wxFD_OVERWRITE_PROMPT), + wxT("wxFileDialog - wxFD_SAVE or wxFD_OVERWRITE_PROMPT used on a open dialog" ) ); +#endif + if ( wildCard.empty() || wildCard == wxFileSelectorDefaultWildcardStr ) { m_wildCard = wxString::Format(_("All files (%s)|%s"), @@ -179,24 +188,24 @@ wxString wxFileSelector(const wxChar *title, // if filter is of form "All files (*)|*|..." set correct filter index if((wxStrlen(defaultExtension) != 0) && (filter2.Find(wxT('|')) != wxNOT_FOUND)) - { + { int filterIndex = 0; wxArrayString descriptions, filters; // don't care about errors, handled already by wxFileDialog (void)wxParseCommonDialogsFilter(filter2, descriptions, filters); for (size_t n=0; n 0) fileDialog.SetFilterIndex(filterIndex); - } + } wxString filename; if ( fileDialog.ShowModal() == wxID_OK ) @@ -274,7 +283,7 @@ static wxString wxDefaultFileSelector(bool load, } return wxFileSelector(prompt, NULL, default_name, ext, wild, - load ? wxOPEN : wxSAVE, parent); + load ? wxFD_OPEN : wxFD_SAVE, parent); } //----------------------------------------------------------------------------