Correcting expanded view height when the horizontal scrollbar will (likely) appear.
1.1 --- a/java.breadcrumbs/src/org/netbeans/modules/java/breadcrumbs/BreadCrumbComponent.java Fri Aug 10 15:45:13 2012 +0200
1.2 +++ b/java.breadcrumbs/src/org/netbeans/modules/java/breadcrumbs/BreadCrumbComponent.java Sat Aug 11 21:19:03 2012 +0200
1.3 @@ -315,7 +315,26 @@
1.4 expanded.setBorder(new LineBorder(Color.BLACK, 1));
1.5 expanded.add(new ListView() {
1.6 {
1.7 - list.setVisibleRowCount(Math.min(what.getChildren().getNodesCount(), MAX_ROWS_IN_POP_UP));
1.8 + int nodesCount = what.getChildren().getNodesCount();
1.9 +
1.10 + if (nodesCount >= MAX_ROWS_IN_POP_UP) {
1.11 + list.setVisibleRowCount(MAX_ROWS_IN_POP_UP);
1.12 + } else {
1.13 + list.setVisibleRowCount(nodesCount);
1.14 +
1.15 + NodeRenderer nr = new NodeRenderer();
1.16 + int i = 0;
1.17 + int width = getPreferredSize().width;
1.18 +
1.19 + for (Node n : what.getChildren().getNodes()) {
1.20 + if (nr.getListCellRendererComponent(list, n, i, false, false).getPreferredSize().width > width) {
1.21 + Dimension pref = getPreferredSize();
1.22 + pref.height += getHorizontalScrollBar().getPreferredSize().height;
1.23 + setPreferredSize(pref);
1.24 + break;
1.25 + }
1.26 + }
1.27 + }
1.28 }
1.29 }, BorderLayout.CENTER);
1.30 expandManager.setRootContext(what);