Class DebugPopup

All Implemented Interfaces:
IShellProvider
Direct Known Subclasses:
InspectPopupDialog

public abstract class DebugPopup extends PopupDialog
A PopupDialog that is automatically positioned relative to a specified anchor point. The popup can be dismissed in the same manor as all popup dialogs, but additionally allows clients the option of specifying a command id that can be used to persist the contents of the dialog.

Clients may subclass this.

Since:
3.2
  • Constructor Details

    • DebugPopup

      public DebugPopup(Shell parent, Point anchor, String commandId)
      Constructs a new popup dialog of type PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE
      Parameters:
      parent - The parent shell
      anchor - point at which to anchor the popup dialog in Display coordinate space. Since 3.3, null can be specified to use a default anchor point
      commandId - The command id to be used for persistence of the dialog, or null
  • Method Details

    • getInfoText

      protected String getInfoText()
      Returns the text to be shown in the popups's information area. May return null.

      By default, if this dialog has a persistence command associated with it, the text displayed is of the form "Press {key-sequence} to {action}". The action text is specified by the method getActionText().

      Returns:
      The text to be shown in the popup's information area or null
    • getActionText

      protected String getActionText()
      Returns the text to be shown as the action performed when this dialog's persist command is invoked, or null.

      Subclasses should override as necessary.

      Returns:
      the text to be shown as the action performed when this dialog's persist command is invoked
    • getCommandId

      protected String getCommandId()
      Returns the command id to be used for persisting the contents of the dialog. If the contents should not be persisted, this method should return null.
      Returns:
      The command id to be used for persisting the contents of the dialog or null
    • persist

      protected void persist()
      Persists the contents of the dialog. Subclasses should override as required, but also call super.persist().
    • wasPersisted

      protected boolean wasPersisted()
      Returns whether the command handler was invoked to persist this popup's result.
      Returns:
      whether the command handler was invoked to persist this popup's result
    • createDialogArea

      protected abstract Control createDialogArea(Composite parent)
      Description copied from class: PopupDialog
      Creates and returns the contents of the dialog (the area below the title area and above the info text area.

      The PopupDialog 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 PopupDialog
      Parameters:
      parent - the parent composite to contain the dialog area
      Returns:
      the dialog area control
    • getInitialLocation

      protected Point getInitialLocation(Point initialSize)
      Returns the initial location to use for the shell based upon the current selection in the viewer. Bottom is preferred to top, and right is preferred to left, therefore if possible the popup will be located below and to the right of the selection.
      Overrides:
      getInitialLocation in class PopupDialog
      Parameters:
      initialSize - the initial size of the shell, as returned by getInitialSize.
      Returns:
      the initial location of the shell
    • getDialogSettings

      protected IDialogSettings getDialogSettings()
      Description copied from class: PopupDialog
      Gets the dialog settings that should be used for remembering the bounds of the dialog. Subclasses should override this method when they wish to persist the bounds of the dialog.
      Overrides:
      getDialogSettings in class PopupDialog
      Returns:
      settings the dialog settings used to store the dialog's location and/or size, or null if the dialog's bounds should never be stored.
    • open

      public int open()
      Description copied from class: PopupDialog
      Opens this window, creating it first if it has not yet been created.

      This method is reimplemented for special configuration of PopupDialogs. It never blocks on open, immediately returning OK if the open is successful, or CANCEL if it is not. It provides framework hooks that allow subclasses to set the focus and tab order, and avoids the use of shell.open() in cases where the focus should not be given to the shell initially.

      Overrides:
      open in class PopupDialog
      Returns:
      the return code
      See Also:
    • close

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

      This method is extended to save the dialog bounds and initialize widget state so that the widgets can be recreated if the dialog is reopened. This method may be extended (super.close must be called).

      Overrides:
      close in class PopupDialog
      Returns:
      true if the window is (or was already) closed, and false if it is still open