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 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 - 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:
        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