Eclipse Platform
Release 3.2

org.eclipse.debug.ui
Class DebugPopup

java.lang.Object
  extended byorg.eclipse.jface.window.Window
      extended byorg.eclipse.jface.dialogs.PopupDialog
          extended byorg.eclipse.debug.ui.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.

Note: This class subclasses PopupDialog which is currently marked as experimental API. Users should therefore consider this class to be experimental as well.

Since:
3.2

Nested Class Summary
 
Nested classes inherited from class org.eclipse.jface.window.Window
Window.IExceptionHandler
 
Field Summary
 
Fields inherited from class org.eclipse.jface.dialogs.PopupDialog
HOVER_SHELLSTYLE, INFOPOPUP_SHELLSTYLE, INFOPOPUPRESIZE_SHELLSTYLE, POPUP_HORIZONTALSPACING, POPUP_MARGINHEIGHT, POPUP_MARGINWIDTH, POPUP_VERTICALSPACING
 
Fields inherited from class org.eclipse.jface.window.Window
CANCEL, OK
 
Constructor Summary
DebugPopup(Shell parent, Point anchor, String commandId)
          Constructs a new popup dialog of type PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE
 
Method Summary
 boolean close()
          Closes this window, disposes its shell, and removes this window from its window manager (if it has one).
protected abstract  Control createDialogArea(Composite parent)
          Creates and returns the contents of the dialog (the area below the title area and above the info text area.
protected  String getActionText()
          Returns the text to be shown as the action performed when this dialog's persist command is invoked, or null.
protected  String getCommandId()
          Returns the command id to be used for persisting the contents of the dialog.
protected  IDialogSettings getDialogSettings()
          Gets the dialog settings that should be used for remembering the bounds of the dialog.
protected  String getInfoText()
          Returns the text to be shown in the popups's information area.
protected  Point getInitialLocation(Point initialSize)
          Returns the initial location to use for the shell based upon the current selection in the viewer.
 int open()
          Opens this window, creating it first if it has not yet been created.
protected  void persist()
          Persists the contents of the dialog.
protected  boolean wasPersisted()
          Returns whether the command handler was invoked to persist this popup's result.
 
Methods inherited from class org.eclipse.jface.dialogs.PopupDialog
adjustBounds, applyBackgroundColor, applyForegroundColor, configureShell, createContents, createInfoTextArea, createTitleControl, createTitleMenuArea, fillDialogMenu, getBackgroundColorExclusions, getFocusControl, getForegroundColorExclusions, getInitialSize, getPersistBounds, hasInfoArea, hasTitleArea, saveDialogBounds, setInfoText, setTabOrder, setTitleText, showDialogMenu
 
Methods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, constrainShellSize, create, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, initializeBounds, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
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
See Also:
Window.getInitialLocation(org.eclipse.swt.graphics.Point)

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

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.