private void revalidateScrollBar() { if (!isDisplayable()) { return; } if (!isTreeHScrollBar) { return ; } if ( (outline.getColumnModel().getColumnCount() > 0) ) { int column = outline.convertColumnIndexToView(0); int extentWidth = outline.getColumnModel().getColumn(column).getWidth(); int maxWidth = outline.getTreePreferredWidth(); int positionX = outline.getTreePositionX(); int value = Math.max(0, Math.min(positionX, maxWidth - extentWidth)); hScrollBar.setValues(value, extentWidth, 0, maxWidth); hScrollBar.setBlockIncrement(extentWidth); } }
@Override public void readSettings(Properties p, String propertyPrefix) { super.readSettings(p, propertyPrefix); int numColumns = getColumnModel().getColumnCount(); for (int i = 0; i < numColumns; i++) { OutlineViewOutlineColumn ovoc = (OutlineViewOutlineColumn) getColumnModel().getColumn(i); ovoc.postReadSettings(p, i, propertyPrefix); } }
@Override public void layoutContainer(Container parent) { OutlineView ov = (OutlineView) parent; if (ov.isTreeHScrollBar && ov.outline.getColumnModel().getColumnCount() > 0) { int column = ov.outline.convertColumnIndexToView(0); int extentWidth = ov.outline.getColumnModel().getColumn(column).getWidth(); int maxWidth = ov.outline.getTreePreferredWidth(); boolean hsbvisible = thsb.isVisible();
if (wasHScrollBarVisible != isTreeHScrollBar) { if (!wasHScrollBarVisible) { outline.getColumnModel().addColumnModelListener(listener); } else { outline.getColumnModel().removeColumnModelListener(listener);
outline.getColumnModel().addColumnModelListener(listener);
private int getColumnXPos(OutlineViewOutline outline, int column) { if (column < 0) { if (!outline.getComponentOrientation().isLeftToRight()) { return outline.getWidth(); } else { return 0; } } else if (column >= outline.getColumnCount()) { if (outline.getComponentOrientation().isLeftToRight()) { return outline.getWidth(); } else { return 0; } } else { TableColumnModel cm = outline.getColumnModel(); int x = 0; if (outline.getComponentOrientation().isLeftToRight()) { for (int i = 0; i < column; i++) { x += cm.getColumn(i).getWidth(); } } else { for(int i = cm.getColumnCount()-1; i > column; i--) { x += cm.getColumn(i).getWidth(); } } return x; } }
/** Returns the point at which the popup menu is to be shown. May return null. * @return the point or null */ private Point getPositionForPopup () { int i = outline.getSelectionModel().getLeadSelectionIndex(); if (i < 0) return null; int j = outline.getColumnModel().getSelectionModel().getLeadSelectionIndex(); if (j < 0) { j = 0; } Rectangle rect = outline.getCellRect(i, j, true); if (rect == null) return null; Point p = new Point(rect.x + rect.width / 3, rect.y + rect.height / 2); // bugfix #36984, convert point by TableView.this p = SwingUtilities.convertPoint (outline, p, OutlineView.this); return p; }
private void setProperties(Node.Property[] newProperties, boolean doCleanColumns) { if (doCleanColumns) { TableColumnModel tcm = outline.getColumnModel(); if (tcm instanceof ETableColumnModel) { ((ETableColumnModel) tcm).clean(); } } rowModel.setProperties(newProperties); outline.tableChanged(null); }