本文整理汇总了C++中ProjectPtr::AsTree方法的典型用法代码示例。如果您正苦于以下问题:C++ ProjectPtr::AsTree方法的具体用法?C++ ProjectPtr::AsTree怎么用?C++ ProjectPtr::AsTree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProjectPtr
的用法示例。
在下文中一共展示了ProjectPtr::AsTree方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildTree
void VirtualDirectoryTree::BuildTree(const wxString& projName)
{
ProjectPtr proj = ManagerST::Get()->GetProject(projName);
wxCHECK_RET(proj, "Can't find a Project with the supplied name");
ProjectTreePtr tree = proj->AsTree();
TreeWalker<wxString, ProjectItem> walker(tree->GetRoot());
for ( ; !walker.End(); walker++ ) {
ProjectTreeNode* node = walker.GetNode();
wxString displayname(node->GetData().GetDisplayName());
if (node->GetData().GetKind() == ProjectItem::TypeVirtualDirectory) {
wxString vdPath = displayname;
ProjectTreeNode* tempnode = node->GetParent();
while (tempnode) {
vdPath = tempnode->GetData().GetDisplayName() + ':' + vdPath;
tempnode = tempnode->GetParent();
}
VirtualDirectoryTree* parent = FindParent(vdPath.BeforeLast(':'));
if (parent) {
parent->StoreChild(displayname, vdPath);
} else {
// Any orphans must be root's top-level children, and we're root
StoreChild(displayname, vdPath);
}
}
}
}