protected DefaultOutlineModel(TreeModel treeModel, RowModel rowModel, boolean largeModel, String nodesColumnLabel) { this( treeModel, new ProxyTableModel(rowModel), largeModel, nodesColumnLabel ); }
public void setValueAt(Object aValue, int rowIndex, int columnIndex) { Object node = getNodeForRow(rowIndex); rowmodel.setValueFor (node, columnIndex, aValue); TableModelEvent e = new TableModelEvent (this, rowIndex, rowIndex, columnIndex); fire(e); }
/** Get the object that will be passed to the RowModel to fetch values * for the given row. * @param row The row we need the tree node for */ private Object getNodeForRow(int row) { return getOutlineModel().getValueAt(row, 0); }
public Object getValueAt(int rowIndex, int columnIndex) { Object node = getNodeForRow(rowIndex); return rowmodel.getValueFor(node, columnIndex); }
/** Creates a new instance of DefaultOutlineModel. <strong><b>Note</b> * Do not fire table structure changes from the wrapped TableModel (value * changes are okay). Changes that affect the number of rows must come * from the TreeModel. */ protected DefaultOutlineModel(TreeModel treeModel, TableModel tableModel, boolean largeModel, String nodesColumnLabel) { this.treeModel = treeModel; this.tableModel = tableModel; if (nodesColumnLabel != null) { this.nodesColumnLabel = nodesColumnLabel; } layout = largeModel ? (AbstractLayoutCache) new FixedHeightLayoutCache() : (AbstractLayoutCache) new VariableHeightLayoutCache(); broadcaster = new EventBroadcaster (this); layout.setRootVisible(true); layout.setModel(this); treePathSupport = new TreePathSupport(this, layout); treePathSupport.addTreeExpansionListener(broadcaster); treePathSupport.addTreeWillExpandListener(broadcaster); treeModel.addTreeModelListener(broadcaster); tableModel.addTableModelListener(broadcaster); if (tableModel instanceof ProxyTableModel) { ((ProxyTableModel) tableModel).setOutlineModel(this); } }
public boolean isCellEditable(int rowIndex, int columnIndex) { Object node = getNodeForRow(rowIndex); return rowmodel.isCellEditable (node, columnIndex); }