X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fgpsies%2FTrackListModel.java;fp=tim%2Fprune%2Ffunction%2Fgpsies%2FTrackListModel.java;h=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hp=850921303801d33878c6b429ec2709087ed7fd6a;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465;p=GpsPrune.git diff --git a/tim/prune/function/gpsies/TrackListModel.java b/tim/prune/function/gpsies/TrackListModel.java deleted file mode 100644 index 8509213..0000000 --- a/tim/prune/function/gpsies/TrackListModel.java +++ /dev/null @@ -1,159 +0,0 @@ -package tim.prune.function.gpsies; - -import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.Collections; - -import javax.swing.table.AbstractTableModel; - -import tim.prune.I18nManager; -import tim.prune.config.Config; -import tim.prune.data.Unit; -import tim.prune.function.search.SearchResult; - -/** - * Model for list of tracks from a search result (eg gpsies.com, geonames, overpass) - */ -public class TrackListModel extends AbstractTableModel -{ - /** List of tracks */ - private ArrayList _trackList = null; - /** Column heading for track name */ - private String _nameColLabel = null; - /** Column heading for length */ - private String _lengthColLabel = null; - /** Number of columns */ - private int _numColumns = 2; - /** Normally this model shows distances / lengths, except when this flag is true */ - private boolean _showPointTypes = false; - /** Formatter for distances */ - private NumberFormat _distanceFormatter = NumberFormat.getInstance(); - - /** - * Constructor - * @param inColumn1Key key for first column - * @param inColumn2Key key for second column - */ - public TrackListModel(String inColumn1Key, String inColumn2Key) - { - _nameColLabel = I18nManager.getText(inColumn1Key); - if (inColumn2Key != null) { - _lengthColLabel = I18nManager.getText(inColumn2Key); - } - _numColumns = (_lengthColLabel != null?2:1); - _distanceFormatter.setMaximumFractionDigits(1); - } - - /** - * @return column count - */ - public int getColumnCount() - { - return _numColumns; - } - - /** - * @return number of rows - */ - public int getRowCount() - { - if (_trackList == null) return 0; - return _trackList.size(); - } - - /** @return true if there are no rows */ - public boolean isEmpty() - { - return getRowCount() == 0; - } - - /** - * @param inColNum column number - * @return column label for given column - */ - public String getColumnName(int inColNum) - { - if (inColNum == 0) {return _nameColLabel;} - return _lengthColLabel; - } - - /** - * @param inShowTypes true to show point types, false for distances - */ - public void setShowPointTypes(boolean inShowTypes) - { - _showPointTypes = inShowTypes; - } - - /** - * @param inRowNum row number - * @param inColNum column number - * @return cell entry at given row and column - */ - public Object getValueAt(int inRowNum, int inColNum) - { - SearchResult track = _trackList.get(inRowNum); - if (inColNum == 0) { - return track.getTrackName(); - } - if (_showPointTypes) - { - return track.getPointType(); - } - double lengthM = track.getLength(); - // convert to current distance units - Unit distUnit = Config.getUnitSet().getDistanceUnit(); - double length = lengthM * distUnit.getMultFactorFromStd(); - // Make text - return _distanceFormatter.format(length) + " " + I18nManager.getText(distUnit.getShortnameKey()); - } - - /** - * Add a list of tracks to this model - * @param inList list of tracks to add - */ - public void addTracks(ArrayList inList) - { - addTracks(inList, false); - } - - /** - * Add a list of tracks to this model and optionally sort them - * @param inList list of tracks to add - * @param inSort true to sort results after adding - */ - public void addTracks(ArrayList inList, boolean inSort) - { - if (_trackList == null) {_trackList = new ArrayList();} - final int prevCount = _trackList.size(); - if (inList != null && inList.size() > 0) - { - _trackList.addAll(inList); - if (inSort) { - Collections.sort(_trackList); - } - } - final int updatedCount = _trackList.size(); - if (prevCount <= 0) - fireTableDataChanged(); - else - fireTableRowsInserted(prevCount, updatedCount-1); - } - - /** - * @param inRowNum row number from 0 - * @return track object for this row - */ - public SearchResult getTrack(int inRowNum) - { - return _trackList.get(inRowNum); - } - - /** - * Clear the list of tracks - */ - public void clear() - { - _trackList = null; - } -}