]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/correlate/MediaPreviewTableModel.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / correlate / MediaPreviewTableModel.java
diff --git a/tim/prune/correlate/MediaPreviewTableModel.java b/tim/prune/correlate/MediaPreviewTableModel.java
deleted file mode 100644 (file)
index 26d25f1..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-package tim.prune.correlate;
-
-import java.util.ArrayList;
-import java.util.TimeZone;
-
-import javax.swing.table.AbstractTableModel;
-
-import tim.prune.I18nManager;
-import tim.prune.config.TimezoneHelper;
-import tim.prune.data.Unit;
-import tim.prune.data.UnitSetLibrary;
-import tim.prune.gui.DisplayUtils;
-
-/**
- * Class to act as the table model for the correlation preview table
- */
-public class MediaPreviewTableModel extends AbstractTableModel
-{
-       /** Text for first column heading */
-       private String _firstColumnHeading = null;
-       /** ArrayList containing TableRow objects */
-       private ArrayList<MediaPreviewTableRow> _list = new ArrayList<MediaPreviewTableRow>();
-       /** Distance units */
-       private Unit _distanceUnits = UnitSetLibrary.UNITS_KILOMETRES;
-       /** Current timezone */
-       private TimeZone _timezone = null;
-
-
-       /**
-        * Constructor
-        * @param inFirstColumnKey key for first column heading
-        */
-       public MediaPreviewTableModel(String inFirstColumnKey)
-       {
-               _firstColumnHeading = I18nManager.getText(inFirstColumnKey);
-               _timezone = TimezoneHelper.getSelectedTimezone();
-       }
-
-       /**
-        * @return the column count, always 5
-        */
-       public int getColumnCount() {
-               return 5;
-       }
-
-       /**
-        * Get the name of the column
-        * @param inColNum column number
-        * @return column name
-        */
-       public String getColumnName(int inColNum)
-       {
-               if (inColNum == 0) return _firstColumnHeading;
-               else if (inColNum == 1) return I18nManager.getText("fieldname.timestamp");
-               else if (inColNum == 2) return I18nManager.getText("dialog.correlate.select.timediff");
-               else if (inColNum == 3) return I18nManager.getText("fieldname.distance");
-               return I18nManager.getText("dialog.correlate.options.correlate");
-       }
-
-
-       /**
-        * @return the row count
-        */
-       public int getRowCount()
-       {
-               return _list.size();
-       }
-
-
-       /**
-        * Get the selected row from the table
-        * @param inRowIndex row index
-        * @return table row object
-        */
-       public MediaPreviewTableRow getRow(int inRowIndex)
-       {
-               return _list.get(inRowIndex);
-       }
-
-
-       /**
-        * Get the value of the specified cell
-        * @param inRowIndex row index
-        * @param inColumnIndex column index
-        * @return value of specified cell
-        */
-       public Object getValueAt(int inRowIndex, int inColumnIndex)
-       {
-               MediaPreviewTableRow row = _list.get(inRowIndex);
-               if (inColumnIndex == 0) return row.getMedia().getName();
-               else if (inColumnIndex == 1) {
-                       if (row.getMedia().hasTimestamp()) {
-                               return row.getMedia().getTimestamp().getText(_timezone);
-                       }
-                       return ""; // media doesn't have a timestamp
-               }
-               else if (inColumnIndex == 2) {
-                       if (row.getPointPair().isValid()) {
-                               return row.getTimeDiff().getDescription();
-                       }
-                       return "";
-               }
-               else if (inColumnIndex == 3) {
-                       if (row.getPointPair().isValid()) {
-                               return DisplayUtils.formatOneDp(row.getDistance(_distanceUnits));
-                       }
-                       return "";
-               }
-               return row.getCorrelateFlag();
-       }
-
-
-       /**
-        * @param inUnits the distance units to use
-        */
-       public void setDistanceUnits(Unit inUnits)
-       {
-               _distanceUnits = inUnits;
-       }
-
-
-       /**
-        * Clear the list
-        */
-       public void reset()
-       {
-               _list.clear();
-       }
-
-
-       /**
-        * Add a row to the list
-        * @param inRow row to add
-        */
-       public void addRow(MediaPreviewTableRow inRow)
-       {
-               _list.add(inRow);
-       }
-
-
-       /**
-        * Get the class of objects in the given column
-        * @see javax.swing.table.AbstractTableModel#getColumnClass(int)
-        */
-       public Class<?> getColumnClass(int inColumnIndex)
-       {
-               if (inColumnIndex == 4) {return Boolean.class;}
-               return super.getColumnClass(inColumnIndex);
-       }
-
-
-       /**
-        * Get whether the given cell is editable
-        * @see javax.swing.table.AbstractTableModel#isCellEditable(int, int)
-        */
-       public boolean isCellEditable(int inRowIndex, int inColumnIndex)
-       {
-               if (inColumnIndex == 4) {return true;}
-               return super.isCellEditable(inRowIndex, inColumnIndex);
-       }
-
-
-       /**
-        * @return true if any of the correlate flags are on
-        */
-       public boolean hasAnySelected()
-       {
-               for (int i=0; i<getRowCount(); i++)
-               {
-                       if (getRow(i).getCorrelateFlag().booleanValue()) {
-                               return true;
-                       }
-               }
-               // None switched on
-               return false;
-       }
-
-
-       /**
-        * Set the value at the given table cell
-        * @see javax.swing.table.AbstractTableModel#setValueAt(java.lang.Object, int, int)
-        */
-       public void setValueAt(Object inValue, int inRowIndex, int inColumnIndex)
-       {
-               // can only edit the correlate column
-               if (inColumnIndex == 4)
-               {
-                       MediaPreviewTableRow row = getRow(inRowIndex);
-                       // Don't allow setting of items which can't be correlated
-                       if (row.getPointPair().isValid()) {
-                               row.setCorrelateFlag(((Boolean) inValue).booleanValue());
-                       }
-               }
-       }
-}