- 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<modelCDMProjectsTreeNode> innerChildren = projectsTree[i].GetChildren();
- if(innerChildren.size() > 0)
+ for (int i = 0; i < treeNodes.size(); i++)
+ {
+ //cout << projectsTree[i].GetName() << endl;
+ wxTreeItemId parentNodeIndex;
+ if(treeNodes[i] != NULL)
+ {
+ int idIcon = GetIconId(treeNodes[i]);
+ wxString nodeName((treeNodes[i]->GetName()).c_str(), wxConvUTF8);
+ parentNodeIndex = this->AppendItem(parent, nodeName, idIcon, idIcon);
+ treeNodes[i]->SetId(parentNodeIndex);
+ modelElements[parentNodeIndex] = treeNodes[i];
+
+ std::vector<modelCDMIProjectTreeNode*> innerChildren = treeNodes[i]->GetChildren();
+ if(innerChildren.size() > 0)
+ {
+ this->BuildTree(innerChildren, modelElements, parentNodeIndex);
+ }
+ }
+
+ }
+}
+
+int wxCDMProjectsTreeCtrl::GetIconId(modelCDMIProjectTreeNode* node)
+{
+ modelCDMIProjectTreeNode* element = dynamic_cast<modelCDMProject*>(node);
+ if(element != NULL)
+ {
+ return this->ID_PrIcon;
+ }
+ else