X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMProjectsTreeCtrl.cxx;fp=lib%2FcreaDevManagerLib%2FwxCDMProjectsTreeCtrl.cxx;h=671574dc64f5aab3bad860b9d6020229f5221257;hb=f0d6beb7af51921d5245cd04e307e69993044dfc;hp=61bd7e7752de661ebbd72431474d1fe361b90946;hpb=58e994c7ddc088821aa0f583354216c6376405c8;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx index 61bd7e7..671574d 100755 --- a/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx +++ b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx @@ -70,17 +70,19 @@ bool wxCDMProjectsTreeCtrl::Create( return TRUE; } -void wxCDMProjectsTreeCtrl::BuildTree(modelCDMProject* projectTree) +void wxCDMProjectsTreeCtrl::BuildTree(std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* projectTree) { this->DeleteAllItems(); + modelElements.clear(); if(projectTree != NULL) { wxTreeItemId rootIndex; rootIndex= this-> AddRoot(crea::std2wx(projectTree->GetName())); projectTree->SetId(rootIndex); + modelElements[rootIndex] = projectTree; std::cout << "Building TreeCtrl for " << projectTree->GetName() << std::endl; - this->BuildTree(projectTree->GetChildren(), rootIndex); + this->BuildTree(projectTree->GetChildren(), modelElements, rootIndex); this->Expand(rootIndex); @@ -92,7 +94,7 @@ void wxCDMProjectsTreeCtrl::BuildTree(modelCDMProject* projectTree) } } -void wxCDMProjectsTreeCtrl::BuildTree(const std::vector& treeNodes, wxTreeItemId parent) +void wxCDMProjectsTreeCtrl::BuildTree(const std::vector& treeNodes, std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& modelElements, wxTreeItemId parent) { for (int i = 0; i < treeNodes.size(); i++) { @@ -103,11 +105,12 @@ void wxCDMProjectsTreeCtrl::BuildTree(const std::vectorGetName()).c_str(), wxConvUTF8); parentNodeIndex = this->AppendItem(parent, nodeName); treeNodes[i]->SetId(parentNodeIndex); + modelElements[parentNodeIndex] = treeNodes[i]; std::vector innerChildren = treeNodes[i]->GetChildren(); if(innerChildren.size() > 0) { - this->BuildTree(innerChildren, parentNodeIndex); + this->BuildTree(innerChildren, modelElements, parentNodeIndex); } }