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);
}