X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2FSelectTracksFunction.java;h=f2fe23b1c5488f69a89a1c51f90d2fa712500277;hp=b7ff0a46c4759ea5c8caa0dba23798af581dd255;hb=649c5da6ee1bbc590699e11a92316ece2ea8512d;hpb=eebbb64b5d63f9eea43a0dff908c30361a376768 diff --git a/tim/prune/function/SelectTracksFunction.java b/tim/prune/function/SelectTracksFunction.java index b7ff0a4..f2fe23b 100644 --- a/tim/prune/function/SelectTracksFunction.java +++ b/tim/prune/function/SelectTracksFunction.java @@ -18,8 +18,7 @@ import javax.swing.ListSelectionModel; import tim.prune.App; import tim.prune.GenericFunction; import tim.prune.I18nManager; -import tim.prune.data.Altitude; -import tim.prune.data.Field; +import tim.prune.data.DataPoint; import tim.prune.data.SourceInfo; import tim.prune.data.Track; import tim.prune.load.TrackNameList; @@ -29,9 +28,7 @@ import tim.prune.load.TrackNameList; */ public class SelectTracksFunction extends GenericFunction { - private Field[] _fieldArray = null; - private Object[][] _dataArray = null; - private Altitude.Format _altFormat = Altitude.Format.NO_FORMAT; + private Track _track = null; private SourceInfo _sourceInfo = null; private TrackNameList _trackNameList = null; private JDialog _dialog = null; @@ -40,19 +37,15 @@ public class SelectTracksFunction extends GenericFunction /** * Constructor * @param inApp app object to use for load - * @param inFieldArray field array - * @param inDataArray data array - * @param inAltFormat altitude format + * @param inTrack loaded track object * @param inSourceInfo source information * @param inTrackNameList track name list */ - public SelectTracksFunction(App inApp, Field[] inFieldArray, Object[][] inDataArray, - Altitude.Format inAltFormat, SourceInfo inSourceInfo, TrackNameList inTrackNameList) + public SelectTracksFunction(App inApp, Track inTrack, SourceInfo inSourceInfo, + TrackNameList inTrackNameList) { super(inApp); - _fieldArray = inFieldArray; - _dataArray = inDataArray; - _altFormat = inAltFormat; + _track = inTrack; _sourceInfo = inSourceInfo; _trackNameList = inTrackNameList; } @@ -147,13 +140,10 @@ public class SelectTracksFunction extends GenericFunction private void finish() { _dialog.dispose(); - // Load track as it is, which is expensive but makes interrogating waypoints easier - Track loadedTrack = new Track(); - loadedTrack.load(_fieldArray, _dataArray, _altFormat); int[] tracks = _trackList.getSelectedIndices(); // Check if all tracks are selected, then don't have to filter at all if (tracks.length == _trackNameList.getNumTracks()) { - _app.informDataLoaded(loadedTrack, _sourceInfo); + _app.informDataLoaded(_track, _sourceInfo); } else { @@ -165,13 +155,13 @@ public class SelectTracksFunction extends GenericFunction // Loop over all points, counting points which survive filter and making flag array int numPointsSelected = 0; int currentTrack = -1; - final int totalPoints = loadedTrack.getNumPoints(); + final int totalPoints = _track.getNumPoints(); boolean[] selectedPoints = new boolean[totalPoints]; for (int i=0; i