/**\r
* Operation to undo a delete of a range of points\r
*/\r
-public class UndoDeleteRange implements UndoOperation\r
+public class UndoDeleteRange extends UndoDeleteOperation\r
{\r
/**\r
* Inner class to hold a single range information set\r
*/\r
- class RangeInfo\r
+ static class RangeInfo\r
{\r
public int _startIndex = -1;\r
public DataPoint[] _points = null;\r
{\r
return _startIndex >= 0 && _points != null && _points.length > 0;\r
}\r
+\r
+ /**\r
+ * @return end index of range\r
+ */\r
+ public int getEndIndex()\r
+ {\r
+ return _startIndex + _points.length - 1;\r
+ }\r
}\r
\r
\r
// Undo both the ranges\r
performUndo(inTrackInfo, _rangeInfo1);\r
performUndo(inTrackInfo, _rangeInfo2);\r
+ // If there's a current point/range selected, maybe need to adjust start and/or end\r
+ if (_rangeInfo1 != null && _rangeInfo1.isValid()) {\r
+ modifySelection(inTrackInfo, _rangeInfo1._startIndex, _rangeInfo1.getEndIndex());\r
+ }\r
+ if (_rangeInfo2 != null && _rangeInfo2.isValid()) {\r
+ modifySelection(inTrackInfo, _rangeInfo2._startIndex, _rangeInfo2.getEndIndex());\r
+ }\r
}\r
\r
/**\r