Class 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.
  • Constructor Details

    • 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 Details

    • setMenu

      public void setMenu(Menu menu)
      Passes the menu to the body.
      Overrides:
      setMenu in class Control
      Parameters:
      menu - menu to set
    • 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:
    • setHeadClient

      public void setHeadClient(Control headClient)
      Sets the optional head client.
      Parameters:
      headClient - the optional child of the head
      Since:
      3.3
      See Also:
    • 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:
    • 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