#include "wxCreaDevManagerTreeCtrl.h"
#include "creaDevManagerIds.h"
+#include <vector>
wxCreaDevManagerTreeCtrl::wxCreaDevManagerTreeCtrl(
wxWindow *parent,
)
{
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<ModelCreaDevManagerTreeNode>& 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<ModelCreaDevManagerTreeNode> innerChildren = projectsTree[i].GetChildren();
+ if(innerChildren.size() > 0)
+ {
+ this->BuildTree(innerChildren, parentNodeIndex);
+ }
+ }
+}