private AntTreeNode GetBuildTargetNode(XmlNode node, string defaultTarget) { XmlAttribute nameAttr = node.Attributes["name"]; String targetName = (nameAttr != null) ? nameAttr.InnerText : ""; XmlAttribute descrAttr = node.Attributes["description"]; String description = (descrAttr != null) ? descrAttr.InnerText : ""; AntTreeNode targetNode; if (targetName == defaultTarget) { targetNode = new AntTreeNode(targetName, ICON_PUBLIC_TARGET); targetNode.NodeFont = new Font( treeView.Font.Name, treeView.Font.Size, FontStyle.Bold); } else if (description.Length > 0) { targetNode = new AntTreeNode(targetName, ICON_PUBLIC_TARGET); } else { targetNode = new AntTreeNode(targetName, ICON_INTERNAL_TARGET); } targetNode.Target = targetName; targetNode.ToolTipText = description; return(targetNode); }
private TreeNode GetBuildFileNode(string file) { try { XmlDocument xml = new XmlDocument(); xml.Load(file); XmlAttribute defTargetAttr = xml.DocumentElement.Attributes["default"]; String defaultTarget = (defTargetAttr != null) ? defTargetAttr.InnerText : ""; XmlAttribute nameAttr = xml.DocumentElement.Attributes["name"]; String projectName = (nameAttr != null) ? nameAttr.InnerText : file; XmlAttribute descrAttr = xml.DocumentElement.Attributes["description"]; String description = (descrAttr != null) ? descrAttr.InnerText : ""; if (projectName.Length == 0) { projectName = file; } AntTreeNode rootNode = new AntTreeNode(projectName, ICON_FILE); rootNode.File = file; rootNode.Target = defaultTarget; rootNode.ToolTipText = description; XmlNodeList nodes = xml.DocumentElement.ChildNodes; int nodeCount = nodes.Count; for (int i = 0; i < nodeCount; i++) { XmlNode child = nodes[i]; if (child.Name == "target") { // skip private targets XmlAttribute targetNameAttr = child.Attributes["name"]; if (targetNameAttr != null) { String targetName = targetNameAttr.InnerText; if (!String.IsNullOrEmpty(targetName) && (targetName[0] == '-')) { continue; } } AntTreeNode targetNode = GetBuildTargetNode(child, defaultTarget); targetNode.File = file; rootNode.Nodes.Add(targetNode); } } //rootNode.Expand(); return(rootNode); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } return(null); }
private void RunTarget() { AntTreeNode node = treeView.SelectedNode as AntTreeNode; if (node == null) { return; } RunTarget(node.File, node.Target); }
private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Button == MouseButtons.Right) { AntTreeNode currentNode = treeView.GetNodeAt(e.Location) as AntTreeNode; treeView.SelectedNode = currentNode; if (currentNode.Parent == null) { buildFileMenu.Show(treeView, e.Location); } else { targetMenu.Show(treeView, e.Location); } } }
private void MenuEditClick(object sender, EventArgs e) { AntTreeNode node = treeView.SelectedNode as AntTreeNode; //Globals.MainForm.OpenEditableDocument(node.File, false); Process.Start(sakuraPath, node.File); /* * //ScintillaControl sci = Globals.SciControl; * String text = sci.Text; * Regex regexp = new Regex("<target[^>]+name\\s*=\\s*\"" + node.Target + "\".*>"); * Match match = regexp.Match(text); * if (match != null) * { * sci.GotoPos(match.Index); * sci.SetSel(match.Index, match.Index + match.Length); * } */ }