]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/distance/DistanceTableModel.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / function / distance / DistanceTableModel.java
diff --git a/tim/prune/function/distance/DistanceTableModel.java b/tim/prune/function/distance/DistanceTableModel.java
deleted file mode 100644 (file)
index 2c1d83d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-package tim.prune.function.distance;
-
-import tim.prune.I18nManager;
-import tim.prune.config.Config;
-import tim.prune.data.DataPoint;
-import tim.prune.data.Distance;
-import tim.prune.data.Unit;
-
-/**
- * Class to hold the table model for the distances table
- */
-public class DistanceTableModel extends GenericTableModel
-{
-       /** Distances */
-       private double[] _distances = null;
-       /** Column heading */
-       private static final String _toColLabel = I18nManager.getText("dialog.distances.column.to");
-       /** Column heading (depends on metric/imperial settings) */
-       private String _distanceLabel = null;
-       /** Previous distance units */
-       private Unit _previousDistUnit = null;
-
-       /**
-        * @return column count
-        */
-       public int getColumnCount()
-       {
-               return 2;
-       }
-
-       /**
-        * @param inRowIndex row index
-        * @param inColumnIndex column index
-        * @return cell value
-        */
-       public Object getValueAt(int inRowIndex, int inColumnIndex)
-       {
-               if (inColumnIndex == 0) {return getPointName(inRowIndex);}
-               if (_distances == null) {return 0.0;}
-               return new Double(_distances[inRowIndex]);
-       }
-
-       /**
-        * @param inColumnIndex column index
-        * @return column name
-        */
-       public String getColumnName(int inColumnIndex)
-       {
-               if (inColumnIndex == 0) {return _toColLabel;}
-               return _distanceLabel;
-       }
-
-       /**
-        * Get the column class (required for sorting)
-        * @param inColumnIndex column index
-        * @return Class of specified column
-        */
-       public Class<?> getColumnClass(int inColumnIndex)
-       {
-               if (inColumnIndex == 0) return String.class;
-               return Double.class;
-       }
-
-       /**
-        * Recalculate the distances
-        * @param inIndex index of selected 'from' point
-        */
-       public void recalculate(int inIndex)
-       {
-               // Which units to use?
-               Unit distUnit = Config.getUnitSet().getDistanceUnit();
-               _distanceLabel = I18nManager.getText("fieldname.distance") + " (" +
-                       I18nManager.getText(distUnit.getShortnameKey()) + ")";
-               final boolean distUnitsChanged = (distUnit != _previousDistUnit);
-               _previousDistUnit = distUnit;
-
-               // Initialize array of distances
-               int numRows = getRowCount();
-               if (_distances == null || _distances.length != numRows) {
-                       _distances = new double[numRows];
-               }
-               DataPoint fromPoint = _pointList.get(inIndex);
-               for (int i=0; i<numRows; i++) {
-                       if (i == inIndex) {
-                               _distances[i] = 0.0;
-                       }
-                       else {
-                               double rads = DataPoint.calculateRadiansBetween(fromPoint, _pointList.get(i));
-                               _distances[i] = Distance.convertRadiansToDistance(rads);
-                       }
-               }
-               // Let table know that it has to refresh data, and maybe the whole table too
-               if (distUnitsChanged) {
-                       fireTableStructureChanged();
-               }
-               else {
-                       fireTableDataChanged();
-               }
-       }
-}