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

Draw() protected method

protected Draw ( DrawingObjects oDrawingObjects ) : Int32
oDrawingObjects DrawingObjects
return System.Int32
    Draw
    (
        DrawingObjects oDrawingObjects
    )
    {
        Debug.Assert(oDrawingObjects != null);
        AssertValid();

        // If there are edge track bars and vertex track bars, two columns are
        // drawn, with the edge track bars in the first column and the vertex
        // track bars in the second.  If there are only edge or vertex track
        // bars, one column is drawn.

        Rectangle oColumn1Rectangle, oColumn2Rectangle;
        Boolean bHasTwoColumns = false;

        if (m_oEdgeDynamicFilterRangeTrackBars.Count > 0 &&
            m_oVertexDynamicFilterRangeTrackBars.Count > 0)
        {
            ControlRectangleToTwoColumns(oDrawingObjects,
                out oColumn1Rectangle, out oColumn2Rectangle);

            bHasTwoColumns = true;
        }
        else
        {
            oColumn1Rectangle = oDrawingObjects.ControlRectangle;
            AddMarginsToColumnRectangle(ref oColumn1Rectangle);
            oColumn2Rectangle = oColumn1Rectangle;
        }

        Int32 iBottom = Math.Max(

            DrawDynamicFilterRangeTrackBars(oDrawingObjects, "Edge Filters",
                m_oEdgeDynamicFilterRangeTrackBars, oColumn1Rectangle),

            DrawDynamicFilterRangeTrackBars(oDrawingObjects, "Vertex Filters",
                m_oVertexDynamicFilterRangeTrackBars, oColumn2Rectangle)
            );

        if (bHasTwoColumns)
        {
            DrawColumnSeparator(oDrawingObjects, oColumn2Rectangle);
        }

        return (iBottom);
    }