Eclipse Platform
Release 3.0

org.eclipse.ui.forms.widgets
Class Form

java.lang.Object
  extended byorg.eclipse.swt.widgets.Widget
      extended byorg.eclipse.swt.widgets.Control
          extended byorg.eclipse.swt.widgets.Scrollable
              extended byorg.eclipse.swt.widgets.Composite
                  extended byorg.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.

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.