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 Detail

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

      • 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:
        Window.open()
      • 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