Пример #1
0
        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
            });
        }
Пример #2
0
 public ScriptNode(string name, object obj, ScriptNode parent, WZTreeNode treeNode)
 {
     Name      = name;
     _obj      = obj;
     _parent   = parent;
     _treeNode = treeNode;
 }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 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;
     }
 }
Пример #6
0
 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}");
     }
 }
Пример #7
0
        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);
            }
        }
Пример #8
0
        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}";
        }