/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.directory.editors.district;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.MessageBox;
import clips.delegate.directory.complex.DirectoryDistrictItem;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
*
* @author lacoste
*/
public class TableModelEditDistricts extends AbstractTableModel {
public static final int COLCOUNT = 2;
public static final int COL_ID = 0;
public static final int COL_TITLE = 1;
private ArrayList<DirectoryDistrictItem> districts;
public TableModelEditDistricts(List<DirectoryDistrictItem> items) throws ClipsException {
districts = new ArrayList<DirectoryDistrictItem>(items);
}
@Override
public int getRowCount() {
return districts.size();
}
@Override
public int getColumnCount() {
return COLCOUNT;
}
@Override
public String getColumnName(int column) {
switch (column) {
case COL_ID : return "ID";
case COL_TITLE: return "Название";
default: return "";
}
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (districts.get(rowIndex).getID() == 0) {
return false;
}
if (columnIndex == COL_ID) {
return false;
}
return true;
}
@Override
public void setValueAt(Object obj, int row, int col) {
try {
if (col == COL_TITLE) {
districts.get(row).setTitle(obj.toString());
}
} catch (ClipsException ex) {
MessageBox.showException(ex);
}
fireTableCellUpdated(row, col);
}
public DirectoryDistrictItem getItemAt(int row) {
return districts.get(row);
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
DirectoryDistrictItem item = districts.get(rowIndex);
switch (columnIndex) {
case COL_ID : return item.getID();
case COL_TITLE: return item;
default: return null;
}
}
}