/** Convenience getter for the <code>TableModel</code> as an instance of * OutlineModel. If no OutlineModel has been set, returns null. */ public OutlineModel getOutlineModel() { TableModel mdl = getModel(); if (mdl instanceof OutlineModel) { return (OutlineModel) getModel(); } else { return null; } }
private static boolean testNodeInRow(Outline outline, Node node, int i) { int modelIndex = outline.convertRowIndexToModel(i); if (modelIndex != -1) { Object o = outline.getModel().getValueAt(modelIndex, 0); Node n = Visualizer.findNode(o); if (n == node) { return true; } } return false; }
@Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c) { TableModel tableModel = outline.getModel(); tableModel.addTableModelListener(this); return super.getTableCellEditorComponent(table, value, isSelected, r, c); }
@Override protected void detachEditor() { super.detachEditor(); TableModel tableModel = outline.getModel(); tableModel.removeTableModelListener(this); } @Override
@Override protected void detachEditor() { super.detachEditor(); TableModel tableModel = outline.getModel(); tableModel.removeTableModelListener(this); }
@Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c) { TableModel tableModel = outline.getModel(); tableModel.addTableModelListener(this); return super.getTableCellEditorComponent(table, value, isSelected, r, c); } }
@Override public void propertyChange(final PropertyChangeEvent evt) { if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { propertyChange(evt); } }); return; } //fireTableDataChanged(); int row = rowForNode((Node)evt.getSource()); if (row == -1) { return; } int column = columnForProperty(evt.getPropertyName()); if (column == -1) { outline.tableChanged(new TableModelEvent(outline.getModel(), row, row, TableModelEvent.ALL_COLUMNS, TableModelEvent.UPDATE)); } else { outline.tableChanged(new TableModelEvent(outline.getModel(), row, row, column+1, TableModelEvent.UPDATE)); } } };
@Override public void run() { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } });
public void propertyChange(PropertyChangeEvent evt) { // We get this event while editing stopCellEditingNoCommit(); if( SwingUtilities.isEventDispatchThread() ) { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } else { SwingUtilities.invokeLater( new Runnable() { public void run() { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } }); } }
public void run() { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } });
@Override public void propertyChange(PropertyChangeEvent evt) { stopCellEditing(); if (SwingUtilities.isEventDispatchThread()) { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } else { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { outline.tableChanged(new TableModelEvent(outline.getModel(), 0, outline.getRowCount())); } }); } }
private static Node[] getChildrenInDisplayedOrder(Node parent, OutlineView outlineView) { Outline outline = outlineView.getOutline(); Node[] unsortedChildren = parent.getChildren().getNodes(true); int rows = outlineView.getOutline().getRowCount(); int start = findRowIndexInOutline(parent, outline, rows); if (start == -1 && parent != ExplorerManager.find(outlineView).getRootContext()) { return unsortedChildren; } List<Node> children = new LinkedList<Node>(); for (int j = start + 1; j < rows; j++) { int childModelIndex = outline.convertRowIndexToModel(j); if (childModelIndex == -1) { continue; } Object childObject = outline.getModel().getValueAt( childModelIndex, 0); Node childNode = Visualizer.findNode(childObject); if (childNode.getParentNode() == parent) { children.add(childNode); } else if (children.size() == unsortedChildren.length) { break; } } return children.toArray(new Node[children.size()]); }