Eclipse Remote Application Platform

org.eclipse.swt.layout
Class GridData

java.lang.Object
  extended by org.eclipse.swt.layout.GridData

public final class GridData
extends java.lang.Object

GridData is the layout data object associated with GridLayout. To set a GridData object into a control, you use the Control.setLayoutData(Object) method.

There are two ways to create a GridData object with certain fields set. The first is to set the fields directly, like this:

      GridData gridData = new GridData();
      gridData.horizontalAlignment = GridData.FILL;
      gridData.grabExcessHorizontalSpace = true;
      button1.setLayoutData(gridData);
 
                gridData = new GridData();
                gridData.horizontalAlignment = GridData.FILL;
                gridData.verticalAlignment = GridData.FILL;
                gridData.grabExcessHorizontalSpace = true;
                gridData.grabExcessVerticalSpace = true;
                gridData.horizontalSpan = 2;
                button2.setLayoutData(gridData);
 
The second is to take advantage of GridData convenience constructors, for example:
      button1.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
      button2.setLayoutData(new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
 

NOTE: Do not reuse GridData objects. Every control in a Composite that is managed by a GridLayout must have a unique GridData object. If the layout data for a control in a GridLayout is null at layout time, a unique GridData object is created for it.

Since:
1.0
See Also:
GridLayout, Control.setLayoutData(java.lang.Object), Sample code and further information

Field Summary
static int BEGINNING
          Value for horizontalAlignment or verticalAlignment.
static int CENTER
          Value for horizontalAlignment or verticalAlignment.
static int END
          Value for horizontalAlignment or verticalAlignment.
 boolean exclude
          exclude informs the layout to ignore this control when sizing and positioning controls.
static int FILL
          Value for horizontalAlignment or verticalAlignment.
static int FILL_BOTH
          Style bit for new GridData(int) to resize the control to fill the cell horizontally and vertically and to fit the remaining horizontal and vertical space.
static int FILL_HORIZONTAL
          Style bit for new GridData(int) to resize the control to fill the cell horizontally and to fit the remaining horizontal space.
static int FILL_VERTICAL
          Style bit for new GridData(int) to resize the control to fill the cell vertically and to fit the remaining vertical space.
static int GRAB_HORIZONTAL
          Style bit for new GridData(int) to resize the control to fit the remaining horizontal space.
static int GRAB_VERTICAL
          Style bit for new GridData(int) to resize the control to fit the remaining vertical space.
 boolean grabExcessHorizontalSpace
          grabExcessHorizontalSpace specifies whether the width of the cell changes depending on the size of the parent Composite.
 boolean grabExcessVerticalSpace
          grabExcessVerticalSpace specifies whether the height of the cell changes depending on the size of the parent Composite.
 int heightHint
          heightHint specifies the preferred height in pixels.
static int HORIZONTAL_ALIGN_BEGINNING
          Style bit for new GridData(int) to position the control at the left of the cell.
static int HORIZONTAL_ALIGN_CENTER
          Style bit for new GridData(int) to position the control in the horizontal center of the cell.
static int HORIZONTAL_ALIGN_END
          Style bit for new GridData(int) to position the control at the right of the cell.
static int HORIZONTAL_ALIGN_FILL
          Style bit for new GridData(int) to resize the control to fill the cell horizontally.
 int horizontalAlignment
          horizontalAlignment specifies how controls will be positioned horizontally within a cell.
 int horizontalIndent
          horizontalIndent specifies the number of pixels of indentation that will be placed along the left side of the cell.
 int horizontalSpan
          horizontalSpan specifies the number of column cells that the control will take up.
 int minimumHeight
          minimumHeight specifies the minimum height in pixels.
 int minimumWidth
          minimumWidth specifies the minimum width in pixels.
static int VERTICAL_ALIGN_BEGINNING
          Style bit for new GridData(int).
static int VERTICAL_ALIGN_CENTER
          Style bit for new GridData(int) to position the control in the vertical center of the cell.
static int VERTICAL_ALIGN_END
          Style bit for new GridData(int) to position the control at the bottom of the cell.
static int VERTICAL_ALIGN_FILL
          Style bit for new GridData(int) to resize the control to fill the cell vertically.
 int verticalAlignment
          verticalAlignment specifies how controls will be positioned vertically within a cell.
 int verticalIndent
          verticalIndent specifies the number of pixels of indentation that will be placed along the top side of the cell.
 int verticalSpan
          verticalSpan specifies the number of row cells that the control will take up.
 int widthHint
          widthHint specifies the preferred width in pixels.
 
Constructor Summary
GridData()
          Constructs a new instance of GridData using default values.
GridData(int style)
          Constructs a new instance based on the GridData style.
GridData(int width, int height)
          Constructs a new instance of GridData according to the parameters.
GridData(int horizontalAlignment, int verticalAlignment, boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace)
          Constructs a new instance of GridData according to the parameters.
GridData(int horizontalAlignment, int verticalAlignment, boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace, int horizontalSpan, int verticalSpan)
          Constructs a new instance of GridData according to the parameters.
 
Method Summary
 java.lang.String toString()
          Returns a string containing a concise, human-readable description of the receiver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

verticalAlignment

public int verticalAlignment
verticalAlignment specifies how controls will be positioned vertically within a cell. The default value is CENTER. Possible values are:


horizontalAlignment

public int horizontalAlignment
horizontalAlignment specifies how controls will be positioned horizontally within a cell. The default value is BEGINNING. Possible values are:


widthHint

public int widthHint
widthHint specifies the preferred width in pixels. 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 Also:
Control.computeSize(int, int, boolean)

heightHint

public int heightHint
heightHint specifies the preferred height in pixels. 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 Also:
Control.computeSize(int, int, boolean)

horizontalIndent

public int horizontalIndent
horizontalIndent specifies the number of pixels of indentation that will be placed along the left side of the cell. The default value is 0.


verticalIndent

public int verticalIndent
verticalIndent specifies the number of pixels of indentation that will be placed along the top side of the cell. The default value is 0.


horizontalSpan

public int horizontalSpan
horizontalSpan specifies the number of column cells that the control will take up. The default value is 1.


verticalSpan

public int verticalSpan
verticalSpan specifies the number of row cells that the control will take up. The default value is 1.


grabExcessHorizontalSpace

public boolean grabExcessHorizontalSpace

grabExcessHorizontalSpace specifies whether the width of the cell changes depending on the size of the parent Composite. If grabExcessHorizontalSpace is true, the following rules apply to the width of the cell:

The default value is false.

See Also:
minimumWidth, widthHint

grabExcessVerticalSpace

public boolean grabExcessVerticalSpace

grabExcessVerticalSpace specifies whether the height of the cell changes depending on the size of the parent Composite. If grabExcessVerticalSpace is true, the following rules apply to the height of the cell:

The default value is false.

See Also:
minimumHeight, heightHint

minimumWidth

public int minimumWidth
minimumWidth specifies the minimum width in pixels. This value applies only if grabExcessHorizontalSpace is true. A value of SWT.DEFAULT means that the minimum width will be the result of Control.computeSize(int, int, boolean) where wHint is determined by GridData.widthHint. The default value is 0.

See Also:
Control.computeSize(int, int, boolean), widthHint

minimumHeight

public int minimumHeight
minimumHeight specifies the minimum height in pixels. This value applies only if grabExcessVerticalSpace is true. A value of SWT.DEFAULT means that the minimum height will be the result of Control.computeSize(int, int, boolean) where hHint is determined by GridData.heightHint. The default value is 0.

See Also:
Control.computeSize(int, int, boolean), heightHint

exclude

public boolean exclude
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.


BEGINNING

public static final int BEGINNING
Value for horizontalAlignment or verticalAlignment. Position the control at the top or left of the cell. Not recommended. Use SWT.BEGINNING, SWT.TOP or SWT.LEFT instead.

See Also:
Constant Field Values

CENTER

public static final int CENTER
Value for horizontalAlignment or verticalAlignment. Position the control in the vertical or horizontal center of the cell Not recommended. Use SWT.CENTER instead.

See Also:
Constant Field Values

END

public static final int END
Value for horizontalAlignment or verticalAlignment. Position the control at the bottom or right of the cell Not recommended. Use SWT.END, SWT.BOTTOM or SWT.RIGHT instead.

See Also:
Constant Field Values

FILL

public static final int FILL
Value for horizontalAlignment or verticalAlignment. Resize the control to fill the cell horizontally or vertically. Not recommended. Use SWT.FILL instead.

See Also:
Constant Field Values

VERTICAL_ALIGN_BEGINNING

public static final int VERTICAL_ALIGN_BEGINNING
Style bit for new GridData(int). Position the control at the top of the cell. Not recommended. Use new GridData(int, SWT.BEGINNING, boolean, boolean) instead.

See Also:
Constant Field Values

VERTICAL_ALIGN_CENTER

public static final int VERTICAL_ALIGN_CENTER
Style bit for new GridData(int) to position the control in the vertical center of the cell. Not recommended. Use new GridData(int, SWT.CENTER, boolean, boolean) instead.

See Also:
Constant Field Values

VERTICAL_ALIGN_END

public static final int VERTICAL_ALIGN_END
Style bit for new GridData(int) to position the control at the bottom of the cell. Not recommended. Use new GridData(int, SWT.END, boolean, boolean) instead.

See Also:
Constant Field Values

VERTICAL_ALIGN_FILL

public static final int VERTICAL_ALIGN_FILL
Style bit for new GridData(int) to resize the control to fill the cell vertically. Not recommended. Use new GridData(int, SWT.FILL, boolean, boolean) instead

See Also:
Constant Field Values

HORIZONTAL_ALIGN_BEGINNING

public static final int HORIZONTAL_ALIGN_BEGINNING
Style bit for new GridData(int) to position the control at the left of the cell. Not recommended. Use new GridData(SWT.BEGINNING, int, boolean, boolean) instead.

See Also:
Constant Field Values

HORIZONTAL_ALIGN_CENTER

public static final int HORIZONTAL_ALIGN_CENTER
Style bit for new GridData(int) to position the control in the horizontal center of the cell. Not recommended. Use new GridData(SWT.CENTER, int, boolean, boolean) instead.

See Also:
Constant Field Values

HORIZONTAL_ALIGN_END

public static final int HORIZONTAL_ALIGN_END
Style bit for new GridData(int) to position the control at the right of the cell. Not recommended. Use new GridData(SWT.END, int, boolean, boolean) instead.

See Also:
Constant Field Values

HORIZONTAL_ALIGN_FILL

public static final int HORIZONTAL_ALIGN_FILL
Style bit for new GridData(int) to resize the control to fill the cell horizontally. Not recommended. Use new GridData(SWT.FILL, int, boolean, boolean) instead.

See Also:
Constant Field Values

GRAB_HORIZONTAL

public static final int GRAB_HORIZONTAL
Style bit for new GridData(int) to resize the control to fit the remaining horizontal space. Not recommended. Use new GridData(int, int, true, boolean) instead.

See Also:
Constant Field Values

GRAB_VERTICAL

public static final int GRAB_VERTICAL
Style bit for new GridData(int) to resize the control to fit the remaining vertical space. Not recommended. Use new GridData(int, int, boolean, true) instead.

See Also:
Constant Field Values

FILL_VERTICAL

public static final int FILL_VERTICAL
Style bit for new GridData(int) to resize the control to fill the cell vertically and to fit the remaining vertical space. FILL_VERTICAL = VERTICAL_ALIGN_FILL | GRAB_VERTICAL Not recommended. Use new GridData(int, SWT.FILL, boolean, true) instead.

See Also:
Constant Field Values

FILL_HORIZONTAL

public static final int FILL_HORIZONTAL
Style bit for new GridData(int) to resize the control to fill the cell horizontally and to fit the remaining horizontal space. FILL_HORIZONTAL = HORIZONTAL_ALIGN_FILL | GRAB_HORIZONTAL Not recommended. Use new GridData(SWT.FILL, int, true, boolean) instead.

See Also:
Constant Field Values

FILL_BOTH

public static final int FILL_BOTH
Style bit for new GridData(int) to resize the control to fill the cell horizontally and vertically and to fit the remaining horizontal and vertical space. FILL_BOTH = FILL_VERTICAL | FILL_HORIZONTAL Not recommended. Use new GridData(SWT.FILL, SWT.FILL, true, true) instead.

See Also:
Constant Field Values
Constructor Detail

GridData

public GridData()
Constructs a new instance of GridData using default values.


GridData

public GridData(int style)
Constructs a new instance based on the GridData style. This constructor is not recommended.

Parameters:
style - the GridData style

GridData

public GridData(int horizontalAlignment,
                int verticalAlignment,
                boolean grabExcessHorizontalSpace,
                boolean grabExcessVerticalSpace)
Constructs a new instance of GridData according to the parameters.

Parameters:
horizontalAlignment - how control will be positioned horizontally within a cell, one of: SWT.BEGINNING (or SWT.LEFT), SWT.CENTER, SWT.END (or SWT.RIGHT), or SWT.FILL
verticalAlignment - how control will be positioned vertically within a cell, one of: SWT.BEGINNING (or SWT.TOP), SWT.CENTER, SWT.END (or SWT.BOTTOM), or SWT.FILL
grabExcessHorizontalSpace - whether cell will be made wide enough to fit the remaining horizontal space
grabExcessVerticalSpace - whether cell will be made high enough to fit the remaining vertical space

GridData

public GridData(int horizontalAlignment,
                int verticalAlignment,
                boolean grabExcessHorizontalSpace,
                boolean grabExcessVerticalSpace,
                int horizontalSpan,
                int verticalSpan)
Constructs a new instance of GridData according to the parameters.

Parameters:
horizontalAlignment - how control will be positioned horizontally within a cell, one of: SWT.BEGINNING (or SWT.LEFT), SWT.CENTER, SWT.END (or SWT.RIGHT), or SWT.FILL
verticalAlignment - how control will be positioned vertically within a cell, one of: SWT.BEGINNING (or SWT.TOP), SWT.CENTER, SWT.END (or SWT.BOTTOM), or SWT.FILL
grabExcessHorizontalSpace - whether cell will be made wide enough to fit the remaining horizontal space
grabExcessVerticalSpace - whether cell will be made high enough to fit the remaining vertical space
horizontalSpan - the number of column cells that the control will take up
verticalSpan - the number of row cells that the control will take up

GridData

public GridData(int width,
                int height)
Constructs a new instance of GridData according to the parameters. A value of SWT.DEFAULT indicates that no minimum width or no minimum height is specified.

Parameters:
width - a minimum width for the column
height - a minimum height for the row
Method Detail

toString

public java.lang.String toString()
Returns a string containing a concise, human-readable description of the receiver.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of the GridData object

Eclipse Remote Application Platform

Copyright (c) EclipseSource and others 2002, 2012. All rights reserved.