blob: a64fef129d15652bb6a7f68984efdbb3aa2315dc [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 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.examples.layoutexample;
import org.eclipse.swt.*;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
class GridLayoutTab extends Tab {
/* Controls for setting layout parameters */
Spinner numColumns;
Button makeColumnsEqualWidth;
Spinner marginWidth, marginHeight, marginLeft, marginRight, marginTop, marginBottom, horizontalSpacing, verticalSpacing;
/* The example layout instance */
GridLayout gridLayout;
/* TableEditors and related controls*/
TableEditor nameEditor, comboEditor, widthEditor, heightEditor;
TableEditor vAlignEditor, hAlignEditor, hGrabEditor, vGrabEditor, hSpanEditor, vSpanEditor;
TableEditor hIndentEditor, vIndentEditor, minWidthEditor, minHeightEditor, excludeEditor;
CCombo combo, vAlign, hAlign, hGrab, vGrab, exclude;
Text nameText, widthText, heightText, hSpan, vSpan, hIndent, vIndent, minWidthText, minHeightText;
/* Constants */
static final int NAME_COL = 0;
static final int COMBO_COL = 1;
static final int WIDTH_COL = 2;
static final int HEIGHT_COL = 3;
static final int HALIGN_COL = 4;
static final int VALIGN_COL = 5;
static final int HGRAB_COL = 6;
static final int VGRAB_COL = 7;
static final int HSPAN_COL = 8;
static final int VSPAN_COL = 9;
static final int HINDENT_COL = 10;
static final int VINDENT_COL = 11;
static final int MINWIDTH_COL = 12;
static final int MINHEIGHT_COL = 13;
static final int EXCLUDE_COL = 14;
static final int TOTAL_COLS = 15;
/**
* Creates the Tab within a given instance of LayoutExample.
*/
GridLayoutTab(LayoutExample instance) {
super(instance);
}
/**
* Creates the widgets in the "child" group.
*/
void createChildWidgets () {
/* Create the TraverseListener */
final TraverseListener traverseListener = new TraverseListener () {
public void keyTraversed (TraverseEvent e) {
if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_TAB_NEXT)
resetEditors ();
if (e.detail == SWT.TRAVERSE_ESCAPE)
disposeEditors ();
}
};
/* Add common controls */
super.createChildWidgets ();
/* Add hovers to the column headers whose field names have been shortened to save space */
table.getColumn (HALIGN_COL).setToolTipText ("horizontalAlignment");
table.getColumn (VALIGN_COL).setToolTipText ("verticalAlignment");
table.getColumn (HGRAB_COL).setToolTipText ("grabExcessHorizontalSpace");
table.getColumn (VGRAB_COL).setToolTipText ("grabExcessVerticalSpace");
table.getColumn (HSPAN_COL).setToolTipText ("horizontalSpan");
table.getColumn (VSPAN_COL).setToolTipText ("verticalSpan");
table.getColumn (HINDENT_COL).setToolTipText ("horizontalIndent");
table.getColumn (VINDENT_COL).setToolTipText ("verticalIndent");
table.getColumn (MINWIDTH_COL).setToolTipText ("minimumWidth");
table.getColumn (MINHEIGHT_COL).setToolTipText ("minimumHeight");
/* Add TableEditors */
nameEditor = new TableEditor (table);
comboEditor = new TableEditor (table);
widthEditor = new TableEditor (table);
heightEditor = new TableEditor (table);
vAlignEditor = new TableEditor (table);
hAlignEditor = new TableEditor (table);
hGrabEditor = new TableEditor (table);
vGrabEditor = new TableEditor (table);
hSpanEditor = new TableEditor (table);
vSpanEditor = new TableEditor (table);
hIndentEditor = new TableEditor (table);
vIndentEditor = new TableEditor (table);
minWidthEditor = new TableEditor (table);
minHeightEditor = new TableEditor (table);
excludeEditor = new TableEditor (table);
table.addMouseListener (new MouseAdapter () {
public void mouseDown(MouseEvent e) {
resetEditors();
index = table.getSelectionIndex ();
Point pt = new Point (e.x, e.y);
newItem = table.getItem (pt);
if (newItem == null) return;
TableItem oldItem = comboEditor.getItem ();
if (newItem == oldItem || newItem != lastSelected) {
lastSelected = newItem;
return;
}
table.showSelection ();
nameText = new Text (table, SWT.SINGLE);
nameText.setText (((String [])data.elementAt (index)) [NAME_COL]);
createTextEditor (nameText, nameEditor, NAME_COL);
combo = new CCombo (table, SWT.READ_ONLY);
createComboEditor (combo, comboEditor);
widthText = new Text (table, SWT.SINGLE);
widthText.setText (((String [])data.elementAt (index)) [WIDTH_COL]);
createTextEditor (widthText, widthEditor, WIDTH_COL);
heightText = new Text (table, SWT.SINGLE);
heightText.setText (((String [])data.elementAt (index)) [HEIGHT_COL]);
createTextEditor (heightText, heightEditor, HEIGHT_COL);
String [] alignValues = new String [] {"BEGINNING","CENTER","END","FILL"};
hAlign = new CCombo (table, SWT.NONE);
hAlign.setItems (alignValues);
hAlign.setText (newItem.getText (HALIGN_COL));
hAlignEditor.horizontalAlignment = SWT.LEFT;
hAlignEditor.grabHorizontal = true;
hAlignEditor.minimumWidth = 50;
hAlignEditor.setEditor (hAlign, newItem, HALIGN_COL);
hAlign.addTraverseListener (traverseListener);
vAlign = new CCombo (table, SWT.NONE);
vAlign.setItems (alignValues);
vAlign.setText (newItem.getText (VALIGN_COL));
vAlignEditor.horizontalAlignment = SWT.LEFT;
vAlignEditor.grabHorizontal = true;
vAlignEditor.minimumWidth = 50;
vAlignEditor.setEditor (vAlign, newItem, VALIGN_COL);
vAlign.addTraverseListener (traverseListener);
String [] boolValues = new String [] {"false", "true"};
hGrab = new CCombo (table, SWT.NONE);
hGrab.setItems (boolValues);
hGrab.setText (newItem.getText (HGRAB_COL));
hGrabEditor.horizontalAlignment = SWT.LEFT;
hGrabEditor.grabHorizontal = true;
hGrabEditor.minimumWidth = 50;
hGrabEditor.setEditor (hGrab, newItem, HGRAB_COL);
hGrab.addTraverseListener (traverseListener);
vGrab = new CCombo (table, SWT.NONE);
vGrab.setItems (boolValues);
vGrab.setText (newItem.getText (VGRAB_COL));
vGrabEditor.horizontalAlignment = SWT.LEFT;
vGrabEditor.grabHorizontal = true;
vGrabEditor.minimumWidth = 50;
vGrabEditor.setEditor (vGrab, newItem, VGRAB_COL);
vGrab.addTraverseListener (traverseListener);
hSpan = new Text (table, SWT.SINGLE);
hSpan.setText (((String [])data.elementAt (index)) [HSPAN_COL]);
createTextEditor (hSpan, hSpanEditor, HSPAN_COL);
vSpan = new Text (table, SWT.SINGLE);
vSpan.setText (((String [])data.elementAt (index)) [VSPAN_COL]);
createTextEditor (vSpan, vSpanEditor, VSPAN_COL);
hIndent = new Text (table, SWT.SINGLE);
hIndent.setText (((String [])data.elementAt (index)) [HINDENT_COL]);
createTextEditor (hIndent, hIndentEditor, HINDENT_COL);
vIndent = new Text (table, SWT.SINGLE);
vIndent.setText (((String [])data.elementAt (index)) [VINDENT_COL]);
createTextEditor (vIndent, vIndentEditor, VINDENT_COL);
minWidthText = new Text (table, SWT.SINGLE);
minWidthText.setText (((String [])data.elementAt (index)) [MINWIDTH_COL]);
createTextEditor (minWidthText, minWidthEditor, MINWIDTH_COL);
minHeightText = new Text (table, SWT.SINGLE);
minHeightText.setText (((String [])data.elementAt (index)) [MINHEIGHT_COL]);
createTextEditor (minHeightText, minHeightEditor, MINHEIGHT_COL);
exclude = new CCombo (table, SWT.NONE);
exclude.setItems (boolValues);
exclude.setText (newItem.getText (EXCLUDE_COL));
excludeEditor.horizontalAlignment = SWT.LEFT;
excludeEditor.grabHorizontal = true;
excludeEditor.minimumWidth = 50;
excludeEditor.setEditor (exclude, newItem, EXCLUDE_COL);
exclude.addTraverseListener (traverseListener);
for (int i=0; i<table.getColumnCount (); i++) {
Rectangle rect = newItem.getBounds (i);
if (rect.contains (pt)) {
switch (i) {
case NAME_COL:
nameText.setFocus ();
break;
case COMBO_COL :
combo.setFocus ();
break;
case WIDTH_COL :
widthText.setFocus ();
break;
case HEIGHT_COL :
heightText.setFocus ();
break;
case HALIGN_COL :
hAlign.setFocus ();
break;
case VALIGN_COL :
vAlign.setFocus ();
break;
case HGRAB_COL :
hGrab.setFocus ();
break;
case VGRAB_COL :
vGrab.setFocus ();
break;
case HSPAN_COL :
hSpan.setFocus ();
break;
case VSPAN_COL :
vSpan.setFocus ();
break;
case HINDENT_COL :
hIndent.setFocus ();
break;
case VINDENT_COL :
vIndent.setFocus ();
break;
case MINWIDTH_COL :
minWidthText.setFocus ();
break;
case MINHEIGHT_COL :
minHeightText.setFocus ();
break;
case EXCLUDE_COL :
exclude.setFocus ();
break;
default :
resetEditors ();
break;
}
}
}
}
});
}
/**
* Creates the control widgets.
*/
void createControlWidgets () {
/* Controls the columns in the GridLayout */
Group columnGroup = new Group (controlGroup, SWT.NONE);
columnGroup.setText (LayoutExample.getResourceString ("Columns"));
columnGroup.setLayout(new GridLayout(2, false));
columnGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false));
new Label(columnGroup, SWT.NONE).setText ("numColumns");
numColumns = new Spinner (columnGroup, SWT.BORDER);
numColumns.setMinimum (1);
numColumns.addSelectionListener (selectionListener);
makeColumnsEqualWidth = new Button (columnGroup, SWT.CHECK);
makeColumnsEqualWidth.setText ("makeColumnsEqualWidth");
makeColumnsEqualWidth.addSelectionListener (selectionListener);
makeColumnsEqualWidth.setEnabled (false);
makeColumnsEqualWidth.setLayoutData (new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));
/* Controls the margins and spacing of the GridLayout */
Group marginGroup = new Group(controlGroup, SWT.NONE);
marginGroup.setText (LayoutExample.getResourceString("Margins_Spacing"));
marginGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
marginGroup.setLayout(new GridLayout(2, false));
new Label (marginGroup, SWT.NONE).setText("marginWidth");
marginWidth = new Spinner (marginGroup, SWT.BORDER);
marginWidth.setSelection(5);
marginWidth.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("marginHeight");
marginHeight = new Spinner(marginGroup, SWT.BORDER);
marginHeight.setSelection(5);
marginHeight.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("marginLeft");
marginLeft = new Spinner(marginGroup, SWT.BORDER);
marginLeft.setSelection(0);
marginLeft.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("marginRight");
marginRight = new Spinner(marginGroup, SWT.BORDER);
marginRight.setSelection(0);
marginRight.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("marginTop");
marginTop = new Spinner(marginGroup, SWT.BORDER);
marginTop.setSelection(0);
marginTop.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("marginBottom");
marginBottom = new Spinner(marginGroup, SWT.BORDER);
marginBottom.setSelection(0);
marginBottom.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("horizontalSpacing");
horizontalSpacing = new Spinner(marginGroup, SWT.BORDER);
horizontalSpacing.setSelection(5);
horizontalSpacing.addSelectionListener(selectionListener);
new Label(marginGroup, SWT.NONE).setText("verticalSpacing");
verticalSpacing = new Spinner(marginGroup, SWT.BORDER);
verticalSpacing.setSelection(5);
verticalSpacing.addSelectionListener(selectionListener);
/* Add common controls */
super.createControlWidgets ();
controlGroup.pack();
}
/**
* Creates the example layout.
*/
void createLayout () {
gridLayout = new GridLayout ();
layoutComposite.setLayout (gridLayout);
}
/**
* Disposes the editors without placing their contents
* into the table.
*/
void disposeEditors () {
comboEditor.setEditor (null, null, -1);
combo.dispose ();
nameText.dispose ();
widthText.dispose ();
heightText.dispose ();
hAlign.dispose ();
vAlign.dispose ();
hGrab.dispose ();
vGrab.dispose ();
hSpan.dispose ();
vSpan.dispose ();
hIndent.dispose ();
vIndent.dispose ();
minWidthText.dispose ();
minHeightText.dispose ();
exclude.dispose ();
}
/**
* Generates code for the example layout.
*/
StringBuffer generateLayoutCode () {
StringBuffer code = new StringBuffer ();
code.append ("\t\tGridLayout gridLayout = new GridLayout (");
if (gridLayout.numColumns != 1 || gridLayout.makeColumnsEqualWidth) {
code.append (gridLayout.numColumns + ", " + gridLayout.makeColumnsEqualWidth);
}
code.append(");\n");
if (gridLayout.marginWidth != 5) {
code.append("\t\tgridLayout.marginWidth = " + gridLayout.marginWidth + ";\n");
}
if (gridLayout.marginHeight != 5) {
code.append ("\t\tgridLayout.marginHeight = " + gridLayout.marginHeight + ";\n");
}
if (gridLayout.marginLeft != 0) {
code.append ("\t\tgridLayout.marginLeft = " + gridLayout.marginLeft + ";\n");
}
if (gridLayout.marginRight != 0) {
code.append ("\t\tgridLayout.marginRight = " + gridLayout.marginRight + ";\n");
}
if (gridLayout.marginTop != 0) {
code.append ("\t\tgridLayout.marginTop = " + gridLayout.marginTop + ";\n");
}
if (gridLayout.marginBottom != 0) {
code.append ("\t\tgridLayout.marginBottom = " + gridLayout.marginBottom + ";\n");
}
if (gridLayout.horizontalSpacing != 5) {
code.append ("\t\tgridLayout.horizontalSpacing = " + gridLayout.horizontalSpacing + ";\n");
}
if (gridLayout.verticalSpacing != 5) {
code.append ("\t\tgridLayout.verticalSpacing = " + gridLayout.verticalSpacing + ";\n");
}
code.append ("\t\tshell.setLayout (gridLayout);\n");
boolean first = true;
boolean bounds, align, grab, span;
for (int i = 0; i < children.length; i++) {
Control control = children [i];
code.append (getChildCode (control, i));
GridData data = (GridData) control.getLayoutData ();
if (data != null) {
/* Use the most efficient constructor */
bounds = data.widthHint != SWT.DEFAULT || data.heightHint != SWT.DEFAULT;
align = data.horizontalAlignment != SWT.BEGINNING || data.verticalAlignment != SWT.CENTER;
grab = data.grabExcessHorizontalSpace || data.grabExcessVerticalSpace;
span = data.horizontalSpan != 1 || data.verticalSpan != 1;
code.append ("\t\t");
if (first) {
code.append ("GridData ");
first = false;
}
if (align || grab || span) {
code.append ("data = new GridData (");
code.append (alignmentString(data.horizontalAlignment) + ", ");
code.append (alignmentString(data.verticalAlignment) + ", ");
code.append (data.grabExcessHorizontalSpace + ", ");
code.append (data.grabExcessVerticalSpace);
if (span) {
code.append (", " + data.horizontalSpan);
code.append (", " + data.verticalSpan);
}
code.append(");\n");
if (data.widthHint != SWT.DEFAULT) {
code.append ("\t\tdata.widthHint = " + data.widthHint + ";\n");
}
if (data.heightHint != SWT.DEFAULT) {
code.append ("\t\tdata.heightHint = " + data.heightHint + ";\n");
}
} else {
if (bounds) {
code.append ("data = new GridData (");
code.append (data.widthHint == SWT.DEFAULT ? "SWT.DEFAULT" : String.valueOf(data.widthHint) + ", ");
code.append (data.heightHint == SWT.DEFAULT ? "SWT.DEFAULT" : String.valueOf(data.heightHint));
code.append(");\n");
} else {
code.append ("data = new GridData ();\n");
}
}
if (data.horizontalIndent != 0) {
code.append ("\t\tdata.horizontalIndent = " + data.horizontalIndent + ";\n");
}
if (data.verticalIndent != 0) {
code.append ("\t\tdata.verticalIndent = " + data.verticalIndent + ";\n");
}
if (data.minimumWidth != 0) {
code.append ("\t\tdata.minimumWidth = " + data.minimumWidth + ";\n");
}
if (data.minimumHeight != 0) {
code.append ("\t\tdata.minimumHeight = " + data.minimumHeight + ";\n");
}
if (data.exclude) {
code.append ("\t\tdata.exclude = true;\n");
}
if (code.substring (code.length () - 33).equals ("GridData data = new GridData ();\n")) {
code.delete (code.length () - 33, code.length ());
first = true;
} else if (code.substring (code.length () - 24).equals ("data = new GridData ();\n")) {
code.delete (code.length () - 24, code.length ());
} else {
code.append ("\t\t" + names [i] + ".setLayoutData (data);\n");
}
}
}
return code;
}
String alignmentString(int alignment) {
if (alignment == SWT.BEGINNING) return "SWT.BEGINNING";
if (alignment == SWT.CENTER) return "SWT.CENTER";
if (alignment == SWT.END) return "SWT.END";
return "SWT.FILL";
}
/**
* Returns the string to insert when a new child control is added to the table.
*/
String[] getInsertString (String name, String controlType) {
return new String [] {name, controlType,
"-1","-1","BEGINNING","CENTER",
"false","false","1","1","0","0",
"0","0","false"};
}
/**
* Returns the layout data field names.
*/
String [] getLayoutDataFieldNames() {
return new String [] {
"Control Name",
"Control Type",
"width",
"height",
"hAlignment", //"horizontalAlignment",
"vAlignment", //"verticalAlignment",
"grabH", //"grabExcessHorizontalSpace",
"grabV", //"grabExcessVerticalSpace",
"hSpan", //"horizontalSpan",
"vSpan", //"verticalSpan",
"hIndent", //"horizontalIndent",
"vIndent", //"verticalIndent",
"minWidth", //"minimumWidth",
"minHeight", //"minimumHeight",
"exclude"
};
}
/**
* Gets the text for the tab folder item.
*/
String getTabText () {
return "GridLayout";
}
/**
* Takes information from TableEditors and stores it.
*/
void resetEditors (boolean tab) {
TableItem oldItem = comboEditor.getItem ();
if (oldItem != null) {
int row = table.indexOf (oldItem);
/** Make sure user enters a valid data*/
try {
new String (nameText.getText ());
} catch (NumberFormatException e) {
nameText.setText (oldItem.getText (NAME_COL));
}
try {
new Integer (widthText.getText ()).intValue ();
} catch (NumberFormatException e) {
widthText.setText (oldItem.getText (WIDTH_COL));
}
try {
new Integer (heightText.getText ()).intValue ();
} catch (NumberFormatException e) {
heightText.setText (oldItem.getText (HEIGHT_COL));
}
try {
new Integer (hSpan.getText ()).intValue ();
} catch (NumberFormatException e) {
hSpan.setText (oldItem.getText (HSPAN_COL));
}
try {
new Integer (vSpan.getText ()).intValue ();
} catch (NumberFormatException e) {
vSpan.setText (oldItem.getText (VSPAN_COL));
}
try {
new Integer (hIndent.getText ()).intValue ();
} catch (NumberFormatException e) {
hIndent.setText (oldItem.getText (HINDENT_COL));
}
try {
new Integer (vIndent.getText ()).intValue ();
} catch (NumberFormatException e) {
vIndent.setText (oldItem.getText (VINDENT_COL));
}
try {
new Integer (minWidthText.getText ()).intValue ();
} catch (NumberFormatException e) {
minWidthText.setText (oldItem.getText (MINWIDTH_COL));
}
try {
new Integer (minHeightText.getText ()).intValue ();
} catch (NumberFormatException e) {
minHeightText.setText (oldItem.getText (MINHEIGHT_COL));
}
String [] insert = new String [] {
nameText.getText (), combo.getText (), widthText.getText (), heightText.getText (),
hAlign.getText (), vAlign.getText (), hGrab.getText (), vGrab.getText (),
hSpan.getText (), vSpan.getText (), hIndent.getText (), vIndent.getText (),
minWidthText.getText (), minHeightText.getText (), exclude.getText ()
};
data.setElementAt (insert, row);
for (int i = 0; i < TOTAL_COLS; i++) {
oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
}
if (!tab) disposeEditors ();
}
setLayoutState ();
refreshLayoutComposite ();
setLayoutData ();
layoutComposite.layout (true);
layoutGroup.layout (true);
}
/**
* Return the initial weight of the layout and control groups within the SashForm.
* @return the desired sash weights for the tab page
*/
int[] sashWeights () {
return new int[] {35, 65};
}
/**
* Sets the layout data for the children of the layout.
*/
void setLayoutData () {
Control [] children = layoutComposite.getChildren ();
TableItem [] items = table.getItems ();
GridData data;
int hSpan, vSpan, hIndent, vIndent;
String vAlign, hAlign, vGrab, hGrab, exclude;
for (int i = 0; i < children.length; i++) {
data = new GridData ();
/* Set widthHint and heightHint */
data.widthHint = new Integer (items [i].getText (WIDTH_COL)).intValue ();
data.heightHint = new Integer (items [i].getText (HEIGHT_COL)).intValue ();
/* Set vertical alignment and horizontal alignment */
hAlign = items [i].getText (HALIGN_COL);
if (hAlign.equals ("CENTER")) {
data.horizontalAlignment = SWT.CENTER;
} else if (hAlign.equals ("END")) {
data.horizontalAlignment = SWT.END;
} else if (hAlign.equals ("FILL")) {
data.horizontalAlignment = SWT.FILL;
} else {
data.horizontalAlignment = SWT.BEGINNING;
}
vAlign = items [i].getText (VALIGN_COL);
if (vAlign.equals ("BEGINNING")) {
data.verticalAlignment = SWT.BEGINNING;
} else if (vAlign.equals ("END")) {
data.verticalAlignment = SWT.END;
} else if (vAlign.equals ("FILL")) {
data.verticalAlignment = SWT.FILL;
} else {
data.verticalAlignment = SWT.CENTER;
}
/* Set spans and indents */
hSpan = new Integer (items [i].getText (HSPAN_COL)).intValue ();
data.horizontalSpan = hSpan;
vSpan = new Integer (items [i].getText (VSPAN_COL)).intValue ();
data.verticalSpan = vSpan;
hIndent = new Integer (items [i].getText (HINDENT_COL)).intValue ();
data.horizontalIndent = hIndent;
vIndent = new Integer (items [i].getText (VINDENT_COL)).intValue ();
data.verticalIndent = vIndent;
/* Set grabs */
hGrab = items [i].getText (HGRAB_COL);
data.grabExcessHorizontalSpace = hGrab.equals ("true");
vGrab = items [i].getText (VGRAB_COL);
data.grabExcessVerticalSpace = vGrab.equals ("true");
/* Set minimum width and height */
data.minimumWidth = new Integer (items [i].getText (MINWIDTH_COL)).intValue ();
data.minimumHeight = new Integer (items [i].getText (MINHEIGHT_COL)).intValue ();
/* Set exclude boolean */
exclude = items [i].getText (EXCLUDE_COL);
data.exclude = exclude.equals ("true");
children [i].setLayoutData (data);
}
}
/**
* Sets the state of the layout.
*/
void setLayoutState () {
/* Set the columns for the layout */
gridLayout.numColumns = numColumns.getSelection ();
gridLayout.makeColumnsEqualWidth = makeColumnsEqualWidth.getSelection ();
makeColumnsEqualWidth.setEnabled (numColumns.getSelection () > 1);
/* Set the margins and spacing */
gridLayout.marginWidth = marginWidth.getSelection ();
gridLayout.marginHeight = marginHeight.getSelection ();
gridLayout.marginLeft = marginLeft.getSelection ();
gridLayout.marginRight = marginRight.getSelection ();
gridLayout.marginTop = marginTop.getSelection ();
gridLayout.marginBottom = marginBottom.getSelection ();
gridLayout.horizontalSpacing = horizontalSpacing.getSelection ();
gridLayout.verticalSpacing = verticalSpacing.getSelection ();
}
}