package tim.prune.correlate;
-import java.text.NumberFormat;
import java.util.ArrayList;
+import java.util.TimeZone;
+
import javax.swing.table.AbstractTableModel;
+
import tim.prune.I18nManager;
-import tim.prune.data.Distance;
+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
/** ArrayList containing TableRow objects */
private ArrayList<MediaPreviewTableRow> _list = new ArrayList<MediaPreviewTableRow>();
/** Distance units */
- private Distance.Units _distanceUnits = Distance.Units.KILOMETRES;
- /** Number formatter */
- private static final NumberFormat FORMAT_ONE_DP = NumberFormat.getNumberInstance();
+ private Unit _distanceUnits = UnitSetLibrary.UNITS_KILOMETRES;
+ /** Current timezone */
+ private TimeZone _timezone = null;
- /** Static block to initialise the one d.p. formatter */
- static
- {
- FORMAT_ONE_DP.setMaximumFractionDigits(1);
- FORMAT_ONE_DP.setMinimumFractionDigits(1);
- }
-
/**
* Constructor
* @param inFirstColumnKey key for first column heading
*/
- public MediaPreviewTableModel(String inFirstColumnKey) {
+ public MediaPreviewTableModel(String inFirstColumnKey)
+ {
_firstColumnHeading = I18nManager.getText(inFirstColumnKey);
+ _timezone = TimezoneHelper.getSelectedTimezone();
}
/**
public Object getValueAt(int inRowIndex, int inColumnIndex)
{
MediaPreviewTableRow row = _list.get(inRowIndex);
- if (inColumnIndex == 0) return row.getMedia().getFile().getName();
+ if (inColumnIndex == 0) return row.getMedia().getName();
else if (inColumnIndex == 1) {
- return row.getMedia().getTimestamp().getText();
+ 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()) {
}
else if (inColumnIndex == 3) {
if (row.getPointPair().isValid()) {
- return FORMAT_ONE_DP.format(row.getDistance(_distanceUnits));
+ return DisplayUtils.formatOneDp(row.getDistance(_distanceUnits));
}
return "";
}
/**
* @param inUnits the distance units to use
*/
- public void setDistanceUnits(Distance.Units inUnits)
+ public void setDistanceUnits(Unit inUnits)
{
_distanceUnits = inUnits;
}