/// <summary> /// 移除特定对象的第一个匹配项。 /// </summary> /// <returns>如果成功移除 node,则为 true;否则为 false。</returns> public bool RemoveTreeNode(UIComp_TreeNodeBase node) { if (node == rootNode) { return(false); } return(rootNode.RemoveTreeNode(node)); }
/// <summary> /// 取对应位置的元素 /// </summary> public UIComp_TreeNodeBase GetTreeNode(UIComp_TreeNodeBase parent, int position) { if (position < 0 || position >= parent.NodeCount) { NLogger.Instance.WriteString(LogType.Info, string.Format(System.Globalization.CultureInfo.CurrentCulture, "Invalid index {0} of treeNodes", position)); return(null); } return(parent.GetTreeNode(position)); }
/// <summary> /// 插入一个新的元素 /// </summary> public UIComp_TreeNodeBase InsertTreeNode(int position, UIComp_TreeNodeBase node, UIComp_TreeNodeBase parent) { if (parent == null) { return(rootNode.InsertTreeNode(position, node)); } else { return(parent.InsertTreeNode(position, node)); } }
/// <summary> /// 往指定的父节点中追加一个缺省的子节点 /// </summary> /// <param name="parent">parent 要追加子节点的节点</param> public UIComp_TreeNodeBase AppendTreeNode(UIComp_TreeNodeBase parent) { if (parent == null) { return(rootNode.AppendTreeNode()); } else { return(parent.AppendTreeNode()); } }
private void addItemBtn_Clicked(object sender, GUIEventArgs e) { UIComp_TreeNodeBase newNode = this.AppendTreeNode(this.RootNode); newNode.Text = "My custom node"; int count = 10; while (--count > 0) { newNode = newNode.InsertTreeNode(0); } }
protected internal override bool OnMouseDoubleClicked(GUIMouseEventArgs e) { base.OnMouseDoubleClicked(e); ClearAllSelections(); // get mouse position as a local pixel value UIComp_TreeNodeBase node = GetNodeAtPoint(e.Position); if (node != null) { BeginUpdate(); node.Selected = true; node.Expand = !node.Expand; EndUpdate(); } return(true); }
protected internal override bool OnMouseButtonDown(GUIMouseEventArgs e) { base.OnMouseButtonDown(e); if (e.Button == GUISystem.ClickButton && !rootNode.OnMouseButtonDown(e)) { // clear old selections if no control key is pressed or if not multi-select if (!(GUISystem.Instance.Modifiers == System.Windows.Forms.Keys.Control) || !multiSelect) { ClearAllSelections(); } // get mouse position as a local pixel value UIComp_TreeNodeBase node = GetNodeAtPoint(e.Position); if (node != null) { node.Selected = true; } } return(true); }
public TreeNodeEventArg(UIComp_TreeNodeBase node) { this.TreeNode = node; }
/// <summary> /// 移除指定位置的元素 /// </summary> public bool RemoveTreeNode(int position, UIComp_TreeNodeBase parent) { return(parent.RemoveTreeNode(position)); }