X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCreaDevManagerTreeCtrl.cxx;fp=lib%2FcreaDevManagerLib%2FwxCreaDevManagerTreeCtrl.cxx;h=87c7880c283edbb8e93f83cb1ce350c276dbf7b0;hb=024e27a190403e747501f3dafcc6600683b39937;hp=b4af43e1196e61a2d67a6ee26f4d9d98a6be6dd4;hpb=8c148185c2d1d7106cef0224646c2f2d8800ab1a;p=crea.git diff --git a/lib/creaDevManagerLib/wxCreaDevManagerTreeCtrl.cxx b/lib/creaDevManagerLib/wxCreaDevManagerTreeCtrl.cxx index b4af43e..87c7880 100644 --- a/lib/creaDevManagerLib/wxCreaDevManagerTreeCtrl.cxx +++ b/lib/creaDevManagerLib/wxCreaDevManagerTreeCtrl.cxx @@ -7,6 +7,7 @@ #include "wxCreaDevManagerTreeCtrl.h" #include "creaDevManagerIds.h" +#include wxCreaDevManagerTreeCtrl::wxCreaDevManagerTreeCtrl( wxWindow *parent, @@ -36,6 +37,39 @@ bool wxCreaDevManagerTreeCtrl::Create( ) { wxTreeCtrl::Create (parent, id, pos, size, style, validator, name); + wxTreeItemId rootIndex = this-> AddRoot(_("Open Projects")); + this->Update(); return TRUE; } +void wxCreaDevManagerTreeCtrl::BuildTree(ModelCreaDevManagerTree& projectsTree) +{ + this->DeleteAllItems(); + wxTreeItemId rootIndex = this-> AddRoot(_("Open Projects")); + for (int i = 0; i < projectsTree.projectRoots.size(); i++) + { + cout << "Building TreeCtrl for " << projectsTree.projectRoots[i].GetName() << endl; + wxTreeItemId parentIndex = this-> AppendItem(rootIndex, wxString(projectsTree.projectRoots[i].GetName().c_str(), wxConvUTF8)); + this->BuildTree(projectsTree.projectRoots[i].GetChildren(), parentIndex); + } + this->Expand(rootIndex); + + this->Update(); +} + +void wxCreaDevManagerTreeCtrl::BuildTree(vector& projectsTree, wxTreeItemId parent) +{ + for (int i = 0; i < projectsTree.size(); i++) + { + //cout << projectsTree[i].GetName() << endl; + wxTreeItemId parentNodeIndex; + wxString nodeName((projectsTree[i].GetName()).c_str(), wxConvUTF8); + parentNodeIndex = this->AppendItem(parent, nodeName); + + std::vector innerChildren = projectsTree[i].GetChildren(); + if(innerChildren.size() > 0) + { + this->BuildTree(innerChildren, parentNodeIndex); + } + } +}