X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/TabFolderLayout.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/TabFolderLayout.java new file mode 100644 index 0000000..7c2f0cb --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/TabFolderLayout.java @@ -0,0 +1,48 @@ +/* + * (c) Copyright IBM Corp. 2000, 2001. + * All Rights Reserved + */ +package net.sourceforge.phpdt.internal.ui.util; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Layout; + +public class TabFolderLayout extends Layout { + + protected Point computeSize(Composite composite, int wHint, int hHint, + boolean flushCache) { + if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) + return new Point(wHint, hHint); + + Control[] children = composite.getChildren(); + int count = children.length; + int maxWidth = 0, maxHeight = 0; + for (int i = 0; i < count; i++) { + Control child = children[i]; + Point pt = child.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache); + maxWidth = Math.max(maxWidth, pt.x); + maxHeight = Math.max(maxHeight, pt.y); + } + + if (wHint != SWT.DEFAULT) + maxWidth = wHint; + if (hHint != SWT.DEFAULT) + maxHeight = hHint; + + return new Point(maxWidth, maxHeight); + + } + + protected void layout(Composite composite, boolean flushCache) { + Rectangle rect = composite.getClientArea(); + + Control[] children = composite.getChildren(); + for (int i = 0; i < children.length; i++) { + children[i].setBounds(rect); + } + } +}