Added a SelectedRanges class that brackets any selected indices
selecting static data now records the ranges
static ranges are now being properly selected and deselected