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); } } }
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); } } }