implemented SetWildcard()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-10-15 22:55:13 +00:00
parent f1d9e1ec6b
commit b4cfe261db
3 changed files with 27 additions and 13 deletions

View File

@@ -214,6 +214,11 @@ Unix:
- wxPuts() now correctly outputs trailing new line in Unicode build - wxPuts() now correctly outputs trailing new line in Unicode build
wxGTK:
- fixed wxFileDialog::SetWildcard()
2.5.3 2.5.3
----- -----

View File

@@ -59,6 +59,7 @@ public:
virtual void SetMessage(const wxString& message) { SetTitle(message); } virtual void SetMessage(const wxString& message) { SetTitle(message); }
virtual void SetPath(const wxString& path); virtual void SetPath(const wxString& path);
virtual void SetFilterIndex(int filterIndex); virtual void SetFilterIndex(int filterIndex);
virtual void SetWildcard(const wxString& wildCard);
// for multiple file selection // for multiple file selection
virtual void GetPaths(wxArrayString& paths) const; virtual void GetPaths(wxArrayString& paths) const;

View File

@@ -903,13 +903,6 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
m_path += defaultFile; m_path += defaultFile;
m_filterExtension = wxEmptyString; m_filterExtension = wxEmptyString;
// interpret wildcards
wxArrayString wildDescriptions, wildFilters;
if ( !wxParseCommonDialogsFilter(m_wildCard, wildDescriptions, wildFilters) )
{
wxFAIL_MSG( wxT("Wrong file type description") );
}
// layout // layout
bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
@@ -978,7 +971,7 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
style2 |= wxLC_SINGLE_SEL; style2 |= wxLC_SINGLE_SEL;
m_list = new wxFileCtrl( this, ID_LIST_CTRL, m_list = new wxFileCtrl( this, ID_LIST_CTRL,
wildFilters[0], ms_lastShowHidden, _T(""), ms_lastShowHidden,
wxDefaultPosition, wxSize(540,200), wxDefaultPosition, wxSize(540,200),
style2); style2);
@@ -1021,11 +1014,7 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
mainsizer->Add( choicesizer, 0, wxEXPAND ); mainsizer->Add( choicesizer, 0, wxEXPAND );
} }
for (size_t n=0; n<wildFilters.GetCount(); n++) SetWildcard(wildCard);
{
m_choice->Append( wildDescriptions[n], (void*) new wxString( wildFilters[n] ) );
}
SetFilterIndex( 0 );
SetAutoLayout( true ); SetAutoLayout( true );
SetSizer( mainsizer ); SetSizer( mainsizer );
@@ -1093,6 +1082,25 @@ void wxGenericFileDialog::DoSetFilterIndex(int filterindex)
} }
} }
void wxGenericFileDialog::SetWildcard(const wxString& wildCard)
{
wxFileDialogBase::SetWildcard(wildCard);
wxArrayString wildDescriptions, wildFilters;
const size_t count = wxParseCommonDialogsFilter(m_wildCard,
wildDescriptions,
wildFilters);
wxCHECK_RET( count, wxT("wxFileDialog: bad wildcard string") );
m_choice->Clear();
for ( size_t n = 0; n < count; n++ )
{
m_choice->Append( wildDescriptions[n], new wxString( wildFilters[n] ) );
}
SetFilterIndex( 0 );
}
void wxGenericFileDialog::SetFilterIndex( int filterindex ) void wxGenericFileDialog::SetFilterIndex( int filterindex )
{ {
m_choice->SetSelection( filterindex ); m_choice->SetSelection( filterindex );