Example #1
0
        public void ProcessClick( Graphics g, TreeNode treeNode, Rectangle nodeRectangle, Point p, ITreeInfo treeInfo, ITreeEvents treeEvents )
        {
            Size ecSize = GetGlyphSize( g, treeNode.IsExpanded );
            Rectangle ecBounds = new Rectangle( nodeRectangle.X + _leftSep, nodeRectangle.Y + (nodeRectangle.Height - ecSize.Height) / 2, ecSize.Width, ecSize.Height );

            if( ecBounds.Contains( p ) && treeNode.ChildNodes.Count > 0 )
            {
                if( !treeInfo.IsAnimating() )
                {
                    treeEvents.ToggleNodeExpansion( treeNode );
                }
            }
            else
            {
                treeEvents.SelectNode( treeNode );
            }
        }