]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/gui/WaypointListModel.java
Version 16, February 2014
[GpsPrune.git] / tim / prune / gui / WaypointListModel.java
index 10f16a95af7d808891cca2ed247d00fdfb1b5f11..3d5dd1fb62bafaa222df382109ead68756ad0605 100644 (file)
@@ -9,10 +9,10 @@ import tim.prune.data.Track;
 /**
  * Class to act as list model for the waypoint list
  */
-public class WaypointListModel extends AbstractListModel
+public class WaypointListModel extends AbstractListModel<String>
 {
        Track _track = null;
-       ArrayList _waypoints = null;
+       ArrayList<DataPoint> _waypoints = null;
 
        /**
         * Constructor giving Track object
@@ -21,7 +21,7 @@ public class WaypointListModel extends AbstractListModel
        public WaypointListModel(Track inTrack)
        {
                _track = inTrack;
-               _waypoints = new ArrayList();
+               _waypoints = new ArrayList<DataPoint>();
                _track.getWaypoints(_waypoints);
        }
 
@@ -36,9 +36,13 @@ public class WaypointListModel extends AbstractListModel
        /**
         * @see javax.swing.ListModel#getElementAt(int)
         */
-       public Object getElementAt(int inIndex)
+       public String getElementAt(int inIndex)
        {
-               return ((DataPoint)_waypoints.get(inIndex)).getWaypointName();
+               DataPoint p = null;
+               if (inIndex < 0 || inIndex >= getSize()
+                       || _waypoints == null || (p = _waypoints.get(inIndex)) == null)
+                       return "";
+               return p.getWaypointName();
        }
 
        /**
@@ -48,7 +52,7 @@ public class WaypointListModel extends AbstractListModel
         */
        public DataPoint getWaypoint(int inIndex)
        {
-               return (DataPoint) _waypoints.get(inIndex);
+               return _waypoints.get(inIndex);
        }
 
        /**