public boolean isCellEditable(int row, int column) { if (column == 0) return true; Object o = getValueAt (row, column); if (o == null) { return false; } if (o instanceof Node.Property) { return ((Node.Property) o).canWrite(); } return false; }
public Object getValueAt(int row, int column) { return column == 0 ? tree.getPathForRow(row).getLastPathComponent() : nodeTableModel.getPropertyFor( nodeForRow(row), propertyForColumn(column)); }
public void tableChanged(TableModelEvent e) { int c = e.getColumn(); int column = c == TableModelEvent.ALL_COLUMNS ? TableModelEvent.ALL_COLUMNS : c + 1; fireTableChanged(new TableModelEvent(TreeTableModelAdapter.this, e.getFirstRow(), e.getLastRow(), column, e.getType())); }
private void updateNodes() { Node[] nodes = new Node[tree.getRowCount()]; for (int i = 0; i < tree.getRowCount(); i++) { nodes[i] = Visualizer.findNode(tree.getPathForRow(i).getLastPathComponent()); } setNodes(nodes); // retore selection paths if (tps != null) { tree.setSelectionPaths(tps); tps = null; } } }
public TreeTable(NodeTreeModel treeModel, NodeTableModel tableModel) { super(); setSurrendersFocusOnKeystroke(true); this.tree = new TreeTableCellRenderer(treeModel); this.tableModel = new TreeTableModelAdapter(tree, tableModel); tree.setCellRenderer(new NodeRenderer()); // Install a tableModel representing the visible rows in the tree. setModel(this.tableModel); // Force the JTable and JTree to share their row selection models. selectionWrapper = new ListToTreeSelectionModelWrapper(); tree.setSelectionModel(selectionWrapper); setSelectionModel(selectionWrapper.getListSelectionModel()); getTableHeader().setReorderingAllowed(false); // Install the tree editor renderer and editor. setDefaultRenderer(TreeTableModelAdapter.class, tree); // Install property renderer and editor. tableCell = new TableSheetCell(this.tableModel); tableCell.setFlat(true); setDefaultRenderer(Property.class, tableCell); setDefaultEditor(Property.class, tableCell); getTableHeader().setDefaultRenderer(tableCell); getAccessibleContext().setAccessibleName(NbBundle.getMessage(TreeTable.class, "ACSN_TreeTable")); // NOI18N getAccessibleContext().setAccessibleDescription( // NOI18N NbBundle.getMessage(TreeTable.class, "ACSD_TreeTable")); // NOI18N setFocusCycleRoot(true); setFocusTraversalPolicy(new STPolicy()); putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); putClientProperty("JTable.autoStartsEdit", Boolean.FALSE); initKeysAndActions(); }
public void tableChanged(TableModelEvent e) { int c = e.getColumn(); int column = c == TableModelEvent.ALL_COLUMNS ? TableModelEvent.ALL_COLUMNS : c + 1; fireTableChanged(new TableModelEvent(TreeTableModelAdapter.this, e.getFirstRow(), e.getLastRow(), column, e.getType())); }
private void updateNodes() { Node[] nodes = new Node[tree.getRowCount()]; for (int i = 0; i < tree.getRowCount(); i++) { nodes[i] = Visualizer.findNode(tree.getPathForRow(i).getLastPathComponent()); } setNodes(nodes); // retore selection paths if (tps != null) { tree.setSelectionPaths (tps); tps = null; } } }
this.tableModel = new TreeTableModelAdapter(tree, tableModel);
public Object getValueAt(int row, int column) { return column == 0 ? tree.getPathForRow(row).getLastPathComponent() : nodeTableModel.getPropertyFor( nodeForRow(row), propertyForColumn(column)); }
public void tableChanged(TableModelEvent e) { int c = e.getColumn(); int column = (c == TableModelEvent.ALL_COLUMNS) ? TableModelEvent.ALL_COLUMNS : (c + 1); fireTableChanged( new TableModelEvent(TreeTableModelAdapter.this, e.getFirstRow(), e.getLastRow(), column, e.getType()) ); }
public boolean isCellEditable(int row, int column) { if (column == 0) return true; Object o = getValueAt (row, column); if (o == null) { return false; } if (o instanceof Node.Property) { return ((Node.Property) o).canWrite(); } return false; }
private void updateNodes() { Node[] nodes = new Node[tree.getRowCount()]; for (int i = 0; i < tree.getRowCount(); i++) { nodes[i] = Visualizer.findNode(tree.getPathForRow(i).getLastPathComponent()); } setNodes(nodes); // retore selection paths if (tps != null) { tree.setSelectionPaths (tps); tps = null; } } }
this.tableModel = new TreeTableModelAdapter(tree, tableModel);
@Override public Object getValueAt(int row, int column) { if (column == 0) { TreePath path = tree.getPathForRow(row); if (path == null) { throw new IndexOutOfBoundsException("row " + row + " vs. count " + tree.getRowCount() + " with UI " + tree.getUI()); } return path.getLastPathComponent(); } else { return nodeTableModel.getPropertyFor(nodeForRow(row), propertyForColumn(column)); } }
@Override public boolean isCellEditable(int row, int column) { if (column == 0) { return true; } Object o = getValueAt(row, column); if (o == null) { return false; } if (o instanceof Node.Property) { return ((Node.Property) o).canWrite(); } return false; }