ReadVisibility
(
ExcelTableReader.ExcelTableRow oRow,
GroupVisibilityConverter oGroupVisibilityConverter,
String sGroupName,
HashSet<String> oSkippedGroupNames,
HashSet<String> oHiddenGroupNames
)
{
Debug.Assert(oRow != null);
Debug.Assert(oGroupVisibilityConverter != null);
Debug.Assert( !String.IsNullOrEmpty(sGroupName) );
Debug.Assert(oSkippedGroupNames != null);
Debug.Assert(oHiddenGroupNames != null);
AssertValid();
// Assume a default visibility.
Visibility eVisibility = Visibility.Show;
String sVisibility;
if (
oRow.TryGetNonEmptyStringFromCell(
CommonTableColumnNames.Visibility, out sVisibility)
&&
!oGroupVisibilityConverter.TryWorkbookToGraph(
sVisibility, out eVisibility)
)
{
OnInvalidVisibility(oRow);
}
if (eVisibility == Visibility.Skip)
{
oSkippedGroupNames.Add(sGroupName);
}
else if (eVisibility == Visibility.Hide)
{
oHiddenGroupNames.Add(sGroupName);
}
}