Smrf.NodeXL.ExcelTemplate.GroupManager.SetVertexAttributesForAllGroups C# (CSharp) Method

SetVertexAttributesForAllGroups() private static method

private static SetVertexAttributesForAllGroups ( ListObject oGroupTable ) : void
oGroupTable ListObject
return void
    SetVertexAttributesForAllGroups
    (
        ListObject oGroupTable
    )
    {
        Debug.Assert(oGroupTable != null);

        Range oVertexColorRange, oVertexShapeRange;
        Object [,] aoVertexColorValues, aoVertexShapeValues;

        if (
            !ExcelTableUtil.TryGetTableColumnDataAndValues(oGroupTable,
                GroupTableColumnNames.VertexShape, out oVertexShapeRange,
                out aoVertexShapeValues)
            ||
            !ExcelTableUtil.TryGetTableColumnDataAndValues(oGroupTable,
                GroupTableColumnNames.VertexColor, out oVertexColorRange,
                out aoVertexColorValues)
            )
        {
            return;
        }

        Int32 iGroups = aoVertexShapeValues.GetUpperBound(0);
        Debug.Assert(aoVertexColorValues.GetUpperBound(0) == iGroups);

        ColorConverter2 oColorConverter2 = new ColorConverter2();

        VertexShapeConverter oVertexShapeConverter =
            new VertexShapeConverter();

        for (Int32 i = 0; i < iGroups; i++)
        {
            Color oColor;
            VertexShape eShape;

            GetVertexAttributes(i, iGroups, out oColor, out eShape);

            // Write the color in a format that is understood by
            // ColorConverter2.WorkbookToGraph(), which is what
            // WorksheetReaderBase uses.

            aoVertexColorValues[i + 1, 1] =
                oColorConverter2.GraphToWorkbook(oColor);

            aoVertexShapeValues[i + 1, 1] =
                oVertexShapeConverter.GraphToWorkbook(eShape);
        }

        oVertexColorRange.set_Value(Missing.Value, aoVertexColorValues);
        oVertexShapeRange.set_Value(Missing.Value, aoVertexShapeValues);
    }