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);
}
}
-void wxCDMProjectsTreeCtrl::BuildTree(const std::vector<modelCDMIProjectTreeNode*>& treeNodes, wxTreeItemId parent)
+void wxCDMProjectsTreeCtrl::BuildTree(const std::vector<modelCDMIProjectTreeNode*>& treeNodes, std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& modelElements, wxTreeItemId parent)
{
for (int i = 0; i < treeNodes.size(); i++)
{
wxString nodeName((treeNodes[i]->GetName()).c_str(), wxConvUTF8);
parentNodeIndex = this->AppendItem(parent, nodeName);
treeNodes[i]->SetId(parentNodeIndex);
+ modelElements[parentNodeIndex] = treeNodes[i];
std::vector<modelCDMIProjectTreeNode*> innerChildren = treeNodes[i]->GetChildren();
if(innerChildren.size() > 0)
{
- this->BuildTree(innerChildren, parentNodeIndex);
+ this->BuildTree(innerChildren, modelElements, parentNodeIndex);
}
}