public SaveForm(HaRepackerMainPanel panel, WzNode wzNode) { InitializeComponent(); this.wzNode = wzNode; this.wzf = (WzFile)wzNode.Tag; this.panel = panel; }
protected void removePaintFromNodes() { if (m_coll.Count == 0) { return; } TreeNode n0 = (TreeNode)m_coll[0]; /*Color back = n0.TreeView.BackColor; * Color fore = n0.TreeView.ForeColor;*/ Color back = BackColor; Color fore = ForeColor; foreach (TreeNode n in m_coll) { n.BackColor = back; WzNode node = (WzNode)n; if (node.IsWzObjectAddedManually) { n.ForeColor = WzNode.NewObjectForeColor; } else { n.ForeColor = fore; } } }
private void okButton_Click(object sender, EventArgs e) { string name = nameBox.Text; if (regBox.Checked) { WzFile file = new WzFile((short)versionBox.Value, (WzMapleVersion)encryptionBox.SelectedIndex); file.Header.Copyright = copyrightBox.Text; file.Header.RecalculateFileStart(); file.Name = name + ".wz"; file.WzDirectory.Name = name + ".wz"; panel.DataTree.Nodes.Add(new WzNode(file)); } else if (listBox.Checked == true) { new ListEditor(null, (WzMapleVersion)encryptionBox.SelectedIndex).Show(); } else if (radioButton_hotfix.Checked == true) { WzImage img = new WzImage(name + ".wz"); img.MarkWzImageAsParsed(); WzNode node = new WzNode(img); panel.DataTree.Nodes.Add(node); } Close(); }
private void searchResultsBox_SelectedIndexChanged(object sender, EventArgs e) { ListBox searchResultsBox = (ListBox)sender; try { if (searchResultsBox.SelectedItem != null) { string[] splitPath = ((string)searchResultsBox.SelectedItem).Split(@"\".ToCharArray()); WzNode node = null; TreeNodeCollection collection = DataTree.Nodes; for (int i = 0; i < splitPath.Length; i++) { node = GetNodeByName(collection, splitPath[i]); if (node.Tag is WzImage && !((WzImage)node.Tag).Parsed && i != splitPath.Length - 1) { ((WzImage)node.Tag).ParseImage(); node.Reparse(); } collection = node.Nodes; } if (node != null) { DataTree.SelectedNode = node; node.EnsureVisible(); DataTree.RefreshSelectedNodes(); } } } catch { } }
/// <summary> /// Parse the data tree selected item on double clicking, or copy pasting into it. /// </summary> /// <param name="selectedNode"></param> private static void ParseOnDataTreeSelectedItem(WzNode selectedNode) { if (!((WzImage)selectedNode.Tag).Parsed) { ((WzImage)selectedNode.Tag).ParseImage(); } selectedNode.Reparse(); selectedNode.Expand(); }
public SaveForm(HaRepackerMainPanel panel, WzNode wzNode) { InitializeComponent(); encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeGMS); encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeMSEA); encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeNone); this.wzNode = wzNode; this.wzf = (WzFile)wzNode.Tag; this.panel = panel; }
private void btnClose_Click(object sender, EventArgs e) { findStrip.Visible = false; searchidx = 0; if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } }
private void btnRestart_Click(object sender, EventArgs e) { searchidx = 0; if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } findBox.Focus(); }
private void WzImporterThread(object param) { ChangeApplicationState(false); object[] arr = (object[])param; ProgressingWzSerializer deserializer = (ProgressingWzSerializer)arr[0]; string[] files = (string[])arr[1]; WzNode parent = (WzNode)arr[2]; byte[] iv = (byte[])arr[3]; WzObject parentObj = (WzObject)parent.Tag; if (parentObj is WzFile) { parentObj = ((WzFile)parentObj).WzDirectory; } UpdateProgressBar(MainPanel.mainProgressBar, files.Length, true, true); foreach (string file in files) { List <WzObject> objs; try { if (deserializer is WzXmlDeserializer) { objs = ((WzXmlDeserializer)deserializer).ParseXML(file); } else { objs = new List <WzObject> { ((WzImgDeserializer)deserializer).WzImageFromIMGFile(file, iv, Path.GetFileName(file)) } }; } catch (ThreadAbortException) { return; } catch (Exception e) { Warning.Error(string.Format(HaRepacker.Properties.Resources.MainInvalidFileError, file, e.Message)); UpdateProgressBar(MainPanel.mainProgressBar, 1, false, false); continue; } foreach (WzObject obj in objs) { if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer)) { WzNode node = new WzNode(obj); InsertWzNodeThreadSafe(node, parent); } } UpdateProgressBar(MainPanel.mainProgressBar, 1, false, false); } threadDone = true; }
private void btnFindAll_Click(object sender, EventArgs e) { if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } if (findBox.Text == "" || DataTree.Nodes.Count == 0) { return; } if (DataTree.SelectedNode == null) { DataTree.SelectedNode = DataTree.Nodes[0]; } finished = false; listSearchResults = true; searchResultsList.Clear(); //searchResultsBox.Items.Clear(); searchValues = UserSettings.SearchStringValues; currentidx = 0; searchText = findBox.Text; extractImages = UserSettings.ParseImagesInSearch; foreach (WzNode node in DataTree.SelectedNodes) { if (node.Tag is WzImageProperty) { continue; } else if (node.Tag is IPropertyContainer) { SearchWzProperties((IPropertyContainer)node.Tag); } else { SearchTV(node); } } DockableSearchResult dsr = new DockableSearchResult(); dsr.SelectedIndexChanged += new EventHandler(searchResultsBox_SelectedIndexChanged); foreach (string result in searchResultsList) { dsr.searchResultsBox.Items.Add(result); } dsr.Show(MainDockPanel); dsr.DockState = DockState.DockBottom; // searchResults.AutoHide = false; // searchResults.Visible = true; // searchResultsContainer.Visible = true; // dockSite8.Visible = true; // panelDockContainer1.Visible = true; findBox.Focus(); }
private void InsertWzNodeThreadSafe(WzNode node, WzNode parent) { if (MainPanel.InvokeRequired) { MainPanel.Invoke(new InsertWzNode(InsertWzNodeCallback), node, parent); } else { InsertWzNodeCallback(node, parent); } }
private void SearchTV(WzNode node) { foreach (WzNode subnode in node.Nodes) { if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) { if (listSearchResults) { searchResultsList.Add(subnode.FullPath.Replace(";", @"\")); } else if (currentidx == searchidx) { //if (subnode.Style == null) subnode.Style = new ElementStyle(); subnode.BackColor = Color.Yellow; coloredNode = subnode; subnode.EnsureVisible(); //DataTree.Focus(); finished = true; searchidx++; return; } else { currentidx++; } } if (subnode.Tag is WzImage) { WzImage img = (WzImage)subnode.Tag; if (img.Parsed) { SearchWzProperties(img); } else if (extractImages) { img.ParseImage(); SearchWzProperties(img); } if (finished) { return; } } else { SearchTV(subnode); } } }
public void DoPaste() { if (!Warning.Warn(Properties.Resources.MainConfirmPaste)) { return; } yesToAll = false; noToAll = false; WzNode parent = (WzNode)DataTree.SelectedNode; WzObject parentObj = (WzObject)parent.Tag; if (parent != null && parent.Tag is WzImage && parent.Nodes.Count == 0) { ParseOnDataTreeSelectedItem(parent); } if (parentObj is WzFile) { parentObj = ((WzFile)parentObj).WzDirectory; } foreach (WzObject obj in clipboard) { if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer)) { WzObject clone = CloneWzObject(obj); if (clone == null) { continue; } WzNode node = new WzNode(clone); WzNode child = WzNode.GetChildNode(parent, node.Text); if (child != null) { if (ShowReplaceDialog(node.Text)) { child.Delete(); } else { return; } } parent.AddNode(node); } } }
private void btnFindNext_Click(object sender, EventArgs e) { if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } if (findBox.Text == "" || DataTree.Nodes.Count == 0) { return; } if (DataTree.SelectedNode == null) { DataTree.SelectedNode = DataTree.Nodes[0]; } finished = false; listSearchResults = false; searchResultsList.Clear(); searchValues = UserSettings.SearchStringValues; currentidx = 0; searchText = findBox.Text; extractImages = UserSettings.ParseImagesInSearch; foreach (WzNode node in DataTree.SelectedNodes) { if (node.Tag is IPropertyContainer) { SearchWzProperties((IPropertyContainer)node.Tag); } else if (node.Tag is WzImageProperty) { continue; } else { SearchTV(node); } if (finished) { break; } } if (!finished) { MessageBox.Show(Properties.Resources.MainTreeEnd); searchidx = 0; DataTree.SelectedNode.EnsureVisible(); } findBox.Focus(); }
private void InsertWzNodeCallback(WzNode node, WzNode parent) { WzNode child = WzNode.GetChildNode(parent, node.Text); if (child != null) { if (ShowReplaceDialog(node.Text)) { child.Delete(); } else { return; } } parent.AddNode(node); }
private void SearchWzProperties(IPropertyContainer parent) { foreach (WzImageProperty prop in parent.WzProperties) { if ((0 <= prop.Name.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) || (searchValues && prop is WzStringProperty && (0 <= ((WzStringProperty)prop).Value.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)))) { if (listSearchResults) { searchResultsList.Add(prop.FullPath.Replace(";", @"\")); } else if (currentidx == searchidx) { if (prop.HRTag == null) { ((WzNode)prop.ParentImage.HRTag).Reparse(); } WzNode node = (WzNode)prop.HRTag; //if (node.Style == null) node.Style = new ElementStyle(); node.BackColor = Color.Yellow; coloredNode = node; node.EnsureVisible(); //DataTree.Focus(); finished = true; searchidx++; return; } else { currentidx++; } } if (prop is IPropertyContainer && prop.WzProperties.Count != 0) { SearchWzProperties((IPropertyContainer)prop); if (finished) { return; } } } }
public SaveForm(HaRepackerMainPanel panel, WzNode wzNode) { InitializeComponent(); MainForm.AddWzEncryptionTypesToComboBox(encryptionBox); this.wzNode = wzNode; if (wzNode.Tag is WzImage) { this.wzImg = (WzImage)wzNode.Tag; this.IsRegularWzFile = false; versionBox.Enabled = false; } else { this.wzf = (WzFile)wzNode.Tag; this.IsRegularWzFile = true; } this.panel = panel; }
private void nameBox_ButtonClicked(object sender, EventArgs e) { if (DataTree.SelectedNode == null) { return; } if (DataTree.SelectedNode.Tag is WzFile) { ((WzFile)DataTree.SelectedNode.Tag).Header.Copyright = nameBox.Text; ((WzFile)DataTree.SelectedNode.Tag).Header.RecalculateFileStart(); } else if (WzNode.CanNodeBeInserted((WzNode)DataTree.SelectedNode.Parent, nameBox.Text)) { string text = nameBox.Text; ((WzNode)DataTree.SelectedNode).ChangeName(text); nameBox.Text = text; nameBox.ButtonEnabled = false; } else { Warning.Error("A node with that name already exists. Please choose a different name"); } }
private void nameBox_ButtonClicked(object sender, EventArgs e) { if (DataTree.SelectedNode == null) { return; } if (DataTree.SelectedNode.Tag is WzFile) { ((WzFile)DataTree.SelectedNode.Tag).Header.Copyright = nameBox.Text; ((WzFile)DataTree.SelectedNode.Tag).Header.RecalculateFileStart(); } else if (WzNode.CanNodeBeInserted((WzNode)DataTree.SelectedNode.Parent, nameBox.Text)) { string text = nameBox.Text; ((WzNode)DataTree.SelectedNode).ChangeName(text); nameBox.Text = text; nameBox.ButtonEnabled = false; } else { Warning.Error(Properties.Resources.MainNodeExists); } }
public void DoPaste() { if (!Warning.Warn("Paste WZ nodes from clipboard? (warning - can take a lot of time if many nodes are pasted)")) { return; } yesToAll = false; noToAll = false; WzNode parent = (WzNode)DataTree.SelectedNode; IWzObject parentObj = (IWzObject)parent.Tag; if (parentObj is WzFile) { parentObj = ((WzFile)parentObj).WzDirectory; } foreach (IWzObject obj in clipboard) { if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is IWzImageProperty && parentObj is IPropertyContainer)) { WzNode node = new WzNode(obj); WzNode child = WzNode.GetChildNode(parent, node.Text); if (child != null) { if (ShowReplaceDialog(node.Text)) { child.Delete(); } else { return; } } parent.AddNode(node); } } }
private void SearchTV(WzNode node) { foreach (WzNode subnode in node.Nodes) { if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) { if (listSearchResults) { searchResultsList.Add(subnode.FullPath.Replace(";", @"\")); } else if (currentidx == searchidx) { //if (subnode.Style == null) subnode.Style = new ElementStyle(); subnode.BackColor = Color.Yellow; coloredNode = subnode; subnode.EnsureVisible(); //DataTree.Focus(); finished = true; searchidx++; return; } else { currentidx++; } } if (subnode.Tag is WzImage) { WzImage img = (WzImage)subnode.Tag; if (img.Parsed) { SearchWzProperties(img); } else if (extractImages) { img.ParseImage(); SearchWzProperties(img); } if (finished) { return; } } else { SearchTV(subnode); } } /*foreach (WzDirectory subdir in dir.WzDirectories) * { * if (subdir.Name.Contains(searchText)) * { * if (currentidx == searchidx) * { * WzNode node = (WzNode)subdir.HRTag; * DataTree.SelectedNode = node; * node.EnsureVisible(); * DataTree.Focus(); * finished = true; * searchidx++; * return; * } * else if (listSearchResults) * searchResultsList.Add(subdir.FullPath); * else * currentidx++; * } * SearchTV(subdir, currentidx, searchText, extractImages); * if (finished) * return; * } * foreach (WzImage img in dir.WzImages) * { * if (img.Name.Contains(searchText)) * { * if (currentidx == searchidx) * { * WzNode node = (WzNode)img.HRTag; * DataTree.SelectedNode = node; * node.EnsureVisible(); * DataTree.Focus(); * finished = true; * searchidx++; * return; * } * else if (listSearchResults) * searchResultsList.Add(img.FullPath); * else * currentidx++; * } * if (img.Parsed) * SearchWzProperties(img, currentidx, searchText); * else if (extractImages) * { * img.ParseImage(); * SearchWzProperties(img, currentidx, searchText); * } * if (finished) return; * }*/ }
public void DoPaste() { if (!Warning.Warn("Paste WZ nodes from clipboard? (warning - can take a lot of time if many nodes are pasted)")) return; yesToAll = false; noToAll = false; WzNode parent = (WzNode)DataTree.SelectedNode; IWzObject parentObj = (IWzObject)parent.Tag; if (parentObj is WzFile) parentObj = ((WzFile)parentObj).WzDirectory; foreach (IWzObject obj in clipboard) { if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is IWzImageProperty && parentObj is IPropertyContainer)) { WzNode node = new WzNode(obj); WzNode child = WzNode.GetChildNode(parent, node.Text); if (child != null) { if (ShowReplaceDialog(node.Text)) child.Delete(); else return; } parent.AddNode(node); } } }
private void btnFindAll_Click(object sender, EventArgs e) { if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } if (findBox.Text == "" || DataTree.Nodes.Count == 0) return; if (DataTree.SelectedNode == null) DataTree.SelectedNode = DataTree.Nodes[0]; finished = false; listSearchResults = true; searchResultsList.Clear(); //searchResultsBox.Items.Clear(); searchValues = UserSettings.SearchStringValues; currentidx = 0; searchText = findBox.Text; extractImages = UserSettings.ParseImagesInSearch; foreach (WzNode node in DataTree.SelectedNodes) { if (node.Tag is WzImageProperty) continue; else if (node.Tag is IPropertyContainer) SearchWzProperties((IPropertyContainer)node.Tag); else SearchTV(node); } DockableSearchResult dsr = new DockableSearchResult(); dsr.SelectedIndexChanged += new EventHandler(searchResultsBox_SelectedIndexChanged); foreach (string result in searchResultsList) dsr.searchResultsBox.Items.Add(result); dsr.Show(MainDockPanel); dsr.DockState = DockState.DockBottom; // searchResults.AutoHide = false; // searchResults.Visible = true; // searchResultsContainer.Visible = true; // dockSite8.Visible = true; // panelDockContainer1.Visible = true; findBox.Focus(); }
private void btnFindNext_Click(object sender, EventArgs e) { if (coloredNode != null) { coloredNode.BackColor = Color.White; coloredNode = null; } if (findBox.Text == "" || DataTree.Nodes.Count == 0) return; if (DataTree.SelectedNode == null) DataTree.SelectedNode = DataTree.Nodes[0]; finished = false; listSearchResults = false; searchResultsList.Clear(); searchValues = UserSettings.SearchStringValues; currentidx = 0; searchText = findBox.Text; extractImages = UserSettings.ParseImagesInSearch; foreach (WzNode node in DataTree.SelectedNodes) { if (node.Tag is IPropertyContainer) SearchWzProperties((IPropertyContainer)node.Tag); else if (node.Tag is WzImageProperty) continue; else SearchTV(node); if (finished) break; } if (!finished) { MessageBox.Show(Properties.Resources.MainTreeEnd); searchidx = 0; DataTree.SelectedNode.EnsureVisible(); } findBox.Focus(); }
private void SearchTV(WzNode node) { foreach (WzNode subnode in node.Nodes) { if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) { if (listSearchResults) searchResultsList.Add(subnode.FullPath.Replace(";", @"\")); else if (currentidx == searchidx) { //if (subnode.Style == null) subnode.Style = new ElementStyle(); subnode.BackColor = Color.Yellow; coloredNode = subnode; subnode.EnsureVisible(); //DataTree.Focus(); finished = true; searchidx++; return; } else currentidx++; } if (subnode.Tag is WzImage) { WzImage img = (WzImage)subnode.Tag; if (img.Parsed) SearchWzProperties(img); else if (extractImages) { img.ParseImage(); SearchWzProperties(img); } if (finished) return; } else SearchTV(subnode); } }
private void SearchWzProperties(IPropertyContainer parent) { foreach (WzImageProperty prop in parent.WzProperties) { if ((0 <= prop.Name.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) || (searchValues && prop is WzStringProperty && (0 <= ((WzStringProperty)prop).Value.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)))) { if (listSearchResults) searchResultsList.Add(prop.FullPath.Replace(";", @"\")); else if (currentidx == searchidx) { if (prop.HRTag == null) ((WzNode)prop.ParentImage.HRTag).Reparse(); WzNode node = (WzNode)prop.HRTag; //if (node.Style == null) node.Style = new ElementStyle(); node.BackColor = Color.Yellow; coloredNode = node; node.EnsureVisible(); //DataTree.Focus(); finished = true; searchidx++; return; } else currentidx++; } if (prop is IPropertyContainer && prop.WzProperties.Count != 0) { SearchWzProperties((IPropertyContainer)prop); if (finished) return; } } }
public void DoPaste() { if (!Warning.Warn(Properties.Resources.MainConfirmPaste)) return; yesToAll = false; noToAll = false; WzNode parent = (WzNode)DataTree.SelectedNode; WzObject parentObj = (WzObject)parent.Tag; if (parentObj is WzFile) parentObj = ((WzFile)parentObj).WzDirectory; foreach (WzObject obj in clipboard) { if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer)) { WzObject clone = CloneWzObject(obj); if (clone == null) continue; WzNode node = new WzNode(clone); WzNode child = WzNode.GetChildNode(parent, node.Text); if (child != null) { if (ShowReplaceDialog(node.Text)) child.Delete(); else return; } parent.AddNode(node); } } }