Class GridData
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:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intValue for horizontalAlignment or verticalAlignment.static final intValue for horizontalAlignment or verticalAlignment.static final intValue for horizontalAlignment or verticalAlignment.booleanexclude informs the layout to ignore this control when sizing and positioning controls.static final intValue for horizontalAlignment or verticalAlignment.static final intStyle bit fornew GridData(int)to resize the control to fill the cell horizontally and vertically and to fit the remaining horizontal and vertical space.static final intStyle bit fornew GridData(int)to resize the control to fill the cell horizontally and to fit the remaining horizontal space.static final intStyle bit fornew GridData(int)to resize the control to fill the cell vertically and to fit the remaining vertical space.static final intStyle bit fornew GridData(int)to resize the control to fit the remaining horizontal space.static final intStyle bit fornew GridData(int)to resize the control to fit the remaining vertical space.booleangrabExcessHorizontalSpace specifies whether the width of the cell changes depending on the size of the parent Composite.booleangrabExcessVerticalSpace specifies whether the height of the cell changes depending on the size of the parent Composite.intheightHint specifies the preferred height in pixels.static final intStyle bit fornew GridData(int)to position the control at the left of the cell.static final intStyle bit fornew GridData(int)to position the control in the horizontal center of the cell.static final intStyle bit fornew GridData(int)to position the control at the right of the cell.static final intStyle bit fornew GridData(int)to resize the control to fill the cell horizontally.inthorizontalAlignment specifies how controls will be positioned horizontally within a cell.inthorizontalIndent specifies the number of pixels of indentation that will be placed along the left side of the cell.inthorizontalSpan specifies the number of column cells that the control will take up.intminimumHeight specifies the minimum height in pixels.intminimumWidth specifies the minimum width in pixels.static final intStyle bit fornew GridData(int).static final intStyle bit fornew GridData(int)to position the control in the vertical center of the cell.static final intStyle bit fornew GridData(int)to position the control at the bottom of the cell.static final intStyle bit fornew GridData(int)to resize the control to fill the cell vertically.intverticalAlignment specifies how controls will be positioned vertically within a cell.intverticalIndent specifies the number of pixels of indentation that will be placed along the top side of the cell.intverticalSpan specifies the number of row cells that the control will take up.intwidthHint specifies the preferred width in pixels.
- 
Constructor SummaryConstructorsConstructorDescriptionGridData()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
- 
Field Details- 
verticalAlignmentpublic int verticalAlignmentverticalAlignment specifies how controls will be positioned vertically within a cell. The default value is CENTER. Possible values are:- SWT.BEGINNING (or SWT.TOP): Position the control at the top of the cell
- SWT.CENTER: Position the control in the vertical center of the cell
- SWT.END (or SWT.BOTTOM): Position the control at the bottom of the cell
- SWT.FILL: Resize the control to fill the cell vertically
 
- 
horizontalAlignmentpublic int horizontalAlignmenthorizontalAlignment specifies how controls will be positioned horizontally within a cell. The default value is BEGINNING. Possible values are:- SWT.BEGINNING (or SWT.LEFT): Position the control at the left of the cell
- SWT.CENTER: Position the control in the horizontal center of the cell
- SWT.END (or SWT.RIGHT): Position the control at the right of the cell
- SWT.FILL: Resize the control to fill the cell horizontally
 
- 
widthHintpublic int widthHintwidthHint 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:
 
- 
heightHintpublic int heightHintheightHint 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:
 
- 
horizontalIndentpublic int horizontalIndenthorizontalIndent specifies the number of pixels of indentation that will be placed along the left side of the cell. The default value is 0.
- 
verticalIndentpublic int verticalIndentverticalIndent specifies the number of pixels of indentation that will be placed along the top side of the cell. The default value is 0.
- 
horizontalSpanpublic int horizontalSpanhorizontalSpan specifies the number of column cells that the control will take up. The default value is 1.
- 
verticalSpanpublic int verticalSpanverticalSpan specifies the number of row cells that the control will take up. The default value is 1.
- 
grabExcessHorizontalSpacepublic boolean grabExcessHorizontalSpacegrabExcessHorizontalSpace 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:- If extra horizontal space is available in the parent, the cell will grow to be wider than its preferred width. The new width will be "preferred width + delta" where delta is the extra horizontal space divided by the number of grabbing columns.
- If there is not enough horizontal space available in the parent, the cell will shrink until it reaches its minimum width as specified by GridData.minimumWidth. The new width will be the maximum of "minimumWidth" and "preferred width - delta", where delta is the amount of space missing divided by the number of grabbing columns.
- If the parent is packed, the cell will be its preferred width as specified by GridData.widthHint.
- If the control spans multiple columns and there are no other grabbing controls in any of the spanned columns, the last column in the span will grab the extra space. If there is at least one other grabbing control in the span, the grabbing will be spread over the columns already marked as grabExcessHorizontalSpace.
 The default value is false. - See Also:
 
