summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java672
1 files changed, 0 insertions, 672 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
deleted file mode 100644
index a64fef129d..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
+++ /dev/null
@@ -1,672 +0,0 @@
-/*******************************************************************************
- * 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 ();
- }
-}