Esempio n. 1
0
        private static void ReplaceNode(TreeNode parentNode, TreeNode replaceNode, TreeNode newNode)
        {
            if (newNode == null)
            {
                return;
            }

            int index = parentNode.Nodes.IndexOf(replaceNode);

            parentNode.Nodes.RemoveAt(index);
            parentNode.Nodes.Insert(index, newNode);


            newNode.ImageKey         = replaceNode.ImageKey;
            newNode.SelectedImageKey = replaceNode.SelectedImageKey;
            newNode.Text             = replaceNode.Text;

            if (newNode is ISingleTextureIconLoader)
            {
                ObjectEditor editor = LibraryGUI.GetObjectEditor();
                if (editor != null) //The editor isn't always in object editor so check
                {
                    editor.UpdateTextureIcon((ISingleTextureIconLoader)newNode);
                }
            }
        }
Esempio n. 2
0
        public static void ReplaceNode(TreeNode node, TreeView treeview, ArchiveFileWrapper replaceNode, TreeNode NewNode, ArchiveRootNodeWrapper rootNode)
        {
            if (NewNode == null)
            {
                return;
            }

            var fileInfo = replaceNode.ArchiveFileInfo;

            int index = 0;

            if (node == null)
            {
                index = treeview.Nodes.IndexOf(replaceNode);
                treeview.Nodes.RemoveAt(index);
                treeview.Nodes.Insert(index, NewNode);
            }
            else
            {
                index = node.Nodes.IndexOf(replaceNode);
                node.Nodes.RemoveAt(index);
                node.Nodes.Insert(index, NewNode);
            }

            NewNode.ImageKey         = replaceNode.ImageKey;
            NewNode.SelectedImageKey = replaceNode.SelectedImageKey;
            NewNode.Text             = replaceNode.Text;
            NewNode.Tag = fileInfo;

            rootNode.FileNodes.RemoveAt(index);
            rootNode.FileNodes.Insert(index, Tuple.Create(fileInfo, NewNode));

            if (NewNode is ISingleTextureIconLoader)
            {
                ObjectEditor editor = LibraryGUI.GetObjectEditor();
                if (editor != null) //The editor isn't always in object editor so check
                {
                    editor.UpdateTextureIcon((ISingleTextureIconLoader)NewNode);
                }
            }
        }