本文整理汇总了C#中HierarchyNode.RemoveChild方法的典型用法代码示例。如果您正苦于以下问题:C# HierarchyNode.RemoveChild方法的具体用法?C# HierarchyNode.RemoveChild怎么用?C# HierarchyNode.RemoveChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HierarchyNode
的用法示例。
在下文中一共展示了HierarchyNode.RemoveChild方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReplaceCore
private static HierarchyNode ReplaceCore(RustProjectNode root, HierarchyNode old, Func<HierarchyNode> newN, HierarchyNode parent)
{
HierarchyNode newNode = newN();
while (old.FirstChild != null)
{
HierarchyNode current = old.FirstChild;
root.ProjectMgr.OnItemDeleted(current);
old.RemoveChild(current);
current.ID = root.ProjectMgr.ItemIdMap.Add(current);
newNode.AddChild(current);
}
TreeOperations.RemoveSubnodeFromHierarchy(root, old, false);
parent.AddChild(newNode);
return newNode;
}
示例2: RemoveUnusedModuleNodesFromHierarchy
private void RemoveUnusedModuleNodesFromHierarchy(HierarchyNode parent, List<HierarchyNode> remove)
{
foreach (var obsolete in remove) {
parent.RemoveChild(obsolete);
ProjectMgr.OnItemDeleted(obsolete);
}
}
示例3: RemoveAllFilesChildren
private void RemoveAllFilesChildren(HierarchyNode parent) {
bool removed = false;
for (var current = parent.FirstChild; current != null; current = current.NextSibling) {
// remove our children first
RemoveAllFilesChildren(current);
_project.TryDeactivateSymLinkWatcher(current);
// then remove us if we're an all files node
if (current.ItemNode is AllFilesProjectElement) {
parent.RemoveChild(current);
_project.OnItemDeleted(current);
removed = true;
}
}
if (removed) {
_project.OnInvalidateItems(parent);
}
}
示例4: ReloadHierarchy
protected void ReloadHierarchy(HierarchyNode parent, IEnumerable<IPackage> modules) {
// We're going to reuse nodes for which matching modules exist in the new set.
// The reason for this is that we want to preserve the expansion state of the
// hierarchy. If we just bin everything off and recreate it all from scratch
// it'll all be in the collapsed state, which will be annoying for users who
// have drilled down into the hierarchy
var recycle = new Dictionary<string, DependencyNode>();
var remove = new List<HierarchyNode>();
for (var current = parent.FirstChild; null != current; current = current.NextSibling) {
var dep = current as DependencyNode;
if (null == dep) {
if (!(current is GlobalModulesNode) && !(current is LocalModulesNode)) {
remove.Add(current);
}
continue;
}
if (modules != null && modules.Any(
module =>
module.Name == dep.Package.Name
&& module.Version == dep.Package.Version
&& module.IsBundledDependency == dep.Package.IsBundledDependency
&& module.IsDevDependency == dep.Package.IsDevDependency
&& module.IsListedInParentPackageJson == dep.Package.IsListedInParentPackageJson
&& module.IsMissing == dep.Package.IsMissing
&& module.IsOptionalDependency == dep.Package.IsOptionalDependency)) {
recycle[dep.Package.Name] = dep;
} else {
remove.Add(current);
}
}
foreach (var obsolete in remove) {
parent.RemoveChild(obsolete);
ProjectMgr.OnItemDeleted(obsolete);
}
if (modules != null) {
foreach (var package in modules) {
DependencyNode child;
if (recycle.ContainsKey(package.Name)) {
child = recycle[package.Name];
child.Package = package;
}
else {
child = new DependencyNode(_projectNode, parent as DependencyNode, package);
parent.AddChild(child);
}
ReloadHierarchy(child, package.Modules);
if (ProjectMgr.ParentHierarchy != null) {
child.ExpandItem(EXPANDFLAGS.EXPF_CollapseFolder);
}
}
}
}