Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui.forms.widgets
Class Form

    java.lang.Object
      org.eclipse.swt.widgets.Widget
          org.eclipse.swt.widgets.Control
              org.eclipse.swt.widgets.Scrollable
                  org.eclipse.swt.widgets.Composite
                      org.eclipse.ui.forms.widgets.Form

All Implemented Interfaces:
  Drawable

public class Form
extends Composite

Form is a custom control that renders a title and an optional background image above the body composite. It can be used alone when part of parents that are scrolled. If scrolling is required, use `ScrolledForm` instead because it has an instance of `Form` and adds scrolling capability.

Form can have a title if set. If not set, title area will not be left empty - form body will be resized to fill the entire form.

Form can have a background image behind the title text. The image can be painted as-is, or tiled as many times as needed to fill the title area.

Form has a custom layout manager that is wrap-enabled. If a form is placed in a composite whose layout manager implements ILayoutExtension, the body of the worm will participate in wrapping as long as its layout manager implements ILayoutExtension as well.

Children of the form should typically be created using FormToolkit to match the appearance and behaviour. When creating children, use the form body as a parent by calling 'getBody()' on the form instance. Example:

      FormToolkit toolkit = new FormToolkit(parent.getDisplay());
      Form form = toolkit.createForm(parent);
      formContent.setText("Sample form");
      formContent.getBody().setLayout(new GridLayout());
      toolkit.createButton(formContent.getBody(), "Checkbox", SWT.CHECK);

No layout manager has been set on the body. Clients are required to set the desired layout manager explicitly.

Although the class is not final, it should not be subclassed.

Since:
  3.0

Field Summary

Fields inherited from class org.eclipse.swt.widgets.Control
`handle`

Constructor Summary
`Form(Composite parent, int style)` Creates the form content control as a child of the provided parent.

Method Summary
`Point` | `computeSize(int wHint, int hHint, boolean changed)` Fully delegates the size computation to the internal layout manager.
`Image` | `getBackgroundImage()` Returns the optional background image of this form.
`Composite` | `getBody()` Returns the container that occupies the body of the form (the form area below the title).
`String` | `getText()` Returns the title text that will be rendered at the top of the form.
`IToolBarManager` | `getToolBarManager()` Returns the tool bar manager that is used to manage tool items in the form's title area.
`boolean` | `isBackgroundImageTiled()`
`void` | `setBackground(Color bg)` Sets the background color of the form.
`void` | `setBackgroundImage(Image backgroundImage)` Sets the optional background image to be rendered behind the title starting at the position 0,0.
`void` | `setBackgroundImageTiled(boolean backgroundImageTiled)`
`void` | `setForeground(Color fg)` Sets the foreground color of the form.
`void` | `setLayout(Layout layout)` Prevents from changing the custom control layout.
`void` | `setMenu(Menu menu)` Passes the menu to the form body.
`void` | `setText(String text)` Sets the text to be rendered at the top of the form above the body as a title.
`void` | `updateToolBar()` Updates the local tool bar manager if used.

Methods inherited from class org.eclipse.swt.widgets.Composite
`checkSubclass, getChildren, getLayout, getTabList, layout, layout, setFocus, setTabList`

Methods inherited from class org.eclipse.swt.widgets.Scrollable
`computeTrim, getClientArea, getHorizontalBar, getVerticalBar`

Methods inherited from class org.eclipse.swt.widgets.Control
`addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBounds, setBounds, setCapture, setCursor, setEnabled, setFont, setLayoutData, setLocation, setLocation, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update`

Methods inherited from class org.eclipse.swt.widgets.Widget
`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Form

    public Form(Composite parent,
                int style)

  Creates the form content control as a child of the provided parent.

Parameters:
  `parent` - the parent widget

Method Detail

### setMenu

    public void setMenu(Menu menu)

  Passes the menu to the form body.

  Overrides:
    `setMenu` in class `Control`
  Parameters:
    `menu` -

### computeSize

    public final Point computeSize(int wHint,
                                   int hHint,
                                   boolean changed)

  Fully delegates the size computation to the internal layout manager.

  Overrides:
    `computeSize` in class `Composite`

### setLayout

    public final void setLayout(Layout layout)

  Prevents from changing the custom control layout.

  Overrides:
    `setLayout` in class `Composite`
  Parameters:
    `layout` - the receiver's new layout or null

### getText

    public String getText()

  Returns the title text that will be rendered at the top of the form.

  Returns:
    the title text

### setForeground

    public void setForeground(Color fg)

  Sets the foreground color of the form. This color will also be used for the body.

  Overrides:
    `setForeground` in class `Control`
  Parameters:
    `fg` - the new color (or null)

### setBackground

    public void setBackground(Color bg)

  Sets the background color of the form. This color will also be used for the body.

  Overrides:
    `setBackground` in class `Control`
  Parameters:
    `bg` - the new color (or null)

### setText

    public void setText(String text)

  Sets the text to be rendered at the top of the form above the body as a title.

  Parameters:
    `text` - the title text

### getBackgroundImage

    public Image getBackgroundImage()

  Returns the optional background image of this form. The image is rendered starting at the position 0,0 and is painted behind the title.

  Returns:
    Returns the background image.

### setBackgroundImage

    public void setBackgroundImage(Image backgroundImage)

  Sets the optional background image to be rendered behind the title starting at the position 0,0.

  Parameters:
    `backgroundImage` - The backgroundImage to set.

### getToolBarManager

    public IToolBarManager getToolBarManager()

  Returns the tool bar manager that is used to manage tool items in the form's title area.

  Returns:
    form tool bar manager

### updateToolBar

    public void updateToolBar()

  Updates the local tool bar manager if used. Does nothing if local tool bar manager has not been created yet.

### getBody

    public Composite getBody()

  Returns the container that occupies the body of the form (the form area below the title). Use this container as a parent for the controls that should be in the form. No layout manager has been set on the form body.

  Returns:
    Returns the body of the form.

### isBackgroundImageTiled

    public boolean isBackgroundImageTiled()

  Returns:
    Returns the backgroundImageTiled.

### setBackgroundImageTiled

    public void setBackgroundImageTiled(boolean backgroundImageTiled)

  Parameters:
    `backgroundImageTiled` - The backgroundImageTiled to set.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
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, 2004. All rights reserved.