Beispiel #1
0
 /// <summary>
 /// 移除特定对象的第一个匹配项。
 /// </summary>
 /// <returns>如果成功移除 node,则为 true;否则为 false。</returns>
 public bool RemoveTreeNode(UIComp_TreeNodeBase node)
 {
     if (node == rootNode)
     {
         return(false);
     }
     return(rootNode.RemoveTreeNode(node));
 }
Beispiel #2
0
 /// <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));
 }
Beispiel #3
0
 /// <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));
     }
 }
Beispiel #4
0
 /// <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);
            }
        }
Beispiel #6
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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
 public TreeNodeEventArg(UIComp_TreeNodeBase node)
 {
     this.TreeNode = node;
 }
Beispiel #9
0
 /// <summary>
 /// 移除指定位置的元素
 /// </summary>
 public bool RemoveTreeNode(int position, UIComp_TreeNodeBase parent)
 {
     return(parent.RemoveTreeNode(position));
 }