implemented SetWildcard()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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 );
|
||||||
|
Reference in New Issue
Block a user