private ScriptNode LoadTreeNodeInfo(WZTreeNode node, string key) { var tnValue = node.Tag; object obj = null; switch (tnValue) { case null: obj = node; break; case NameSpaceFile file: obj = file; break; case NameSpaceDirectory dir: obj = node; break; default: obj = tnValue; break; } return(new ScriptNode(obj, this) { Name = key }); }
public ScriptNode(string name, object obj, ScriptNode parent, WZTreeNode treeNode) { Name = name; _obj = obj; _parent = parent; _treeNode = treeNode; }
private void InsertDirectories(WZTreeNode parentNode, NameSpaceDirectory folder) { foreach (var dir in folder.SubDirectories) { var name = dir.Name; WZTreeNode node; if (parentNode.Nodes.ContainsKey(name)) { node = parentNode.Nodes[name] as WZTreeNode; } else { node = new WZTreeNode(); node.Name = name; node.Text = name; node.Tag = folder; parentNode.Nodes.Add(node); } InsertDirectories(node, dir); } InsertFiles(parentNode, folder); }
public override WZTreeNode TryGetTreeNode() { WZTreeNode ret = _treeNode; // check if parent is a treenode if (ret == null && _parent != null) { var parentTreeNode = _parent.TryGetTreeNode(); parentTreeNode.TryLoad(false); ret = parentTreeNode.Nodes[this.Name] as WZTreeNode; } return(ret); }
private void ResetTree() { tvData.Nodes.Clear(); foreach (var name in Root.Keys.ToList()) { var node = new WZTreeNode(); node.Name = name; node.Text = name; node.Tag = new NameSpaceDirectory { }; tvData.Nodes.Add(node); Root[name] = node; } }
public void TryLoadNode(WZTreeNode node) { if (node == null) { return; } try { // tvData.BeginUpdate(); node.TryLoad(false); // tvData.EndUpdate(); } catch (Exception ex) { ErrorMessage($"Unable to load {node.Name}... {ex}"); } }
private void InsertFiles(TreeNode parentNode, NameSpaceDirectory folder) { var files = folder.Files.Where(x => x.Name.EndsWith(".img")).ToDictionary(x => x.Name, x => x); foreach (var kvp in files) { var name = kvp.Key; var node = new WZTreeNode(); node.Name = name; node.Text = name; node.Tag = kvp.Value; kvp.Value.TreeNode = node; node.SetNotLoaded(); parentNode.Nodes.Add(node); } }
private void InsertFiles(TreeNode parentNode, NameSpaceDirectory folder) { var files = folder.Files.Where(x => x.Name.EndsWith(".img")).OrderBy(x => x.Name); foreach (var file in files) { var name = file.Name; var node = new WZTreeNode(); node.Name = name; node.Text = name; node.Tag = file; node.SetNotLoaded(); parentNode.Nodes.Add(node); } parentNode.ToolTipText = $"Subnodes: {parentNode.Nodes.Count}"; }