package org.mindswap.swoop.change; import javax.swing.tree.TreeNode; import javax.swing.table.TableModel; import javax.swing.table.DefaultTableModel; import org.mindswap.swoop.treetable.AbstractTreeTableModel; import org.mindswap.swoop.treetable.TreeTableModel; public class DefaultTreeTableModel extends AbstractTreeTableModel implements TreeTableModel { protected String[] cNames; public DefaultTreeTableModel(TreeTableNode root, String[] cNames) { super(root); this.cNames = cNames; } public int getChildCount(Object node) { return ((TreeTableNode) node).getChildCount(); } public Object getChild(Object node, int i) { return ((TreeTableNode) node).getChildAt(i); } // // The TreeTableNode interface. // public int getColumnCount() { return ((TreeTableNode) getRoot()).getColumnCount(); } public String getColumnName(int column) { return cNames[column]; } public Class getColumnClass(int column) { return column == 0 ? TreeTableModel.class : Object.class; } public Object getValueAt(Object node, int column) { return ((TreeTableNode) node).getValueAt(column); } public boolean isCellEditable(Object node, int column) { return true; } public void setValueAt(Object aValue, Object node, int column) { ((TreeTableNode) node).setValueAt(aValue, column); } }