added multiple selections support to wxDirCtrl (closes #10830)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-06-06 14:00:51 +00:00
parent 608129e541
commit 80f624ec0c
5 changed files with 146 additions and 9 deletions

View File

@@ -133,7 +133,9 @@ protected:
wxCheckBox *m_chkDirOnly,
*m_chk3D,
*m_chkFirst,
*m_chkLabels;
*m_chkLabels,
*m_chkMulti;
// filters
wxCheckBox *m_fltr[3];
@@ -185,6 +187,7 @@ void DirCtrlWidgetsPage::CreateContent()
m_chk3D = CreateCheckBoxAndAddToSizer(sizerUseFlags, _T("wxDIRCTRL_3D_INTERNAL"));
m_chkFirst = CreateCheckBoxAndAddToSizer(sizerUseFlags, _T("wxDIRCTRL_SELECT_FIRST"));
m_chkLabels = CreateCheckBoxAndAddToSizer(sizerUseFlags, _T("wxDIRCTRL_EDIT_LABELS"));
m_chkMulti = CreateCheckBoxAndAddToSizer(sizerUseFlags, _T("wxDIRCTRL_MULTIPLE"));
sizerLeft->Add(sizerUseFlags, wxSizerFlags().Expand().Border());
wxSizer *sizerFilters =
@@ -245,13 +248,14 @@ void DirCtrlWidgetsPage::CreateDirCtrl()
( m_chkDirOnly->IsChecked() ? wxDIRCTRL_DIR_ONLY : 0 ) |
( m_chk3D->IsChecked() ? wxDIRCTRL_3D_INTERNAL : 0 ) |
( m_chkFirst->IsChecked() ? wxDIRCTRL_SELECT_FIRST : 0 ) |
( m_chkLabels->IsChecked() ? wxDIRCTRL_EDIT_LABELS : 0 )
( m_chkLabels->IsChecked() ? wxDIRCTRL_EDIT_LABELS : 0 ) |
( m_chkMulti->IsChecked() ? wxDIRCTRL_MULTIPLE : 0)
);
wxString filter;
for (int i = 0; i < 3; ++i)
for (int i = 0; i < 3; ++i)
{
if (m_fltr[i]->IsChecked())
if (m_fltr[i]->IsChecked())
{
if (!filter.IsEmpty())
filter += wxT("|");