@Override protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) { Dimension d = getLayoutData().getSize(); Insets insets = container.getInsets(); d = new Dimension(d.width + insets.getWidth(), d.height + insets.getHeight()); return d.union(getBorderPreferredSize(container)); }
@Override public Dimension getPreferredSize(int wHint, int hHint) { Dimension prefSize = super.getPreferredSize(wHint, hHint); int bodyHeight = getParent().getBounds().height - 10; Dimension defaultSize = new Dimension(SWT.DEFAULT, bodyHeight); prefSize.union(defaultSize); return prefSize; }
protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) { Dimension extent = null; for (Iterator i = container.getChildren().iterator(); i.hasNext(); ) { IFigure child = (IFigure) i.next(); Dimension childSize = null; if (!(child instanceof FreeformFigure)) { childSize = child.getPreferredSize(); } if (null != childSize) { if (null == extent) { extent = childSize.getCopy(); } else { extent.width += childSize.width + getMinorSpacing(); extent.height = Math.max(extent.height, childSize.height); } } } if (null != extent) { extent.union(container.getMinimumSize()); } else { extent = container.getMinimumSize(); } Insets insets = container.getInsets(); if (null == extent) { extent = new Dimension(insets.getWidth(), insets.getHeight()); } else { // compartment.translateToParent(extent); extent.expand(insets.getWidth(), insets.getHeight()); } return extent; }