X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Ffunction%2Fdistance%2FDistanceFunction.java;h=f37332420e5b662f2d472d4e76e1132725826cb3;hp=e0b7aed7354938616982ba8d933f6e531f37d651;hb=1db53356139320890a8d10e982865a1899e11b81;hpb=91b72650132900084810e58144e2d7cc91150924 diff --git a/src/tim/prune/function/distance/DistanceFunction.java b/src/tim/prune/function/distance/DistanceFunction.java index e0b7aed..f373324 100644 --- a/src/tim/prune/function/distance/DistanceFunction.java +++ b/src/tim/prune/function/distance/DistanceFunction.java @@ -77,8 +77,9 @@ public class DistanceFunction extends GenericFunction } _fromModel.init(pointList); _distModel.init(pointList); - _pointTable.getSelectionModel().setSelectionInterval(0, 0); - _distModel.recalculate(0); + final int pointIndex = getPointIndex(pointList, _app.getTrackInfo()); + _pointTable.getSelectionModel().setSelectionInterval(pointIndex, pointIndex); + _distModel.recalculate(pointIndex); _dialog.setVisible(true); } @@ -163,4 +164,25 @@ public class DistanceFunction extends GenericFunction } return pointList; } + + /** + * Find the point to select from the given point list + * @param pointList list of points + * @param inTrackInfo current track info to get selected point (if any) + * @return index of point to be selected + */ + private static int getPointIndex(ArrayList pointList, TrackInfo inTrackInfo) + { + DataPoint currPoint = inTrackInfo.getCurrentPoint(); + if (currPoint != null && currPoint.isWaypoint()) + { + // Currently selected point is a waypoint, so select this one for convenience + for (int i=0; i