package jeql.monitor.ui;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import jeql.monitor.MonitorItem;
import jeql.monitor.MonitorModel;
public class MonitorItemsTableModel
extends AbstractTableModel
{
private MonitorModel model;
private List<MonitorItem> items;
public MonitorItemsTableModel()
{
//setModel(model);
}
public void update()
{
fireTableDataChanged();
}
public void setModel(MonitorModel model)
{
this.model = model;
items = model.getItems();
fireTableDataChanged();
}
public MonitorModel getModel()
{
return model;
}
public int getRowCount()
{
if (items == null) return 0;
return items.size();
}
public int getColumnCount()
{
return 5;
}
public String getColumnName(int column)
{
switch (column) {
case 0: return "Line";
case 1: return "Scan";
case 2: return "Row";
case 3: return "Operation";
case 4: return "Data";
}
return "";
}
public Class<?> getColumnClass(int column)
{
switch (column) {
case 0: return Integer.class;
case 1: return Integer.class;
case 2: return Long.class;
case 3: return String.class;
case 4: return String.class;
}
return String.class;
}
public Object getValueAt(int row, int column)
{
MonitorItem mi = items.get(row);
switch (column) {
case 0:
return mi.getLine();
case 1:
return mi.getScanCount();
case 2:
return mi.getRowCount();
case 3:
return mi.getTag();
case 4:
return mi.getRowDesc();
}
return "foo";
}
}