private void RenameNodes(WccNodeTag tag, string newName) { string[] path = tag.NodeName.Split('.'); string oldName = tag.NodeName; path[path.Length - 1] = newName; if (tag.Type == WccNodeTag.WccNodeType.Project) { if (tag.Project != null) { tag.Project.ProjectAlias = newName; } } string NodeName = ""; for (int i = 0; i < path.Length; i++) { NodeName += path[i]; if (i != path.Length - 1) { NodeName += "."; } } tag.NodeName = NodeName; WccProject project = projectCollection[oldName]; projectCollection.Remove(oldName); projectCollection.Add(NodeName, project); projectCollection.Serialize(); //appDataBase.UpdateNode(tag, oldName); }
private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { treeView.SelectedNode = e.Node; TreeNode selectedNode = treeView.SelectedNode; WccNodeTag nodeTag = null; if (selectedNode == null) { return; } nodeTag = (WccNodeTag)selectedNode.Tag; if (e.Button == System.Windows.Forms.MouseButtons.Right /*&& (nodeTag.Type == WccNodeTag.WccNodeType.CommonNode || nodeTag.Type == WccNodeTag.WccNodeType.Root)*/) { treeView.SelectedNode = e.Node; //CreatePvssProjectForm.CreatePvssProjectForm form = new CreatePvssProjectForm(); //form.Show(); Point p = new Point(e.X, e.Y); // Get the node that the user has clicked. TreeNode node = treeView.GetNodeAt(p); if (node != null) { treeView.SelectedNode = node; // Find the appropriate ContextMenu depending on the selected node. WccNodeTag tag = (WccNodeTag)node.Tag; switch (tag.Type) { case WccNodeTag.WccNodeType.Root: rootContextMenu.Show(treeView, p); break; case WccNodeTag.WccNodeType.CommonNode: treeContextMenu.Show(treeView, p); break; case WccNodeTag.WccNodeType.Project: projectNodeContextMenu.Show(treeView, p); break; } } } else if (e.Button == System.Windows.Forms.MouseButtons.Left /*&& nodeTag.Type == WccNodeTag.WccNodeType.Project*/) { this.btnStartManager.Enabled = false; this.btnStopManager.Enabled = false; this.btnKillManager.Enabled = false; this.btnStartProject.Enabled = false; this.btnStopProject.Enabled = false; this.btnLogViewer.Enabled = false; SelectedProject = nodeTag.Project; } }
private void добавитьУзелToolStripMenuItem_Click(object sender, EventArgs e) { string name = "Новый узел"; TreeNode treeNode = new TreeNode(name); treeNode.Name = name; WccNodeTag tag = new WccNodeTag(); tag.NodeName = ((WccNodeTag)treeView.SelectedNode.Tag).NodeName + "." + name; tag.Type = WccNodeTag.WccNodeType.CommonNode; treeNode.Tag = tag; treeView.SelectedNode.Nodes.Add(treeNode); treeView.SelectedNode.Expand(); projectCollection.Serialize(); //appDataBase.AddNode(tag); }
private void stopingObserve(TreeNodeCollection nodes) { foreach (TreeNode node in nodes) { WccNodeTag tag = (WccNodeTag)node.Tag; if (tag.Type == WccNodeTag.WccNodeType.Project) { if (tag.Project != null) { tag.Project.StopObserve(); } } else { stopingObserve(node.Nodes); } } }
private void ChangeProjectNodeState(TreeNodeCollection nodes, WccProject project) { foreach (TreeNode node in nodes) { WccNodeTag tag = (WccNodeTag)node.Tag; if (tag.Type == WccNodeTag.WccNodeType.Root || tag.Type == WccNodeTag.WccNodeType.CommonNode) { ChangeProjectNodeState(node.Nodes, project); } else { if (tag.Project == project && tag.Project != null) { int state = (int)project.ConnectionState; OnProjectNodeStateChanged(node, state); } } } }
private void deleteChildProjectNodes(TreeNodeCollection nodes) { if (nodes.Count != 0) { foreach (TreeNode node in nodes) { WccNodeTag nodeTag = (WccNodeTag)node.Tag; if (nodeTag.Type == WccNodeTag.WccNodeType.Project) { nodeTag.Project.StopObserve(); nodeTag.Project.ProjectStateChanged -= OnProjectStateChanged; } else { deleteChildProjectNodes(node.Nodes); } } } }
private void InitializeTreeView() { treeView.HideSelection = false; TreeNode treeNode = new TreeNode("Windows"); treeNode.Name = "Windows"; WccNodeTag tag = new WccNodeTag(); tag.NodeName = treeNode.Name; tag.Type = WccNodeTag.WccNodeType.Root; treeNode.Tag = tag; treeNode.ImageIndex = 0; ImageList imageList = new ImageList(); projectCollection = new WccProjectCollection(); projectCollection.Deserialize(); //appDataBase = new AppDataBase(); //List<Dictionary<string, object>> configMap = appDataBase.ReadConfig(); LoadTreeNodes(treeNode, projectCollection); treeView.Nodes.Add(treeNode); }
private void LoadTreeNodes(TreeNode parentNode, WccProjectCollection projectCollection) { foreach (var project in projectCollection) { string nodeName = project.Key; WccNodeTag.WccNodeType nodeType = WccNodeTag.WccNodeType.Project; string[] nodes = nodeName.Split('.'); if (nodes.Length > 1) { if (nodes[nodes.Length - 2].Equals(parentNode.Name)) { TreeNode node = new TreeNode(nodes[nodes.Length - 1]); node.Name = nodes[nodes.Length - 1]; WccNodeTag _tag = new WccNodeTag(); _tag.Type = nodeType; _tag.NodeName = nodeName; if (nodeType == WccNodeTag.WccNodeType.Project) { WccProject proj = project.Value; //project.ProjectAlias = Convert.ToString(map["projectalias"]); //project.MachineName = Convert.ToString(map["machinename"]); //project.PmonPort = Convert.ToInt32(map["pmonport"]); //project.Credential.Login = Convert.ToString(map["login"]); //project.Credential.Password = Convert.ToString(map["password"]); //project.Credential.DefaultAutorization = Convert.ToBoolean(map["defaultAutorization"]); //project.Path = Convert.ToString(map["path"]); proj.ProjectStateChanged += OnProjectStateChanged; _tag.Project = proj; } else { LoadTreeNodes(node, projectCollection); } node.Tag = _tag; parentNode.Nodes.Add(node); } } } }
private void deleteNode() { TreeNode selectedNode = treeView.SelectedNode; WccNodeTag nodeTag = (WccNodeTag)selectedNode.Tag; if (nodeTag.Type == WccNodeTag.WccNodeType.Project) { if (ReferenceEquals(SelectedProject, nodeTag.Project)) { SelectedProject.StopObserve(); SelectedProject.ProjectStateChanged -= OnProjectStateChanged; SelectedProject = null; } } else { deleteChildProjectNodes(selectedNode.Nodes); } treeView.Nodes.Remove(selectedNode); projectCollection.Remove(nodeTag.NodeName); projectCollection.Serialize(); //appDataBase.RemoveNode(nodeTag); }
private void добавитьПроектToolStripMenuItem_Click(object sender, EventArgs e) { string name = "Новый проект"; TreeNode treeNode = new TreeNode(name); treeNode.Name = name; WccNodeTag tag = new WccNodeTag(); tag.NodeName = ((WccNodeTag)treeView.SelectedNode.Tag).NodeName + "." + name; tag.Type = WccNodeTag.WccNodeType.Project; tag.Project = new WccProject(); /*TEMP*/ tag.Project.ProjectAlias = name; tag.Project.ProjectStateChanged += OnProjectStateChanged; //tag.Project.PmonPort = 4999; //tag.Project.MachineName = "sms156419snv"; /*TEMP*/ treeNode.Tag = tag; treeNode.ImageIndex = 0; treeNode.SelectedImageIndex = 0; if (!projectCollection.ContainsKey(tag.NodeName)) { projectCollection.Add(tag.NodeName, tag.Project); treeView.SelectedNode.Nodes.Add(treeNode); treeView.SelectedNode.Expand(); } else { Debugger.Write("Проект с таким именем уже существует."); } projectCollection.Serialize(); //appDataBase.AddNode(tag); //arg.RefreshInfo(); //treeStruct.Add(treeNode.Name, arg); }