//========================================= // getNodeAt //========================================= public GDITreeViewNode getNodeAt(float screenSpaceX, float screenSpaceY) { bool isOver = screenSpaceX > mLocation.X && screenSpaceX <mLocation.X + Size.Width && screenSpaceY> mLocation.Y && screenSpaceY < mLocation.Y + Size.Height; if (isOver) { return(this); } if (Expanded) { GDITreeViewNode tvn = null; for (int i = 0; i < mNodes.Count; i++) { tvn = mNodes[i].getNodeAt(screenSpaceX, screenSpaceY); if (tvn != null) { return(tvn); } } } return(null); }
//========================================= // addNode //========================================= public GDITreeViewNode addNode(string nodeText) { GDITreeViewNode newNode = new GDITreeViewNode(); newNode.Text = nodeText; mNodes.Add(newNode); return(newNode); }
//========================================= // addNode //========================================= public void addNode(GDITreeViewNode newNode) { mNodes.Add(newNode); if (AutoUpdate) { updatePositions(); this.Refresh(); } }
//========================================= // deleteNode //========================================= public void deleteNode(GDITreeViewNode targetNode) { if (mNodes.Contains(targetNode)) { mNodes.Remove(targetNode); } else { for (int i = 0; i < mNodes.Count; i++) { mNodes[i].deleteNode(targetNode); } } }
//========================================= // getNodeAt //========================================= GDITreeViewNode getNodeAt(float screenSpaceX, float screenSpaceY) { GDITreeViewNode tvn = null; for (int i = 0; i < mNodes.Count; i++) { tvn = mNodes[i].getNodeAt(screenSpaceX, screenSpaceY); if (tvn != null) { return(tvn); } } return(null); }
//========================================= // addNode //========================================= public GDITreeViewNode addNode(string nodeText) { GDITreeViewNode newNode = new GDITreeViewNode(); newNode.Text = nodeText; mNodes.Add(newNode); if (AutoUpdate) { updatePositions(); this.Refresh(); } return(newNode); }
//========================================= // clearNodes //========================================= public void clearNodes() { for (int i = 0; i < mNodes.Count; i++) { mNodes[i].clearNodes(); } mSelectedNode = null; mNodes.Clear(); if (AutoUpdate) { updatePositions(); this.Refresh(); } }
//========================================= // OnMouseDoubleClick //========================================= protected override void OnMouseDoubleClick(MouseEventArgs e) { mSelectedNode = getNodeAt(e.X, e.Y); if (mSelectedNode != null) { mSelectedNode.Expanded = !mSelectedNode.Expanded; updatePositions(); mSelectedNode.OnMouseDoubleClick(e); updateScroll(); } this.Refresh(); }
//========================================= // addNode //========================================= public void deleteNode(GDITreeViewNode targetNode) { if (mNodes.Contains(targetNode)) { mNodes.Remove(targetNode); } else { for (int i = 0; i < mNodes.Count; i++) { mNodes[i].deleteNode(targetNode); } } if (AutoUpdate) { updatePositions(); this.Refresh(); } }
//========================================= // OnMouseClick //========================================= protected override void OnMouseClick(MouseEventArgs e) { if (e.Button == MouseButtons.Right) { mainContextMenu.Show(this.PointToScreen(e.Location)); return; } mSelectedNode = getNodeAt(e.X, e.Y); if (mSelectedNode != null) { updatePositions(); mSelectedNode.OnMouseClick(e); updateScroll(); } this.Refresh(); }
//========================================= // addNode //========================================= public void addNode(GDITreeViewNode newNode) { mNodes.Add(newNode); }
//========================================= // isEqualTo //========================================= public virtual bool isEqualTo(GDITreeViewNode rhs) { return(Text.CompareTo(rhs.Text) == 0); }
//========================================= // isGreaterThan //========================================= public virtual bool isGreaterThan(GDITreeViewNode rhs) { return(Text.CompareTo(rhs.Text) > 0); }
//========================================= // isLessThan //========================================= public virtual bool isLessThan(GDITreeViewNode rhs) { return(Text.CompareTo(rhs.Text) < 0); }
//========================================= // isLessThan //========================================= public virtual int compareTo(GDITreeViewNode rhs) { return(Text.CompareTo(rhs.Text)); }