@Override public int getActualWidth() { int width = value != null ? value.getActualWidth() : 0; for (Renderer child : children) { width = Math.max(width, 2 + child.getActualWidth()); } return width; }
@Override public int getActualWidth() { int actualWidth = 0; for (int i = 0;i < cols.size();i++) { Renderer col = cols.get(i); actualWidth += col.getActualWidth(); actualWidth += leftCellPadding; actualWidth += rightCellPadding; if (separator != null && i > 0) { actualWidth++; } } return actualWidth; }
private Composite(Iterable<? extends Renderer> renderers) { int actualWidth = 0; int minWidth = 0; for (Renderer renderer : renderers) { actualWidth = Math.max(actualWidth, renderer.getActualWidth()); minWidth = Math.max(minWidth, renderer.getMinWidth()); } this.actualWidth = actualWidth; this.minWidth = minWidth; this.renderers = renderers; }
@Override public LineReader reader(int width) { int[] widths = new int[cols.size()]; int[] minWidths = new int[cols.size()]; for (int i = 0;i < cols.size();i++) { Renderer renderable = cols.get(i); widths[i] = Math.max(widths[i], renderable.getActualWidth()); minWidths[i] = Math.max(minWidths[i], renderable.getMinWidth()); } widths = Layout.flow().compute(false, width, widths, minWidths); if (widths == null) { return null; } else { // Size could be smaller and lead to ArrayIndexOutOfBounds later widths = Arrays.copyOf(widths, minWidths.length); return renderer(widths, -1); } } }
for (int i = 0;i < row.getCols().size();i++) { Renderer renderable = row.getCols().get(i); eltWidths[i] = Math.max(eltWidths[i], renderable.getActualWidth() + row.row.leftCellPadding + row.row.rightCellPadding); eltMinWidths[i] = Math.max(eltMinWidths[i], renderable.getMinWidth() + row.row.leftCellPadding + row.row.rightCellPadding);