org.eclipse.ui.forms.widgets

## Class ScrolledForm

- 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.swt.custom.ScrolledComposite
          - - org.eclipse.ui.forms.widgets.SharedScrolledComposite
            - - org.eclipse.ui.forms.widgets.ScrolledForm

All Implemented Interfaces:
  Drawable

    public class ScrolledForm
    extends SharedScrolledComposite

ScrolledForm is a control that is capable of scrolling an instance of the Form class. It should be created in a parent that will allow it to use all the available area (for example, a shell, a view or an editor).

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

     FormToolkit toolkit = new FormToolkit(parent.getDisplay());
     ScrolledForm form = toolkit.createScrolledForm(parent);
     form.setText("Sample form");
     form.getBody().setLayout(new GridLayout());
     toolkit.createButton(form.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 is not expected to be be extended.

Since:
  3.0
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Control

`handle`

### Constructor Summary

Constructors
Constructor and Description
`ScrolledForm(Composite parent)`
`ScrolledForm(Composite parent, int style)` Creates the form control as a child of the provided parent.

### Method Summary

All Methods Instance Methods Concrete Methods
`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).
`Form` `getForm()` Returns the instance of the form owned by the scrolled form.
`Image` `getImage()` Returns the title image that will be rendered to the left of the title.
`String` `getMessage()`
`IMessageManager` `getMessageManager()` Returns the message manager that will keep track of messages in this form.
`int` `getMessageType()`
`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.
`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` `setBusy(boolean busy)` Sets the form's busy state.
`void` `setContent(Control c)` The form sets the content widget.
`void` `setForeground(Color fg)` Sets the foreground color of the form.
`void` `setHeadClient(Control headClient)` Sets the optional head client.
`void` `setImage(Image image)` Sets the image to be rendered to the left of the title.
`void` `setMenu(Menu menu)` Passes the menu to the body.
`void` `setMessage(String newMessage, int newType)` Sets the form message.
`void` `setMessage(String newMessage, int newType, IMessage[] messages)` Sets the form message.
`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.ui.forms.widgets.SharedScrolledComposite

`isDelayedReflow, layout, reflow, setDelayedReflow, setExpandHorizontal, setExpandVertical, setFocus, setFont`

### Methods inherited from class org.eclipse.swt.custom.ScrolledComposite

`getAlwaysShowScrollBars, getContent, getExpandHorizontal, getExpandVertical, getMinHeight, getMinWidth, getOrigin, getShowFocusedControl, setAlwaysShowScrollBars, setLayout, setMinHeight, setMinSize, setMinSize, setMinWidth, setOrigin, setOrigin, setShowFocusedControl, showControl`

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setLayoutDeferred, setTabList`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setLayoutData, setLocation, setLocation, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

### Constructor Detail

#### ScrolledForm

    public ScrolledForm(Composite parent)

#### ScrolledForm

    public ScrolledForm(Composite parent,
                        int style)

Creates the form 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 body.

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

#### getText

    public String getText()

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

Returns:
  the title text

#### getImage

    public Image getImage()

Returns the title image that will be rendered to the left of the title.

Returns:
  the title image

#### 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 `SharedScrolledComposite`
Parameters:
  `fg` - the new foreground color

#### 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 `SharedScrolledComposite`
Parameters:
  `bg` - the new background color

#### setContent

    public final void setContent(Control c)

The form sets the content widget. This method should not be called by classes that instantiate this widget.

Overrides:
  `setContent` in class `SharedScrolledComposite`
Parameters:
  `c` - the control to be displayed in the content area

#### setText

    public void setText(String text)

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

Note: Mnemonics are indicated by an '&' that causes the next character to be the mnemonic. Mnemonics are not applicable in the case of the form title but need to be taken into account due to the usage of the underlying widget that renders mnemonics in the title area. The mnemonic indicator character '&' can be escaped by doubling it in the string, causing a single '&' to be displayed.

Parameters:
  `text` - the title text

#### setImage

    public void setImage(Image image)

Sets the image to be rendered to the left of the title.

Parameters:
  `image` - the title image or `null` for no image.

#### 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.

Overrides:
  `getBackgroundImage` in class `Control`
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.

Overrides:
  `setBackgroundImage` in class `Control`
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.

#### getForm

    public Form getForm()

Returns the instance of the form owned by the scrolled form.

Returns:
  the form instance

#### setBusy

    public void setBusy(boolean busy)

Sets the form's busy state. Busy form will display 'busy' animation in the area of the title image.

Parameters:
  `busy` - the form's busy state
Since:
  3.3
See Also:
  `Form.setBusy(boolean)`

#### setHeadClient

    public void setHeadClient(Control headClient)

Sets the optional head client.

Parameters:
  `headClient` - the optional child of the head
Since:
  3.3
See Also:
  `Form.setHeadClient(Control)`

#### setMessage

    public void setMessage(String newMessage,
                           int newType,
                           IMessage[] messages)

Sets the form message.

Parameters:
  `newMessage` - the message text or `null` to reset.
  `newType` - as defined in `IMessageProvider`.
  `messages` - an optional array of children that itemize individual messages or `null` for a simple message.
Since:
  3.3
See Also:
  `Form.setMessage(String, int)`

#### setMessage

    public void setMessage(String newMessage,
                           int newType)

Sets the form message.

Parameters:
  `newMessage` - the message text or `null` to reset.
  `newType` - as defined in `IMessageProvider`.
Since:
  3.3

#### getMessage

    public String getMessage()

#### getMessageType

    public int getMessageType()

#### getMessageManager

    public IMessageManager getMessageManager()

Returns the message manager that will keep track of messages in this form.

Returns:
  the message manager instance
Since:
  org.eclipse.ui.forms 3.4