1 package tim.prune.function.cache;
3 import javax.swing.table.AbstractTableModel;
5 import tim.prune.I18nManager;
8 * Class to act as a table model for the list of tile sets
10 public final class TileSetTableModel extends AbstractTableModel
12 /** Model from which values are drawn */
13 private TileCacheModel _model = null;
18 * @param inModel model to use
20 public TileSetTableModel(TileCacheModel inModel) {
24 /** @return the column count (always constant) */
25 public int getColumnCount() {
29 /** @return name of specified column */
30 public String getColumnName(int inColumnIndex)
32 switch (inColumnIndex)
34 case 0: return I18nManager.getText("dialog.diskcache.table.path");
35 case 1: return I18nManager.getText("dialog.diskcache.table.usedby");
36 case 2: return I18nManager.getText("dialog.diskcache.table.zoom");
37 case 3: return I18nManager.getText("dialog.diskcache.table.tiles");
38 case 4: return I18nManager.getText("dialog.diskcache.table.megabytes");
44 * @return number of rows in the table
46 public int getRowCount()
50 return _model.getNumTileSets();
54 * @param inRowIndex row index
55 * @param inColumnIndex column index
56 * @return the value of the specified cell
58 public Object getValueAt(int inRowIndex, int inColumnIndex)
60 if (_model != null && inColumnIndex >= 0 && inColumnIndex < getColumnCount())
62 TileSet set = _model.getTileSet(inRowIndex);
65 switch (inColumnIndex)
67 case 0: return set.getPath();
68 case 1: return set.getUsedBy();
69 case 2: return set.getRowInfo().getZoomRange();
70 case 3: return "" + set.getRowInfo().getNumTiles();
71 case 4: return "" + (set.getRowInfo().getTotalSize() / 1024 / 1024) + " MB";