X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.eclipse.swt.win32.win32.x86_64%2Fsrc%2Forg%2Feclipse%2Fswt%2Flayout%2FRowData.java;fp=bundles%2Forg.eclipse.swt.win32.win32.x86_64%2Fsrc%2Forg%2Feclipse%2Fswt%2Flayout%2FRowData.java;h=755917f16eb53fa21065463da4f6f3ea6549ba76;hb=6b98970d0458754dd67f789afbd0a39e1e7ac6eb;hp=0000000000000000000000000000000000000000;hpb=56a61575ce0d27b340cb12438c8a7f303842095e;p=simantics%2Fplatform.git diff --git a/bundles/org.eclipse.swt.win32.win32.x86_64/src/org/eclipse/swt/layout/RowData.java b/bundles/org.eclipse.swt.win32.win32.x86_64/src/org/eclipse/swt/layout/RowData.java new file mode 100644 index 000000000..755917f16 --- /dev/null +++ b/bundles/org.eclipse.swt.win32.win32.x86_64/src/org/eclipse/swt/layout/RowData.java @@ -0,0 +1,129 @@ +/******************************************************************************* + * Copyright (c) 2000, 2018 IBM Corporation and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.swt.layout; + +import org.eclipse.swt.*; +import org.eclipse.swt.graphics.*; + +/** + * Each control controlled by a RowLayout can have its initial + * width and height specified by setting a RowData object + * into the control. + *

+ * The following code uses a RowData object to change the initial + * size of a Button in a Shell: + *

+ *
+ * 		Display display = new Display();
+ * 		Shell shell = new Shell(display);
+ * 		shell.setLayout(new RowLayout());
+ * 		Button button1 = new Button(shell, SWT.PUSH);
+ * 		button1.setText("Button 1");
+ * 		button1.setLayoutData(new RowData(50, 40));
+ * 
+ * + * @see RowLayout + * @see Sample code and further information + */ +public final class RowData { + /** + * width specifies the desired width in points. This value + * is the wHint passed into Control.computeSize(int, int, boolean) + * to determine the preferred size of the control. + * + * The default value is SWT.DEFAULT. + * + * @see org.eclipse.swt.widgets.Control#computeSize(int, int, boolean) + */ + public int width = SWT.DEFAULT; + /** + * height specifies the preferred height in points. This value + * is the hHint passed into Control.computeSize(int, int, boolean) + * to determine the preferred size of the control. + * + * The default value is SWT.DEFAULT. + * + * @see org.eclipse.swt.widgets.Control#computeSize(int, int, boolean) + */ + public int height = SWT.DEFAULT; + + /** + * exclude informs the layout to ignore this control when sizing + * and positioning controls. If this value is true, + * the size and position of the control will not be managed by the + * layout. If this value is false, the size and + * position of the control will be computed and assigned. + * + * The default value is false. + * + * @since 3.1 + */ + public boolean exclude = false; + +/** + * Constructs a new instance of RowData using + * default values. + */ +public RowData () { +} + +/** + * Constructs a new instance of RowData according to the parameters. + * A value of SWT.DEFAULT indicates that no minimum width or + * no minimum height is specified. + * + * @param width a minimum width for the control + * @param height a minimum height for the control + */ +public RowData (int width, int height) { + this.width = width; + this.height = height; +} + +/** + * Constructs a new instance of RowData according to the parameter. + * A value of SWT.DEFAULT indicates that no minimum width or + * no minimum height is specified. + * + * @param point a point whose x coordinate specifies a minimum width for the control + * and y coordinate specifies a minimum height for the control + */ +public RowData (Point point) { + this (point.x, point.y); +} + +String getName () { + String string = getClass ().getName (); + int index = string.lastIndexOf ('.'); + if (index == -1) return string; + return string.substring (index + 1, string.length ()); +} + +/** + * Returns a string containing a concise, human-readable + * description of the receiver. + * + * @return a string representation of the RowData object + */ +@Override +public String toString () { + String string = getName ()+" {"; + if (width != SWT.DEFAULT) string += "width="+width+" "; + if (height != SWT.DEFAULT) string += "height="+height+" "; + if (exclude) string += "exclude="+exclude+" "; + string = string.trim(); + string += "}"; + return string; +} +}