private void CopyClass() { if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag == null) { return; } if (!(treeView1.SelectedNode.Tag is NodeItem)) { return; } NodeItem nodeItem = treeView1.SelectedNode.Tag as NodeItem; NodeDefine nodeDefine = nodeItem.NodeDefine; NodeDefineListContent content = new NodeDefineListContent(); content.DataList.Add(nodeDefine); if (content.DataList.Count > 0) { Clipboard.SetText(XmlUtility.ObjectToString(content)); } MainForm.Instance.ShowInfo("您复制了" + content.DataList.Count.ToString() + "个节点类!!!"); }
private void 除ToolStripMenuItem_Click(object sender, EventArgs e) { if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag == null) { return; } if (!(treeView1.SelectedNode.Tag is NodeItem)) { return; } NodeItem nodeItem = treeView1.SelectedNode.Tag as NodeItem; NodeDefine nodeDefine = nodeItem.NodeDefine; if (MessageBox.Show(string.Format("是否删除节点{0}?", nodeDefine.ClassType), "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { m_Nodes.Remove(nodeDefine); m_NodeTreeViewManager.RemoveNodeDefine(nodeDefine); } }
private void 编辑类ToolStripMenuItem_Click(object sender, EventArgs e) { if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag == null) { return; } if (!(treeView1.SelectedNode.Tag is NodeItem)) { return; } NodeItem nodeItem = treeView1.SelectedNode.Tag as NodeItem; NodeDefine nodeDefine = nodeItem.NodeDefine; EditNodeDefineForm editClassForm = new EditNodeDefineForm(this, nodeDefine, delegate() { nodeItem = m_NodeTreeViewManager.BindNodeDefine(nodeDefine); treeView1.SelectedNode = nodeItem.TreeNode; }); editClassForm.ShowDialog(); }
public bool RemoveNodeClass(NodeClass nodeClass) { NodeItem nodeItem = FindNodeItem(nodeClass); if (nodeItem != null) { nodeItem.TreeNode.Remove(); } if (nodeItem.CategoryItem != null) { TreeNode treeNode = nodeItem.CategoryItem.TreeNode; while (treeNode.Tag is CategoryItem) { TreeNode parentNode = treeNode.Parent; if (treeNode.Nodes.Count == 0) { treeNode.Remove(); treeNode = parentNode; } else { break; } } } return(false); }
private void treeView1_MouseDown(object sender, MouseEventArgs e) { if (treeView1.SelectedNode == null) { return; } for (int i = 0; i < contextMenuStrip1.Items.Count; i++) { contextMenuStrip1.Items[i].Visible = false; } if (treeView1.SelectedNode.Tag is NodeTypeItem || treeView1.SelectedNode.Tag is CategoryItem) { contextMenuStrip1.Items[0].Visible = true; contextMenuStrip1.Items[3].Visible = true; } else if (treeView1.SelectedNode.Tag is NodeItem) { contextMenuStrip1.Items[1].Visible = true; contextMenuStrip1.Items[2].Visible = true; } if (e.Clicks == 2) { if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag == null) { return; } if (!(treeView1.SelectedNode.Tag is NodeItem)) { return; } NodeItem nodeItem = treeView1.SelectedNode.Tag as NodeItem; NodeDefine nodeDefine = nodeItem.NodeDefine; EditNodeDefineForm editClassForm = new EditNodeDefineForm(this, nodeDefine, delegate() { nodeItem = m_NodeTreeViewManager.BindNodeDefine(nodeDefine); treeView1.SelectedNode = nodeItem.TreeNode; }); editClassForm.ShowDialog(); } }
public NodeItem FindNodeItem(NodeClass nodeClass) { for (int i = 0; i < m_TreeView.Nodes.Count; i++) { TreeNode treeNode = m_TreeView.Nodes[i]; NodeItem nodeItem = FindNodeItem(treeNode, nodeClass); if (nodeItem != null) { return(nodeItem); } } return(null); }
private NodeItem FindNodeItem(TreeNode treeNode, NodeClass nodeClass) { if (treeNode.Tag is NodeItem) { NodeItem nodeItem = treeNode.Tag as NodeItem; if (nodeItem.NodeClass.ClassType == nodeClass.ClassType || nodeItem.NodeClass == nodeClass) { return(nodeItem); } } for (int i = 0; i < treeNode.Nodes.Count; i++) { TreeNode tempTreeNode = treeNode.Nodes[i]; NodeItem nodeItem = FindNodeItem(tempTreeNode, nodeClass); if (nodeItem != null) { return(nodeItem); } } return(null); }
public NodeItem BindNodeClass(NodeClass nodeClass) { NodeTypeItem nodeTypeItem = GetNodeTypeItem(nodeClass.NodeType); if (nodeTypeItem == null) { return(null); } NodeItem nodeItem = FindNodeItem(nodeClass); //刷新 if (nodeItem != null) { if (nodeItem.OldNodeType == nodeClass.NodeType && nodeItem.OldCategory == nodeClass.Category) { nodeItem.TreeNode.Text = nodeClass.ClassType; return(nodeItem); } else { nodeItem.TreeNode.Remove(); } if (nodeItem.OldCategory != nodeClass.Category) { CheckRemoveCategory(nodeItem.OldNodeType, nodeItem.OldCategory); } } if (nodeItem == null) { nodeItem = new NodeItem(); } if (string.IsNullOrEmpty(nodeClass.Category)) { TreeNode treeNode = nodeTypeItem.TreeNode.Nodes.Add(nodeClass.ClassType); treeNode.Tag = nodeItem; nodeItem.TreeNode = treeNode; nodeItem.CategoryItem = null; nodeItem.NodeTypeItem = nodeTypeItem; nodeItem.NodeClass = nodeClass; nodeItem.OldCategory = nodeClass.Category; nodeItem.OldNodeType = nodeClass.NodeType; } else { CategoryItem categoryItem = FindCategoryItem(nodeClass.NodeType, nodeClass.Category); if (categoryItem == null) { categoryItem = BindCategory(nodeTypeItem.TreeNode, nodeClass.Category); } TreeNode treeNode = categoryItem.TreeNode.Nodes.Add(nodeClass.ClassType); treeNode.Tag = nodeItem; nodeItem.TreeNode = treeNode; nodeItem.CategoryItem = categoryItem; nodeItem.NodeTypeItem = nodeTypeItem; nodeItem.NodeClass = nodeClass; nodeItem.OldCategory = nodeClass.Category; nodeItem.OldNodeType = nodeClass.NodeType; } return(nodeItem); }
public NodeItem BindNodeDefine(NodeDefine nodeDefine) { NodeTypeItem nodeTypeItem = GetNodeTypeItem(nodeDefine.NodeType); if (nodeTypeItem == null) { return(null); } NodeItem nodeItem = FindNodeItem(nodeDefine); //刷新 if (nodeItem != null) { if (nodeItem.OldNodeType == nodeDefine.NodeType && nodeItem.OldCategory == nodeDefine.Category) { nodeItem.TreeNode.Text = nodeDefine.ClassType + (string.IsNullOrEmpty(nodeDefine.Label) ? string.Empty : " (" + nodeDefine.Label + ")"); return(nodeItem); } else { nodeItem.TreeNode.Remove(); } if (nodeItem.OldCategory != nodeDefine.Category) { CheckRemoveCategory(nodeItem.OldNodeType, nodeItem.OldCategory); } } if (nodeItem == null) { nodeItem = new NodeItem(); } if (string.IsNullOrEmpty(nodeDefine.Category)) { TreeNode treeNode = nodeTypeItem.TreeNode.Nodes.Add(nodeDefine.ClassType + (string.IsNullOrEmpty(nodeDefine.Label) ? string.Empty : " (" + nodeDefine.Label + ")")); treeNode.Tag = nodeItem; nodeItem.TreeNode = treeNode; nodeItem.CategoryItem = null; nodeItem.NodeTypeItem = nodeTypeItem; nodeItem.NodeDefine = nodeDefine; nodeItem.OldCategory = nodeDefine.Category; nodeItem.OldNodeType = nodeDefine.NodeType; } else { CategoryItem categoryItem = FindCategoryItem(nodeDefine.NodeType, nodeDefine.Category); if (categoryItem == null) { categoryItem = BindCategory(nodeTypeItem.TreeNode, nodeDefine.Category); } TreeNode treeNode = categoryItem.TreeNode.Nodes.Add(nodeDefine.ClassType + (string.IsNullOrEmpty(nodeDefine.Label) ? string.Empty : " (" + nodeDefine.Label + ")")); treeNode.Tag = nodeItem; nodeItem.TreeNode = treeNode; nodeItem.CategoryItem = categoryItem; nodeItem.NodeTypeItem = nodeTypeItem; nodeItem.NodeDefine = nodeDefine; nodeItem.OldCategory = nodeDefine.Category; nodeItem.OldNodeType = nodeDefine.NodeType; } return(nodeItem); }