Class FormDialog

All Implemented Interfaces:
IShellProvider

public class FormDialog extends TrayDialog
A general-purpose dialog that hosts a form. Clients should extend the class and override createFormContent(IManagedForm) protected method.

Since forms with wrapped text typically don't have a preferred size, it is important to set the initial dialog size upon creation:

 MyFormDialog dialog = new MyFormDialog(shell);
 dialog.create();
 dialog.getShell().setSize(500, 500);
 dialog.open();
 

Otherwise, the dialog may open very wide.

Since:
3.3
  • Constructor Details

    • FormDialog

      public FormDialog(Shell shell)
      Creates a new form dialog for a provided parent shell.
      Parameters:
      shell - the parent shell
    • FormDialog

      public FormDialog(IShellProvider parentShellProvider)
      Creates a new form dialog for a provided parent shell provider.
      Parameters:
      parentShellProvider - the parent shell provider
  • Method Details

    • close

      public boolean close()
      Description copied from class: Window
      Closes this window, disposes its shell, and removes this window from its window manager (if it has one).

      This framework method may be extended (super.close must be called).

      Note that in order to prevent recursive calls to this method it does not call Shell#close(). As a result ShellListeners will not receive a shellClosed event.

      Overrides:
      close in class Dialog
      Returns:
      true if the window is (or was already) closed, and false if it is still open
      See Also:
    • createDialogArea

      protected Control createDialogArea(Composite parent)
      Description copied from class: Dialog
      Creates and returns the contents of the upper part of this dialog (above the button bar).

      The Dialog implementation of this framework method creates and returns a new Composite with standard margins and spacing.

      The returned control's layout data must be an instance of GridData. This method must not modify the parent's layout.

      Subclasses must override this method but may call super as in the following example:

       Composite composite = (Composite) super.createDialogArea(parent);
       //add controls to composite as necessary
       return composite;
       
      Overrides:
      createDialogArea in class Dialog
      Parameters:
      parent - the parent composite to contain the dialog area
      Returns:
      the dialog area control
    • createButtonBar

      protected Control createButtonBar(Composite parent)
      Description copied from class: Dialog
      Creates and returns the contents of this dialog's button bar.

      The Dialog implementation of this framework method lays out a button bar and calls the createButtonsForButtonBar framework method to populate it. Subclasses may override.

      The returned control's layout data must be an instance of GridData.

      Overrides:
      createButtonBar in class TrayDialog
      Parameters:
      parent - the parent composite to contain the button bar
      Returns:
      the button bar control
    • createFormContent

      protected void createFormContent(IManagedForm mform)
      Configures the dialog form and creates form content. Clients should override this method.
      Parameters:
      mform - the dialog form