ZForge.Controls.TreeViewAdv.Tree.TreeViewAdv.DrawRow C# (CSharp) Method

DrawRow() private method

private DrawRow ( PaintEventArgs e, DrawContext &context, int row, Rectangle rowRect ) : void
e System.Windows.Forms.PaintEventArgs
context DrawContext
row int
rowRect Rectangle
return void
        private void DrawRow(PaintEventArgs e, ref DrawContext context, int row, Rectangle rowRect)
        {
            TreeNodeAdv node = RowMap[row];
            context.DrawSelection = DrawSelectionMode.None;
            context.CurrentEditorOwner = _currentEditorOwner;
            if (DragMode)
            {
                if ((_dropPosition.Node == node) && _dropPosition.Position == NodePosition.Inside && HighlightDropPosition)
                    context.DrawSelection = DrawSelectionMode.Active;
            }
            else
            {
                if (node.IsSelected && Focused)
                    context.DrawSelection = DrawSelectionMode.Active;
                else if (node.IsSelected && !Focused && !HideSelection)
                    context.DrawSelection = DrawSelectionMode.Inactive;
            }
            context.DrawFocus = Focused && CurrentNode == node;

            if (FullRowSelect)
            {
                context.DrawFocus = false;
                if (context.DrawSelection == DrawSelectionMode.Active || context.DrawSelection == DrawSelectionMode.Inactive)
                {
                    Rectangle focusRect = new Rectangle(OffsetX, rowRect.Y, ClientRectangle.Width, rowRect.Height);
                    if (context.DrawSelection == DrawSelectionMode.Active)
                    {
                        e.Graphics.FillRectangle(SystemBrushes.Highlight, focusRect);
                        context.DrawSelection = DrawSelectionMode.FullRowSelect;
                    }
                    else
                    {
                        e.Graphics.FillRectangle(SystemBrushes.InactiveBorder, focusRect);
                        context.DrawSelection = DrawSelectionMode.None;
                    }
                }
            }

            if ((GridLineStyle & GridLineStyle.Horizontal) == GridLineStyle.Horizontal)
                e.Graphics.DrawLine(SystemPens.InactiveBorder, 0, rowRect.Bottom, e.Graphics.ClipBounds.Right, rowRect.Bottom);

            if (ShowLines)
                DrawLines(e.Graphics, node, rowRect);

            DrawNode(node, context);
        }
TreeViewAdv