Eclipse Platform
Release 3.3

org.eclipse.jface.dialogs
Class TrayDialog

java.lang.Object
  extended byorg.eclipse.jface.window.Window
      extended byorg.eclipse.jface.dialogs.Dialog
          extended byorg.eclipse.jface.dialogs.TrayDialog
All Implemented Interfaces:
IShellProvider
Direct Known Subclasses:
org.eclipse.ui.views.markers.internal.DialogMarkerProperties, FormDialog, PreferenceDialog, SaveablePartDialog, SelectionDialog, StatusDialog, TitleAreaDialog

public abstract class TrayDialog
extends Dialog

A TrayDialog is a specialized Dialog that can contain a tray on its side. The tray's content is provided as a DialogTray.

It is recommended to subclass this class instead of Dialog in all cases except where the dialog should never show a tray. For example, dialogs which are very short, simple, and quick to dismiss (e.g. a message dialog with an OK button) should subclass Dialog.

Note: Trays are not supported on dialogs that use a custom layout on the Shell by overriding Window#getLayout().

Since:
3.2
See Also:
DialogTray, Window.getLayout()

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.Dialog
blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
 
Fields inherited from class org.eclipse.jface.window.Window
CANCEL, OK
 
Constructor Summary
protected TrayDialog(IShellProvider parentShell)
          Creates a tray dialog with the given parent.
protected TrayDialog(Shell shell)
          Creates a tray dialog instance.
 
Method Summary
 boolean close()
          Closes this window, disposes its shell, and removes this window from its window manager (if it has one).
 void closeTray()
          Closes this dialog's tray, disposing its widgets.
protected  Control createButtonBar(Composite parent)
          Creates and returns the contents of this dialog's button bar.
protected  Control createHelpControl(Composite parent)
          Creates a new help control that provides access to context help.
protected  Layout getLayout()
          The tray dialog's default layout is a modified version of the default Window layout that can accomodate a tray, however it still conforms to the description of the Window default layout.
 DialogTray getTray()
          Returns the tray currently shown in the dialog, or null if there is no tray.
static boolean isDialogHelpAvailable()
          Tests if dialogs that have help control should show it all the time or only when explicitly requested for each dialog instance.
 boolean isHelpAvailable()
          Returns whether or not context help is available for this dialog.
 void openTray(DialogTray tray)
          Constructs the tray's widgets and displays the tray in this dialog.
static void setDialogHelpAvailable(boolean helpAvailable)
          Sets whether JFace dialogs that support help control should show the control by default.
 void setHelpAvailable(boolean helpAvailable)
          Sets whether or not context help is available for this dialog.
 
Methods inherited from class org.eclipse.jface.dialogs.Dialog
applyDialogFont, buttonPressed, cancelPressed, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, createButtonsForButtonBar, createContents, createDialogArea, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsSettings, getDialogBoundsStrategy, getImage, getInitialLocation, getInitialSize, getOKButton, initializeBounds, initializeDialogUnits, okPressed, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText
 
Methods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, configureShell, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, open, 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

TrayDialog

protected TrayDialog(Shell shell)
Creates a tray dialog instance. Note that the window will have no visual representation (no widgets) until it is told to open.

Parameters:
shell - the parent shell, or null to create a top-level shell

TrayDialog

protected TrayDialog(IShellProvider parentShell)
Creates a tray dialog with the given parent.

Parameters:
parentShell - the object that returns the current parent shell
Method Detail

closeTray

public void closeTray()
               throws IllegalStateException
Closes this dialog's tray, disposing its widgets.

Throws:
IllegalStateException - if the tray was not open

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).

Overrides:
close in class Dialog
See Also:
Window.close()

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 Dialog
Parameters:
parent - the parent composite to contain the button bar
Returns:
the button bar control

createHelpControl

protected Control createHelpControl(Composite parent)
Creates a new help control that provides access to context help.

The TrayDialog implementation of this method creates the control, registers it for selection events including selection, Note that the parent's layout is assumed to be a GridLayout and the number of columns in this layout is incremented. Subclasses may override.

Parameters:
parent - the parent composite
Returns:
the help control

isHelpAvailable

public boolean isHelpAvailable()
Returns whether or not context help is available for this dialog. This can affect whether or not the dialog will display additional help mechanisms such as a help control in the button bar.

Returns:
whether or not context help is available for this dialog

getLayout

protected Layout getLayout()
The tray dialog's default layout is a modified version of the default Window layout that can accomodate a tray, however it still conforms to the description of the Window default layout.

Note: Trays may not be supported with all custom layouts on the dialog's Shell. To avoid problems, use a single outer Composite for your dialog area, and set your custom layout on that Composite.

Overrides:
getLayout in class Window
Returns:
a newly created layout or null for no layout
See Also:
Window.getLayout()

getTray

public DialogTray getTray()
Returns the tray currently shown in the dialog, or null if there is no tray.

Returns:
the dialog's current tray, or null if there is none

openTray

public void openTray(DialogTray tray)
              throws IllegalStateException,
                     UnsupportedOperationException
Constructs the tray's widgets and displays the tray in this dialog. The dialog's size will be adjusted to accomodate the tray.

Parameters:
tray - the tray to show in this dialog
Throws:
IllegalStateException - if the dialog already has a tray open
UnsupportedOperationException - if the dialog does not support trays, for example if it uses a custom layout.

setHelpAvailable

public void setHelpAvailable(boolean helpAvailable)
Sets whether or not context help is available for this dialog. This can affect whether or not the dialog will display additional help mechanisms such as a help control in the button bar.

Parameters:
helpAvailable - whether or not context help is available for the dialog

isDialogHelpAvailable

public static boolean isDialogHelpAvailable()
Tests if dialogs that have help control should show it all the time or only when explicitly requested for each dialog instance.

Returns:
true if dialogs that support help control should show it by default, false otherwise.
Since:
3.2

setDialogHelpAvailable

public static void setDialogHelpAvailable(boolean helpAvailable)
Sets whether JFace dialogs that support help control should show the control by default. If set to false, help control can still be shown on a per-dialog basis.

Parameters:
helpAvailable - true to show the help control, false otherwise.
Since:
3.2

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

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