AutoFillVertexTable
(
ListObject oVertexTable,
AutoFillUserSettings oAutoFillUserSettings,
AutoFillWorkbookResults oAutoFillWorkbookResults
)
{
Debug.Assert(oVertexTable != null);
Debug.Assert(oAutoFillUserSettings != null);
Debug.Assert(oAutoFillWorkbookResults != null);
Boolean bSourceColumnContainsNumbers;
Double dSourceCalculationNumber1, dSourceCalculationNumber2;
Int32 iDecimalPlaces;
ICollection<String> oCategoryNames;
if ( TryAutoFillColorColumn(oVertexTable,
oAutoFillUserSettings.VertexColorSourceColumnName,
VertexTableColumnNames.Color,
oAutoFillUserSettings.VertexColorDetails,
out bSourceColumnContainsNumbers,
out dSourceCalculationNumber1,
out dSourceCalculationNumber2,
out iDecimalPlaces, out oCategoryNames
) )
{
oAutoFillWorkbookResults.VertexColorResults =
new AutoFillColorColumnResults(
bSourceColumnContainsNumbers,
oAutoFillUserSettings.VertexColorSourceColumnName,
dSourceCalculationNumber1, dSourceCalculationNumber2,
iDecimalPlaces,
oAutoFillUserSettings.VertexColorDetails.DestinationColor1,
oAutoFillUserSettings.VertexColorDetails.DestinationColor2,
oCategoryNames
);
}
AutoFillNumericComparisonColumn(oVertexTable,
oAutoFillUserSettings.VertexShapeSourceColumnName,
VertexTableColumnNames.Shape,
oAutoFillUserSettings.VertexShapeDetails
);
if ( TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexRadiusSourceColumnName,
VertexTableColumnNames.Radius,
oAutoFillUserSettings.VertexRadiusDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
) )
{
oAutoFillWorkbookResults.VertexRadiusResults =
new AutoFillNumericRangeColumnResults(
oAutoFillUserSettings.VertexRadiusSourceColumnName,
dSourceCalculationNumber1, dSourceCalculationNumber2,
iDecimalPlaces,
oAutoFillUserSettings.VertexRadiusDetails.
DestinationNumber1,
oAutoFillUserSettings.VertexRadiusDetails.
DestinationNumber2,
oAutoFillUserSettings.VertexRadiusDetails.UseLogs
);
}
if ( TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexAlphaSourceColumnName,
CommonTableColumnNames.Alpha,
oAutoFillUserSettings.VertexAlphaDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
) )
{
oAutoFillWorkbookResults.VertexAlphaResults =
new AutoFillNumericRangeColumnResults(
oAutoFillUserSettings.VertexAlphaSourceColumnName,
dSourceCalculationNumber1, dSourceCalculationNumber2,
iDecimalPlaces,
oAutoFillUserSettings.VertexAlphaDetails.DestinationNumber1,
oAutoFillUserSettings.VertexAlphaDetails.DestinationNumber2,
oAutoFillUserSettings.VertexAlphaDetails.UseLogs
);
}
AutoFillColumnViaCopy(oVertexTable,
oAutoFillUserSettings.VertexLabelSourceColumnName,
VertexTableColumnNames.Label
);
TryAutoFillColorColumn(oVertexTable,
oAutoFillUserSettings.VertexLabelFillColorSourceColumnName,
VertexTableColumnNames.LabelFillColor,
oAutoFillUserSettings.VertexLabelFillColorDetails,
out bSourceColumnContainsNumbers,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces, out oCategoryNames
);
AutoFillNumericComparisonColumn(oVertexTable,
oAutoFillUserSettings.VertexLabelPositionSourceColumnName,
VertexTableColumnNames.LabelPosition,
oAutoFillUserSettings.VertexLabelPositionDetails
);
AutoFillColumnViaCopy(oVertexTable,
oAutoFillUserSettings.VertexToolTipSourceColumnName,
VertexTableColumnNames.ToolTip
);
AutoFillNumericComparisonColumn(oVertexTable,
oAutoFillUserSettings.VertexVisibilitySourceColumnName,
CommonTableColumnNames.Visibility,
oAutoFillUserSettings.VertexVisibilityDetails
);
TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexLayoutOrderSourceColumnName,
VertexTableColumnNames.LayoutOrder,
oAutoFillUserSettings.VertexLayoutOrderDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
);
Boolean bXAutoFilled = TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexXSourceColumnName,
VertexTableColumnNames.X,
oAutoFillUserSettings.VertexXDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
);
Double dYSourceCalculationNumber1, dYSourceCalculationNumber2;
Boolean bYAutoFilled = TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexYSourceColumnName,
VertexTableColumnNames.Y,
oAutoFillUserSettings.VertexYDetails,
out dYSourceCalculationNumber1, out dYSourceCalculationNumber2,
out iDecimalPlaces
);
if (bXAutoFilled && bYAutoFilled)
{
// (Note that the decimal places for the Y column take precedence
// here.)
oAutoFillWorkbookResults.VertexXResults =
new AutoFillNumericRangeColumnResults(
oAutoFillUserSettings.VertexXSourceColumnName,
dSourceCalculationNumber1, dSourceCalculationNumber2,
iDecimalPlaces,
oAutoFillUserSettings.VertexXDetails.DestinationNumber1,
oAutoFillUserSettings.VertexXDetails.DestinationNumber2,
oAutoFillUserSettings.VertexXDetails.UseLogs
);
oAutoFillWorkbookResults.VertexYResults =
new AutoFillNumericRangeColumnResults(
oAutoFillUserSettings.VertexYSourceColumnName,
dYSourceCalculationNumber1, dYSourceCalculationNumber2,
iDecimalPlaces,
oAutoFillUserSettings.VertexYDetails.DestinationNumber1,
oAutoFillUserSettings.VertexYDetails.DestinationNumber2,
oAutoFillUserSettings.VertexYDetails.UseLogs
);
}
TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexPolarRSourceColumnName,
VertexTableColumnNames.PolarR,
oAutoFillUserSettings.VertexPolarRDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
);
TryAutoFillNumericRangeColumn(oVertexTable,
oAutoFillUserSettings.VertexPolarAngleSourceColumnName,
VertexTableColumnNames.PolarAngle,
oAutoFillUserSettings.VertexPolarAngleDetails,
out dSourceCalculationNumber1, out dSourceCalculationNumber2,
out iDecimalPlaces
);
}