From: Julian Smart Date: Sun, 1 Jun 2003 15:48:42 +0000 (+0000) Subject: Applied patch [ 623187 ] virtual methods and new AppendItem X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/22328fa444e2fc9a1b762ab1b3950c3c49b502db Applied patch [ 623187 ] virtual methods and new AppendItem git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/generic/dirctrlg.h b/include/wx/generic/dirctrlg.h index 518749de47..977b5396a7 100644 --- a/include/wx/generic/dirctrlg.h +++ b/include/wx/generic/dirctrlg.h @@ -163,9 +163,13 @@ public: virtual void ReCreateTree(); protected: - void ExpandDir(wxTreeItemId parentId); - void CollapseDir(wxTreeItemId parentId); - void AddSection(const wxString& path, const wxString& name, int imageId = 0); + virtual void ExpandDir(wxTreeItemId parentId); + virtual void CollapseDir(wxTreeItemId parentId); + virtual const wxTreeItemId AddSection(const wxString& path, const wxString& name, int imageId = 0); + virtual wxTreeItemId AppendItem (const wxTreeItemId & parent, + const wxString & text, + int image = -1, int selectedImage = -1, + wxTreeItemData * data = NULL); //void FindChildFiles(wxTreeItemId id, int dirFlags, wxArrayString& filenames); // Extract description and actual filter from overall filter string diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index cc8d6c55fd..566662567f 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -529,13 +529,16 @@ void wxGenericDirCtrl::ShowHidden( bool show ) SetPath(path); } -void wxGenericDirCtrl::AddSection(const wxString& path, const wxString& name, int imageId) +const wxTreeItemId +wxGenericDirCtrl::AddSection(const wxString& path, const wxString& name, int imageId) { wxDirItemData *dir_item = new wxDirItemData(path,name,TRUE); - wxTreeItemId id = m_treeCtrl->AppendItem( m_rootId, name, imageId, -1, dir_item); + wxTreeItemId id = AppendItem( m_rootId, name, imageId, -1, dir_item); m_treeCtrl->SetItemHasChildren(id); + + return id; } void wxGenericDirCtrl::SetupSections() @@ -755,7 +758,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) path += eachFilename; wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,TRUE); - wxTreeItemId id = m_treeCtrl->AppendItem( parentId, eachFilename, + wxTreeItemId id = AppendItem( parentId, eachFilename, wxFileIconsTable::folder, -1, dir_item); m_treeCtrl->SetItemImage( id, wxFileIconsTable::folder_open, wxTreeItemIcon_Expanded ); @@ -787,7 +790,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) int image_id = wxFileIconsTable::file; if (eachFilename.Find(wxT('.')) != wxNOT_FOUND) image_id = wxTheFileIconsTable->GetIconID(eachFilename.AfterLast(wxT('.'))); - (void)m_treeCtrl->AppendItem( parentId, eachFilename, image_id, -1, dir_item); + (void) AppendItem( parentId, eachFilename, image_id, -1, dir_item); } } } @@ -1102,6 +1105,26 @@ void wxGenericDirCtrl::OnSize(wxSizeEvent& WXUNUSED(event)) DoResize(); } +wxTreeItemId wxGenericDirCtrl::AppendItem (const wxTreeItemId & parent, + const wxString & text, + int image, int selectedImage, + wxTreeItemData * data) +{ + wxTreeCtrl *treeCtrl = GetTreeCtrl (); + + wxASSERT (treeCtrl); + + if (treeCtrl) + { + return treeCtrl->AppendItem (parent, text, image, selectedImage, data); + } + else + { + return wxTreeItemId(); + } +} + + //----------------------------------------------------------------------------- // wxDirFilterListCtrl //----------------------------------------------------------------------------- @@ -1157,6 +1180,7 @@ void wxDirFilterListCtrl::FillFilterList(const wxString& filter, int defaultFilt } } + // ---------------------------------------------------------------------------- // wxFileIconsTable icons // ----------------------------------------------------------------------------