Smrf.NodeXL.ExcelTemplate.DynamicFiltersLegendControl.DrawDynamicFilterRangeTrackBar C# (CSharp) Method

DrawDynamicFilterRangeTrackBar() protected method

protected DrawDynamicFilterRangeTrackBar ( DrawingObjects oDrawingObjects, IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar, Pen oAvailableRangeLinePen, Pen oSelectedRangeLinePen, Rectangle oColumnRectangle, Int32 iTrackBarLeft, Int32 iTrackBarRight, Int32 &iTop ) : void
oDrawingObjects DrawingObjects
oDynamicFilterRangeTrackBar IDynamicFilterRangeTrackBar
oAvailableRangeLinePen System.Drawing.Pen
oSelectedRangeLinePen System.Drawing.Pen
oColumnRectangle System.Drawing.Rectangle
iTrackBarLeft System.Int32
iTrackBarRight System.Int32
iTop System.Int32
return void
    DrawDynamicFilterRangeTrackBar
    (
        DrawingObjects oDrawingObjects,
        IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar,
        Pen oAvailableRangeLinePen,
        Pen oSelectedRangeLinePen,
        Rectangle oColumnRectangle,
        Int32 iTrackBarLeft,
        Int32 iTrackBarRight,
        ref Int32 iTop
    )
    {
        Debug.Assert(oDrawingObjects != null);
        Debug.Assert(oDynamicFilterRangeTrackBar != null);
        Debug.Assert(oAvailableRangeLinePen != null);
        Debug.Assert(oSelectedRangeLinePen != null);

        iTop += oDrawingObjects.GetFontHeightMultiple(0.2F);

        // Draw the text for the available range.

        Int32 iAvailableRangeTextLeft = iTrackBarLeft;
        Int32 iAvailableRangeTextRight = iTrackBarRight;
        Int32 iAvailableRangeTextTop = iTop;

        DrawAvailableRangeText(oDrawingObjects, oDynamicFilterRangeTrackBar,
            ref iAvailableRangeTextLeft, ref iAvailableRangeTextRight,
            ref iTop);

        // Draw the line representing the available range.

        Int32 iLineMargin = oDrawingObjects.GetFontHeightMultiple(0.1F);
        Int32 iAvailableRangeLineLeft = iTrackBarLeft + iLineMargin;
        Int32 iAvailableRangeLineRight = iTrackBarRight - iLineMargin;

        oDrawingObjects.Graphics.DrawLine(oAvailableRangeLinePen,
            iAvailableRangeLineLeft, iTop, iAvailableRangeLineRight, iTop);

        // Draw the line representing the selected range.

        Int32 iSelectedRangeLineLeft, iSelectedRangeLineRight;

        DrawSelectedRangeLine(oDrawingObjects, oDynamicFilterRangeTrackBar,
            oSelectedRangeLinePen, iAvailableRangeLineLeft,
            iAvailableRangeLineRight, out iSelectedRangeLineLeft,
            out iSelectedRangeLineRight, ref iTop);

        // Draw the text for the selected range.

        DrawSelectedRangeText(oDrawingObjects, oDynamicFilterRangeTrackBar,
            iAvailableRangeTextLeft, iAvailableRangeTextRight,
            iSelectedRangeLineLeft, iSelectedRangeLineRight,
            iAvailableRangeTextTop);

        DrawExcelColumnName(oDrawingObjects,
            oDynamicFilterRangeTrackBar.ColumnName, iTrackBarLeft,
            iTrackBarRight, ref iTop);

        // Draw a line separating this track bar from the next.

        DrawHorizontalSeparator(oDrawingObjects, oColumnRectangle, ref iTop);
    }