|
Eclipse Platform Release 3.2 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jface.layout.GridDataFactory
This class provides a convienient shorthand for creating and initializing GridData. This offers several benefits over creating GridData normal way:
GridDataFactory instances are created using one of the static methods on this class.
Example usage:
////////////////////////////////////////////////////////////
// Example 1: Typical grid data for a non-wrapping label
// GridDataFactory version
GridDataFactory.fillDefaults().applyTo(myLabel);
// Equivalent SWT version
GridData labelData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
myLabel.setLayoutData(labelData);
///////////////////////////////////////////////////////////
// Example 2: Typical grid data for a wrapping label
// GridDataFactory version
GridDataFactory.fillDefaults()
.align(SWT.FILL, SWT.CENTER)
.hint(150, SWT.DEFAULT)
.grab(true, false)
.applyTo(wrappingLabel);
// Equivalent SWT version
GridData wrappingLabelData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
wrappingLabelData.minimumWidth = 1;
wrappingLabelData.widthHint = 150;
wrappingLabel.setLayoutData(wrappingLabelData);
//////////////////////////////////////////////////////////////
// Example 3: Typical grid data for a scrollable control (a list box, tree, table, etc.)
// GridDataFactory version
GridDataFactory.fillDefaults().grab(true, true).hint(150, 150).applyTo(listBox);
// Equivalent SWT version
GridData listBoxData = new GridData(GridData.FILL_BOTH);
listBoxData.widthHint = 150;
listBoxData.heightHint = 150;
listBoxData.minimumWidth = 1;
listBoxData.minimumHeight = 1;
listBox.setLayoutData(listBoxData);
/////////////////////////////////////////////////////////////
// Example 4: Typical grid data for a button
// GridDataFactory version
Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(hint).applyTo(button);
// Equivalent SWT version
Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
GridData buttonData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
buttonData.widthHint = hint.x;
buttonData.heightHint = hint.y;
button.setLayoutData(buttonData);
IMPORTANT: WHEN ASSIGNING LAYOUT DATA TO A CONTROL, BE SURE TO USE gridDataFactory.applyTo(control) AND NEVER control.setLayoutData(gridDataFactory).
Method Summary | |
---|---|
GridDataFactory |
align(int hAlign,
int vAlign)
Sets the alignment of the control within its cell. |
void |
applyTo(Control control)
Sets the layout data on the given control. |
GridDataFactory |
copy()
Creates a copy of the reciever. |
static GridData |
copyData(GridData data)
Returns a copy of the given GridData |
GridData |
create()
Creates a new GridData instance. |
static GridDataFactory |
createFrom(GridData data)
Creates a new GridDataFactory that creates copies of the given GridData by default. |
GridDataFactory |
exclude(boolean shouldExclude)
Instructs the GridLayout to ignore this control when performing layouts. |
static GridDataFactory |
fillDefaults()
Creates a GridDataFactory initialized with defaults that will cause the control to fill its cell. |
GridDataFactory |
grab(boolean horizontal,
boolean vertical)
Determines whether extra horizontal or vertical space should be allocated to this control's column when the layout resizes. |
GridDataFactory |
hint(int xHint,
int yHint)
Sets the width and height hints. |
GridDataFactory |
hint(Point hint)
Sets the width and height hints. |
GridDataFactory |
indent(int hIndent,
int vIndent)
Sets the indent of the control within the cell. |
GridDataFactory |
indent(Point indent)
Sets the indent of the control within the cell. |
GridDataFactory |
minSize(int minX,
int minY)
Sets the minimum size for the control. |
GridDataFactory |
minSize(Point min)
Sets the minimum size for the control. |
GridDataFactory |
span(int hSpan,
int vSpan)
Sets the GridData span. |
GridDataFactory |
span(Point span)
Sets the GridData span. |
static GridDataFactory |
swtDefaults()
Creates a new GridDataFactory initialized with the SWT defaults. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public static GridDataFactory swtDefaults()
Initial values are:
fillDefaults()
public static GridDataFactory createFrom(GridData data)
data
- GridData to copy
public static GridDataFactory fillDefaults()
Initial values are:
swtDefaults()
public GridDataFactory span(int hSpan, int vSpan)
hSpan
- number of columns spanned by the controlvSpan
- number of rows spanned by the control
public GridDataFactory span(Point span)
span
- the new span. The x coordinate indicates the number of
columns spanned, and the y coordinate indicates the number of rows.
public GridDataFactory hint(int xHint, int yHint)
xHint
- horizontal hint (pixels), or SWT.DEFAULT to use the control's preferred sizeyHint
- vertical hint (pixels), or SWT.DEFAULT to use the control's preferred size
public GridDataFactory hint(Point hint)
hint
- size (pixels) to be used instead of the control's preferred size. If
the x or y values are set to SWT.DEFAULT, the control's computeSize() method will
be used to obtain that dimension of the preferred size.
public GridDataFactory align(int hAlign, int vAlign)
hAlign
- horizontal alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL.vAlign
- vertical alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL.
public GridDataFactory indent(int hIndent, int vIndent)
hIndent
- distance to move to the right (negative values move left)vIndent
- distance to move down (negative values move up)
public GridDataFactory indent(Point indent)
indent
- offset to move the control
public GridDataFactory grab(boolean horizontal, boolean vertical)
horizontal
- true if the control's column should grow horizontallyvertical
- true if the control's row should grow vertically
public GridDataFactory minSize(int minX, int minY)
minX
- minimum a value of 1 or more is a horizontal size of the control (pixels).
SWT.DEFAULT indicates that the control's preferred size should be used. A size
of 0 has special semantics defined by GridLayout.minY
- minimum a value of 1 or more is a vertical size of the control (pixels). SWT.DEFAULT
indicates that the control's preferred size should be used. A size
of 0 has special semantics defined by GridLayout.
public GridDataFactory minSize(Point min)
min
- minimum size of the control
public GridDataFactory exclude(boolean shouldExclude)
shouldExclude
- true iff the control should be excluded from layouts
public GridData create()
public GridDataFactory copy()
public static GridData copyData(GridData data)
data
- GridData to copy
public void applyTo(Control control)
control
- control whose layout data will be initialized
|
Eclipse Platform Release 3.2 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.