X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2FSelectTracksFunction.java;h=fa06daebfeb0c095f95e68aed08d60628871fec9;hb=92dad5df664287acb51728e9ea599f150765d34a;hp=b7ff0a46c4759ea5c8caa0dba23798af581dd255;hpb=140e9d165f85c3d4f0435a311e091209313faa2a;p=GpsPrune.git diff --git a/tim/prune/function/SelectTracksFunction.java b/tim/prune/function/SelectTracksFunction.java index b7ff0a4..fa06dae 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,30 +28,24 @@ 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; - private JList _trackList = null; + private JList _trackList = null; /** * 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; } @@ -89,7 +82,7 @@ public class SelectTracksFunction extends GenericFunction } names[i] = name + " (" + _trackNameList.getNumPointsInTrack(i) + ")"; } - _trackList = new JList(names); + _trackList = new JList(names); _trackList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); mainPanel.add(new JScrollPane(_trackList), BorderLayout.CENTER); // select all button @@ -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