- 
grabExcessVerticalSpacepublic boolean grabExcessVerticalSpacegrabExcessVerticalSpace 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:- If extra vertical space is available in the parent, the cell will grow to be taller than its preferred height. The new height will be "preferred height + delta" where delta is the extra vertical space divided by the number of grabbing rows.
- If there is not enough vertical space available in the parent, the cell will shrink until it reaches its minimum height as specified by GridData.minimumHeight. The new height will be the maximum of "minimumHeight" and "preferred height - delta", where delta is the amount of space missing divided by the number of grabbing rows.
- If the parent is packed, the cell will be its preferred height as specified by GridData.heightHint.
- If the control spans multiple rows and there are no other grabbing controls in any of the spanned rows, the last row in the span will grab the extra space. If there is at least one other grabbing control in the span, the grabbing will be spread over the rows already marked as grabExcessVerticalSpace.
 The default value is false. - See Also:
 
- 
minimumWidthpublic int minimumWidthminimumWidth 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.
- 
minimumHeightpublic int minimumHeightminimumHeight 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.
- 
excludepublic boolean excludeexclude informs the layout to ignore this control when sizing and positioning controls. If this value istrue, the size and position of the control will not be managed by the layout. If this value isfalse, the size and position of the control will be computed and assigned. The default value isfalse.
- 
BEGINNINGpublic static final int BEGINNINGValue 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:
 
- 
CENTERpublic static final int CENTERValue for horizontalAlignment or verticalAlignment. Position the control in the vertical or horizontal center of the cell Not recommended. Use SWT.CENTER instead.- See Also:
 
- 
ENDpublic static final int ENDValue 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:
 
- 
FILLpublic static final int FILLValue for horizontalAlignment or verticalAlignment. Resize the control to fill the cell horizontally or vertically. Not recommended. Use SWT.FILL instead.- See Also:
 
- 
VERTICAL_ALIGN_BEGINNINGpublic static final int VERTICAL_ALIGN_BEGINNINGStyle bit fornew GridData(int). Position the control at the top of the cell. Not recommended. Usenew GridData(int, SWT.BEGINNING, boolean, boolean)instead.- See Also:
 
- 
VERTICAL_ALIGN_CENTERpublic static final int VERTICAL_ALIGN_CENTERStyle bit fornew GridData(int)to position the control in the vertical center of the cell. Not recommended. Usenew GridData(int, SWT.CENTER, boolean, boolean)instead.- See Also:
 
- 
VERTICAL_ALIGN_ENDpublic static final int VERTICAL_ALIGN_ENDStyle bit fornew GridData(int)to position the control at the bottom of the cell. Not recommended. Usenew GridData(int, SWT.END, boolean, boolean)instead.- See Also:
 
- 
VERTICAL_ALIGN_FILLpublic static final int VERTICAL_ALIGN_FILLStyle bit fornew GridData(int)to resize the control to fill the cell vertically. Not recommended. Usenew GridData(int, SWT.FILL, boolean, boolean)instead- See Also:
 
- 
HORIZONTAL_ALIGN_BEGINNINGpublic static final int HORIZONTAL_ALIGN_BEGINNINGStyle bit fornew GridData(int)to position the control at the left of the cell. Not recommended. Usenew GridData(SWT.BEGINNING, int, boolean, boolean)instead.- See Also:
 
- 
HORIZONTAL_ALIGN_CENTERpublic static final int HORIZONTAL_ALIGN_CENTERStyle bit fornew GridData(int)to position the control in the horizontal center of the cell. Not recommended. Usenew GridData(SWT.CENTER, int, boolean, boolean)instead.- See Also:
 
- 
HORIZONTAL_ALIGN_ENDpublic static final int HORIZONTAL_ALIGN_ENDStyle bit fornew GridData(int)to position the control at the right of the cell. Not recommended. Usenew GridData(SWT.END, int, boolean, boolean)instead.- See Also:
 
- 
HORIZONTAL_ALIGN_FILLpublic static final int HORIZONTAL_ALIGN_FILLStyle bit fornew GridData(int)to resize the control to fill the cell horizontally. Not recommended. Usenew GridData(SWT.FILL, int, boolean, boolean)instead.- See Also:
 
- 
GRAB_HORIZONTALpublic static final int GRAB_HORIZONTALStyle bit fornew GridData(int)to resize the control to fit the remaining horizontal space. Not recommended. Usenew GridData(int, int, true, boolean)instead.- See Also:
 
- 
GRAB_VERTICALpublic static final int GRAB_VERTICALStyle bit fornew GridData(int)to resize the control to fit the remaining vertical space. Not recommended. Usenew GridData(int, int, boolean, true)instead.- See Also:
 
- 
FILL_VERTICALpublic static final int FILL_VERTICALStyle bit fornew 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. Usenew GridData(int, SWT.FILL, boolean, true)instead.- See Also:
 
- 
FILL_HORIZONTALpublic static final int FILL_HORIZONTALStyle bit fornew 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. Usenew GridData(SWT.FILL, int, true, boolean)instead.- See Also:
 
- 
FILL_BOTHpublic static final int FILL_BOTHStyle bit fornew 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. Usenew GridData(SWT.FILL, SWT.FILL, true, true)instead.- See Also:
 
 
- 
- 
Constructor Details- 
GridDatapublic GridData()Constructs a new instance of GridData using default values.
- 
GridDatapublic GridData(int style) Constructs a new instance based on the GridData style. This constructor is not recommended.- Parameters:
- style- the GridData style
 
- 
GridDatapublic 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
 
- 
GridDatapublic 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
 
- 
GridDatapublic 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 Details