OnSelectedRangeChanged
(
IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar
)
{
Debug.Assert(oDynamicFilterRangeTrackBar != null);
AssertValid();
// Turn off automatic recalculation. The dynamic filter column in the
// edge or vertex table needs to be recalculated as the RangeTrackBar
// is manipulated, but to minimize delays nothing else should be
// recalculated.
SetManualCalculation();
// Update the persisted settings for this RangeTrackBar. This updates
// two cells in the dynamic filter settings table.
String sSelectedMinimumAddress, sSelectedMaximumAddress;
m_oDynamicFilterSettings.SetSettings(
oDynamicFilterRangeTrackBar.TableName,
oDynamicFilterRangeTrackBar.ColumnName,
oDynamicFilterRangeTrackBar.SelectedMinimum,
oDynamicFilterRangeTrackBar.SelectedMaximum,
out sSelectedMinimumAddress, out sSelectedMaximumAddress);
// Now recalculate just the dynamic filter column.
DynamicFilterColumns eDynamicFilterColumns = DynamicFilterColumns.None;
if (oDynamicFilterRangeTrackBar.TableName == TableNames.Edges)
{
eDynamicFilterColumns = DynamicFilterColumns.EdgeTable;
}
else if (oDynamicFilterRangeTrackBar.TableName == TableNames.Vertices)
{
eDynamicFilterColumns = DynamicFilterColumns.VertexTable;
}
else
{
Debug.Assert(false);
}
RecalculateDynamicFilterColumns(eDynamicFilterColumns);
FireDynamicFilterColumnsChanged(eDynamicFilterColumns);
}