Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java211
1 files changed, 0 insertions, 211 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java
deleted file mode 100644
index 18d4b6d421..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for ViewForm
- *
- * @see ViewForm
- */
-class ViewFormLayout extends Layout {
-
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
- ViewForm form = (ViewForm)composite;
- Control left = form.topLeft;
- Control center = form.topCenter;
- Control right = form.topRight;
- Control content = form.content;
-
- Point leftSize = new Point(0, 0);
- if (left != null) {
- leftSize = computeChildSize(left, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
- Point centerSize = new Point(0, 0);
- if (center != null) {
- centerSize = computeChildSize(center, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
- Point rightSize = new Point(0, 0);
- if (right != null) {
- rightSize = computeChildSize(right, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
- Point size = new Point(0, 0);
- // calculate width of title bar
- if (form.separateTopCenter ||
- (wHint != SWT.DEFAULT && leftSize.x + centerSize.x + rightSize.x > wHint)) {
- size.x = leftSize.x + rightSize.x;
- if (leftSize.x > 0 && rightSize.x > 0) size.x += form.horizontalSpacing;
- size.x = Math.max(centerSize.x, size.x);
- size.y = Math.max(leftSize.y, rightSize.y);
- if (center != null){
- size.y += centerSize.y;
- if (left != null ||right != null)size.y += form.verticalSpacing;
- }
- } else {
- size.x = leftSize.x + centerSize.x + rightSize.x;
- int count = -1;
- if (leftSize.x > 0) count++;
- if (centerSize.x > 0) count++;
- if (rightSize.x > 0) count++;
- if (count > 0) size.x += count * form.horizontalSpacing;
- size.y = Math.max(leftSize.y, Math.max(centerSize.y, rightSize.y));
- }
-
- if (content != null) {
- if (left != null || right != null || center != null) size.y += 1; // allow space for a vertical separator
- Point contentSize = new Point(0, 0);
- contentSize = computeChildSize(content, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- size.x = Math.max (size.x, contentSize.x);
- size.y += contentSize.y;
- if (size.y > contentSize.y) size.y += form.verticalSpacing;
- }
-
- size.x += 2*form.marginWidth;
- size.y += 2*form.marginHeight;
-
- if (wHint != SWT.DEFAULT) size.x = wHint;
- if (hHint != SWT.DEFAULT) size.y = hHint;
-
- return size;
-}
-
-Point computeChildSize(Control control, int wHint, int hHint, boolean flushCache) {
- Object data = control.getLayoutData();
- if (data == null || !(data instanceof CLayoutData)) {
- data = new CLayoutData();
- control.setLayoutData(data);
- }
- return ((CLayoutData)data).computeSize(control, wHint, hHint, flushCache);
-}
-
-int computeTrim(Control c) {
- if (c instanceof Scrollable) {
- Rectangle rect = ((Scrollable) c).computeTrim (0, 0, 0, 0);
- return rect.width;
- }
- return c.getBorderWidth () * 2;
-}
-
-protected boolean flushCache(Control control) {
- Object data = control.getLayoutData();
- if (data != null && data instanceof CLayoutData) ((CLayoutData)data).flushCache();
- return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
- ViewForm form = (ViewForm)composite;
- Control left = form.topLeft;
- Control center = form.topCenter;
- Control right = form.topRight;
- Control content = form.content;
-
- Rectangle rect = composite.getClientArea();
-
- Point leftSize = new Point(0, 0);
- if (left != null && !left.isDisposed()) {
- leftSize = computeChildSize(left, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
- Point centerSize = new Point(0, 0);
- if (center != null && !center.isDisposed()) {
- centerSize = computeChildSize(center, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
- Point rightSize = new Point(0, 0);
- if (right != null && !right.isDisposed()) {
- rightSize = computeChildSize(right, SWT.DEFAULT, SWT.DEFAULT, flushCache);
- }
-
- int minTopWidth = leftSize.x + centerSize.x + rightSize.x + 2*form.marginWidth + 2*form.highlight;
- int count = -1;
- if (leftSize.x > 0) count++;
- if (centerSize.x > 0) count++;
- if (rightSize.x > 0) count++;
- if (count > 0) minTopWidth += count * form.horizontalSpacing;
-
- int x = rect.x + rect.width - form.marginWidth - form.highlight;
- int y = rect.y + form.marginHeight + form.highlight;
-
- boolean top = false;
- if (form.separateTopCenter || minTopWidth > rect.width) {
- int topHeight = Math.max(rightSize.y, leftSize.y);
- if (right != null && !right.isDisposed()) {
- top = true;
- x -= rightSize.x;
- right.setBounds(x, y, rightSize.x, topHeight);
- x -= form.horizontalSpacing;
- }
- if (left != null && !left.isDisposed()) {
- top = true;
- int trim = computeTrim(left);
- int leftW = x - rect.x - form.marginWidth - form.highlight - trim;
- leftSize = computeChildSize(left, leftW, SWT.DEFAULT, false);
- left.setBounds(rect.x + form.marginWidth + form.highlight, y, leftSize.x, topHeight);
- }
- if (top) y += topHeight + form.verticalSpacing;
- if (center != null && !center.isDisposed()) {
- top = true;
- int trim = computeTrim(center);
- int w = rect.width - 2*form.marginWidth - 2*form.highlight - trim;
- centerSize = computeChildSize(center, w, SWT.DEFAULT, false);
- center.setBounds(rect.x + rect.width - form.marginWidth - form.highlight - centerSize.x, y, centerSize.x, centerSize.y);
- y += centerSize.y + form.verticalSpacing;
- }
- } else {
- int topHeight = Math.max(rightSize.y, Math.max(centerSize.y, leftSize.y));
- if (right != null && !right.isDisposed()) {
- top = true;
- x -= rightSize.x;
- right.setBounds(x, y, rightSize.x, topHeight);
- x -= form.horizontalSpacing;
- }
- if (center != null && !center.isDisposed()) {
- top = true;
- x -= centerSize.x;
- center.setBounds(x, y, centerSize.x, topHeight);
- x -= form.horizontalSpacing;
- }
- if (left != null && !left.isDisposed()) {
- top = true;
- Rectangle trim = left instanceof Composite ? ((Composite)left).computeTrim(0, 0, 0, 0) : new Rectangle(0, 0, 0, 0);
- int w = x - rect.x - form.marginWidth - form.highlight - trim.width;
- int h = topHeight - trim.height;
- leftSize = computeChildSize(left, w, h, false);
- left.setBounds(rect.x + form.marginWidth + form.highlight, y, leftSize.x, topHeight);
- }
- if (top)y += topHeight + form.verticalSpacing;
- }
- int oldSeperator = form.separator;
- form.separator = -1;
- if (content != null && !content.isDisposed()) {
- if (left != null || right!= null || center != null){
- form.separator = y;
- y++;
- }
- content.setBounds(rect.x + form.marginWidth + form.highlight, y, rect.width - 2 * form.marginWidth - 2*form.highlight, rect.y + rect.height - y - form.marginHeight - form.highlight);
- }
- if (oldSeperator != form.separator) {
- int t, b;
- if (oldSeperator == -1) {
- t = form.separator;
- b = form.separator + 1;
- } else if (form.separator == -1) {
- t = oldSeperator;
- b = oldSeperator + 1;
- } else {
- t = Math.min(form.separator, oldSeperator);
- b = Math.max(form.separator, oldSeperator);
- }
- form.redraw(form.borderLeft, t, form.getSize().x - form.borderLeft - form.borderRight, b - t, false);
- }
-}
-}

Back to the top