3 import java.util.ArrayList;
4 import javax.swing.AbstractListModel;
6 import tim.prune.data.DataPoint;
7 import tim.prune.data.Track;
10 * Class to act as list model for the waypoint list
12 public class WaypointListModel extends AbstractListModel
15 ArrayList<DataPoint> _waypoints = null;
18 * Constructor giving Track object
19 * @param inTrack Track object
21 public WaypointListModel(Track inTrack)
24 _waypoints = new ArrayList<DataPoint>();
25 _track.getWaypoints(_waypoints);
29 * @see javax.swing.ListModel#getSize()
33 return _waypoints.size();
37 * @see javax.swing.ListModel#getElementAt(int)
39 public Object getElementAt(int inIndex)
41 if (inIndex < 0 || inIndex >= getSize()) return "";
42 return _waypoints.get(inIndex).getWaypointName();
46 * Get the waypoint at the given index
47 * @param inIndex index number, starting at 0
48 * @return DataPoint object
50 public DataPoint getWaypoint(int inIndex)
52 return _waypoints.get(inIndex);
56 * Fire event to notify that contents have changed
58 public void fireChanged()
60 _track.getWaypoints(_waypoints);
61 this.fireContentsChanged(this, 0, getSize()-1);