1 17 package org.columba.calendar.ui.list; 18 19 import java.util.Vector ; 20 21 import javax.swing.table.AbstractTableModel ; 22 23 import org.columba.calendar.base.api.ICalendarItem; 24 25 30 31 public class CheckableItemListTableModel extends AbstractTableModel { 32 private Vector data; 33 34 private final static String [] columns = { "Boolean", "String" }; 35 36 39 public CheckableItemListTableModel() { 40 super(); 41 42 data = new Vector (); 43 44 } 45 46 49 public int getColumnCount() { 50 return columns.length; 52 } 53 54 57 public int getRowCount() { 58 return data.size(); 59 } 60 61 64 public Object getValueAt(int row, int column) { 65 66 ICalendarItem item = (ICalendarItem) data.get(row); 67 74 return item; 75 } 76 77 public void addElement(ICalendarItem item) { 78 data.add(item); 79 } 80 81 public void setElement(int index, ICalendarItem item) { 82 data.set(index, item); 83 } 84 85 88 public Class getColumnClass(int column) { 89 return getValueAt(0, column).getClass(); 90 } 91 92 95 public boolean isCellEditable(int row, int column) { 96 if (column == 0) 97 return true; 98 99 else 100 return false; 101 } 102 103 106 public void setValueAt(Object value, int row, int column) { 107 108 ICalendarItem item = (ICalendarItem) data.get(row); 109 110 if (column == 0) 111 item.setSelected(((Boolean ) value).booleanValue()); 112 113 } 114 115 118 public String getColumnName(int column) { 119 return columns[column]; 120 } 121 122 public int count() { 123 return data.size(); 124 } 125 126 public ICalendarItem getElement(int index) { 127 return (ICalendarItem) data.get(index); 128 } 129 130 public void updateRow(ICalendarItem item) { 131 int index = data.indexOf(item); 132 fireTableRowsUpdated(index, index); 133 } 134 } 135 | Popular Tags |