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

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