Class WizardDialog
- All Implemented Interfaces:
IPageChangeProvider,IRunnableContext,IShellProvider,IWizardContainer,IWizardContainer2
In typical usage, the client instantiates this class with a particular wizard. The dialog serves as the wizard container and orchestrates the presentation of its pages.
The standard layout is roughly as follows: it has an area at the top containing both the wizard's title, description, and image; the actual wizard page appears in the middle; below that is a progress indicator (which is made visible if needed); and at the bottom of the page is message line and a button bar containing Help, Next, Back, Finish, and Cancel buttons (or some subset).
Clients may subclass WizardDialog, although this is rarely
required.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classA layout for a container which includes several pages, like a notebook, wizard, or preference dialog.Nested classes/interfaces inherited from class org.eclipse.jface.window.Window
Window.IExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringImage registry key for error message image (value"dialog_title_error_image").Fields inherited from class org.eclipse.jface.dialogs.TitleAreaDialog
DLG_IMG_TITLE_BANNER, DLG_IMG_TITLE_ERROR, INFO_MESSAGE, WARNING_MESSAGEFields 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, ELLIPSISFields inherited from class org.eclipse.jface.window.Window
CANCEL, OK, resizeHasOccurred -
Constructor Summary
ConstructorsConstructorDescriptionWizardDialog(Shell parentShell, IWizard newWizard) Creates a new wizard dialog for the given wizard. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPageChangedListener(IPageChangedListener listener) Adds a listener for page changes in this page change provider.voidaddPageChangingListener(IPageChangingListener listener) Adds a listener for page changes to the list of page changing listeners registered for this dialog.protected voidThe Back button has been pressed.protected voidbuttonPressed(int buttonId) Notifies that this dialog's button with the given id has been pressed.protected voidNotifies that the cancel button of this dialog has been pressed.booleanclose()Closes this window, disposes its shell, and removes this window from its window manager (if it has one).protected voidconfigureShell(Shell newShell) Configures the given shell in preparation for opening this window in it.protected voidcreateButtonsForButtonBar(Composite parent) Creates the buttons for this dialog's button bar.protected ControlcreateContents(Composite parent) TheWizardDialogimplementation of thisWindowmethod calls callIWizard.addPagesto allow the current wizard to add extra pages, thensuper.createContentsto create the controls.protected ControlcreateDialogArea(Composite parent) Creates and returns the contents of the upper part of this dialog (above the button bar).protected ProgressMonitorPartcreateProgressMonitorPart(Composite composite, GridLayout pmlayout) Hook method for subclasses to create a custom progress monitor part.protected voidThe Finish button has been pressed.protected voidfirePageChanged(PageChangedEvent event) Notifies any selection changed listeners that the selected page has changed.protected voidNotifies any page changing listeners that the currently selected dialog page is changing.protected ButtongetButton(int id) Return the cancel button if the id is a the cancel id.Returns the current wizard page for this container.protected IDialogSettingsGets the dialog settings that should be used for remembering the bounds of of the dialog, according to the dialog bounds strategy.protected IProgressMonitorReturns the progress monitor for this wizard dialog (if it has one).Returns the currently selected page in the dialog.intReturns the shell style bits.protected IWizardReturns the wizard this dialog is currently displaying.protected voidThe Help button has been pressed.booleanisModal()protected voidThe Next button has been pressed.voidRemoves the given page change listener from this page change provider.voidRemoves the provided page changing listener from the list of page changing listeners registered for the dialog.voidrun(boolean fork, boolean cancelable, IRunnableWithProgress runnable) This implementation of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) blocks until the runnable has been run, regardless of the value offork.protected voidsetButtonLayoutData(Button button) Set the layout data of the button to a GridData with appropriate heights and widths.voidsetMinimumPageSize(int minWidth, int minHeight) Sets the minimum page size used for the pages.voidsetMinimumPageSize(Point size) Sets the minimum page size used for the pages.setModal(boolean modal) Option to set the modality of the WizardDialog.voidsetPageSize(int width, int height) Sets the size of all pages.voidsetPageSize(Point size) Sets the size of all pages.voidsetShellStyle(int newShellStyle) Sets the shell style of the wizard dialog.protected voidSets the wizard this dialog is currently displaying.voidshowPage(IWizardPage page) Makes the given page visible.protected voidupdate()Updates this dialog's controls to reflect the current page.voidAdjusts the enable state of the Back, Next, and Finish buttons to reflect the state of the currently active page in this container.voidUpdates the message (or error message) shown in the message line to reflect the state of the currently active page in this container.voidUpdates the window size to reflect the state of the current wizard.protected voidupdateSize(IWizardPage page) Computes the correct dialog size for the current page and resizes its shell if necessary.voidUpdates the title bar (title, description, and image) to reflect the state of the currently active page in this container.voidUpdates the window title to reflect the state of the current wizard.Methods inherited from class org.eclipse.jface.dialogs.TitleAreaDialog
getErrorMessage, getInitialSize, getMessage, getTitleArea, getTitleImageLabel, setErrorMessage, setMessage, setMessage, setTitle, setTitleAreaColor, setTitleImageMethods inherited from class org.eclipse.jface.dialogs.TrayDialog
closeTray, createButtonBar, createHelpControl, getLayout, getTray, handleShellCloseEvent, isDialogHelpAvailable, isHelpAvailable, openTray, setDialogHelpAvailable, setHelpAvailableMethods inherited from class org.eclipse.jface.dialogs.Dialog
applyDialogFont, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, dialogFontIsDefault, getBlockedHandler, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsStrategy, getImage, getInitialLocation, getOKButton, initializeBounds, initializeDialogUnits, isResizable, okPressed, setBlockedHandler, setButtonLayoutFormData, shortenTextMethods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getParentShell, getReturnCode, getShell, getShellListener, getWindowManager, handleFontChange, open, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setWindowManagerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.jface.wizard.IWizardContainer
getShell
-
Field Details
-
WIZ_IMG_ERROR
Image registry key for error message image (value"dialog_title_error_image").- See Also:
-
-
Constructor Details
-
WizardDialog
Creates a new wizard dialog for the given wizard.- Parameters:
parentShell- the parent shellnewWizard- the wizard this dialog is working on
-
-
Method Details
-
setShellStyle
public void setShellStyle(int newShellStyle) Sets the shell style of the wizard dialog.Examples:
To use the default style without the SWT.PRIMARY_MODAL bit:
setShellStyle(getShellStyle() & ~SWT.PRIMARY_MODAL)To use the default style without the SWT.RESIZE bit:
setShellStyle(getShellStyle() & ~SWT.RESIZE)Sets the shell style bits. This method has no effect after the shell is created.
The shell style bits are used by the framework method
createShellwhen creating this window's shell.- Overrides:
setShellStylein classWindow- Parameters:
newShellStyle- the new shell style bits- See Also:
-
getShellStyle
public int getShellStyle()Description copied from class:WindowReturns the shell style bits.The default value is
SWT.CLOSE|SWT.MIN|SWT.MAX|SWT.RESIZE. Subclasses should callsetShellStyleto change this value, rather than overriding this method.- Overrides:
getShellStylein classWindow- Returns:
- the shell style bits
-
setModal
Option to set the modality of the WizardDialog. This method must be called before the dialog's shell is created, e.g. before you callWindow.open()for the first time.- Parameters:
modal- true (default) if the WizardDialog should block the underlying window.- Returns:
- this WizardDialog
- Since:
- 3.16
-
isModal
public boolean isModal()- Returns:
falseif the user interface blocks the underlying window (modal) ortrueif the underlying window is not blocked.- Since:
- 3.16
- See Also:
-
backPressed
protected void backPressed()The Back button has been pressed. -
buttonPressed
protected void buttonPressed(int buttonId) Description copied from class:DialogNotifies that this dialog's button with the given id has been pressed.The
Dialogimplementation of this framework method callsokPressedif the ok button is the pressed, andcancelPressedif the cancel button is the pressed. All other button presses are ignored. Subclasses may override to handle other buttons, but should callsuper.buttonPressedif the default handling of the ok and cancel buttons is desired.- Overrides:
buttonPressedin classDialog- Parameters:
buttonId- the id of the button that was pressed (seeIDialogConstants.*_IDconstants)
-
cancelPressed
protected void cancelPressed()Description copied from class:DialogNotifies that the cancel button of this dialog has been pressed.The
Dialogimplementation of this framework method sets this dialog's return code toWindow.CANCELand closes the dialog. Subclasses may override if desired.- Overrides:
cancelPressedin classDialog
-
close
public boolean close()Description copied from class:WindowCloses this window, disposes its shell, and removes this window from its window manager (if it has one).This framework method may be extended (
super.closemust be called).Note that in order to prevent recursive calls to this method it does not call
Shell#close(). As a resultShellListeners will not receive ashellClosedevent. -
configureShell
Description copied from class:WindowConfigures the given shell in preparation for opening this window in it.The default implementation of this framework method sets the shell's image and gives it a grid layout. Subclasses may extend or reimplement.
- Overrides:
configureShellin classWindow- Parameters:
newShell- the shell
-
createButtonsForButtonBar
Creates the buttons for this dialog's button bar.The
WizardDialogimplementation of this framework method prevents the parent composite's columns from being made equal width in order to remove the margin between the Back and Next buttons.- Overrides:
createButtonsForButtonBarin classDialog- Parameters:
parent- the parent composite to contain the buttons
-
setButtonLayoutData
Description copied from class:DialogSet the layout data of the button to a GridData with appropriate heights and widths.- Overrides:
setButtonLayoutDatain classDialog- Parameters:
button- The button which layout data is to be set.
-
getButton
Return the cancel button if the id is a the cancel id. -
createContents
TheWizardDialogimplementation of thisWindowmethod calls callIWizard.addPagesto allow the current wizard to add extra pages, thensuper.createContentsto create the controls. It then callsIWizard.createPageControlsto allow the wizard to pre-create their page controls prior to opening, so that the wizard opens to the correct size. And finally it shows the first page.- Overrides:
createContentsin classTitleAreaDialog- Parameters:
parent- the parent composite for the controls in this window. The type of layout used is determined by getLayout()- Returns:
- the control that will be returned by subsequent calls to getContents()
-
createDialogArea
Description copied from class:TitleAreaDialogCreates and returns the contents of the upper part of this dialog (above the button bar).The
Dialogimplementation of this framework method creates and returns a newCompositewith no margins and spacing. Subclasses should override.- Overrides:
createDialogAreain classTitleAreaDialog- Parameters:
parent- The parent composite to contain the dialog area- Returns:
- the dialog area control
-
createProgressMonitorPart
Hook method for subclasses to create a custom progress monitor part.The default implementation creates a progress monitor with a stop button will be created.
- Parameters:
composite- the parent compositepmlayout- the layout- Returns:
- ProgressMonitorPart the progress monitor part
-
finishPressed
protected void finishPressed()The Finish button has been pressed. -
getCurrentPage
Description copied from interface:IWizardContainerReturns the current wizard page for this container.- Specified by:
getCurrentPagein interfaceIWizardContainer- Returns:
- the current wizard page, or
nullif the container is not yet showing the wizard - See Also:
-
getProgressMonitor
Returns the progress monitor for this wizard dialog (if it has one).- Returns:
- the progress monitor, or
nullif this wizard dialog does not have one
-
getWizard
Returns the wizard this dialog is currently displaying.- Returns:
- the current wizard
-
helpPressed
protected void helpPressed()The Help button has been pressed. -
nextPressed
protected void nextPressed()The Next button has been pressed. -
run
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException This implementation of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) blocks until the runnable has been run, regardless of the value offork. It is recommended thatforkis set to true in most cases. Ifforkis set tofalse, the runnable will run in the UI thread and it is the runnable's responsibility to callDisplay.readAndDispatch()to ensure UI responsiveness. UI state is saved prior to executing the long-running operation and is restored after the long-running operation completes executing. Any attempt to change the UI state of the wizard in the long-running operation will be nullified when original UI state is restored.- Specified by:
runin interfaceIRunnableContext- Parameters:
fork-trueif the runnable should be run in a separate thread, andfalseto run in the same threadcancelable-trueto enable the cancelation, andfalseto make the operation uncancellablerunnable- the runnable to run- Throws:
InvocationTargetException- wraps any exception or error which occurs while running the runnableInterruptedException- propagated by the context if the runnable acknowledges cancelation by throwing this exception. This should not be thrown if cancelable isfalse.
-
setMinimumPageSize
public void setMinimumPageSize(int minWidth, int minHeight) Sets the minimum page size used for the pages.- Parameters:
minWidth- the minimum page widthminHeight- the minimum page height- See Also:
-
setMinimumPageSize
Sets the minimum page size used for the pages.- Parameters:
size- the page size encoded asnew Point(width,height)- See Also:
-
setPageSize
public void setPageSize(int width, int height) Sets the size of all pages. The given size takes precedence over computed sizes.- Parameters:
width- the page widthheight- the page height- See Also:
-
setPageSize
Sets the size of all pages. The given size takes precedence over computed sizes.- Parameters:
size- the page size encoded asnew Point(width,height)- See Also:
-
setWizard
Sets the wizard this dialog is currently displaying.- Parameters:
newWizard- the wizard
-
showPage
Description copied from interface:IWizardContainerMakes the given page visible.This method should not be use for normal page sequencing (back, next) which is handled by the container itself. It may, however, be used to move to another page in response to some custom action such as double clicking in a list.
- Specified by:
showPagein interfaceIWizardContainer- Parameters:
page- the page to show- See Also:
-
update
protected void update()Updates this dialog's controls to reflect the current page. -
updateButtons
public void updateButtons()Description copied from interface:IWizardContainerAdjusts the enable state of the Back, Next, and Finish buttons to reflect the state of the currently active page in this container.This method is called by the container itself when its wizard page changes and may be called by the page at other times to force a button state update.
- Specified by:
updateButtonsin interfaceIWizardContainer
-
updateMessage
public void updateMessage()Description copied from interface:IWizardContainerUpdates the message (or error message) shown in the message line to reflect the state of the currently active page in this container.This method is called by the container itself when its wizard page changes and may be called by the page at other times to force a message update.
- Specified by:
updateMessagein interfaceIWizardContainer
-
updateSize
Computes the correct dialog size for the current page and resizes its shell if necessary. Also causes the container to refresh its layout.- Parameters:
page- the wizard page to use to resize the dialog- Since:
- 2.0
-
updateSize
public void updateSize()Description copied from interface:IWizardContainer2Updates the window size to reflect the state of the current wizard.This method is called by the container itself when its wizard changes and may be called by the wizard at other times to force a window size change.
- Specified by:
updateSizein interfaceIWizardContainer2
-
updateTitleBar
public void updateTitleBar()Description copied from interface:IWizardContainerUpdates the title bar (title, description, and image) to reflect the state of the currently active page in this container.This method is called by the container itself when its wizard page changes and may be called by the page at other times to force a title bar update.
- Specified by:
updateTitleBarin interfaceIWizardContainer
-
updateWindowTitle
public void updateWindowTitle()Description copied from interface:IWizardContainerUpdates the window title to reflect the state of the current wizard.This method is called by the container itself when its wizard changes and may be called by the wizard at other times to force a window title change.
- Specified by:
updateWindowTitlein interfaceIWizardContainer
-
getSelectedPage
Description copied from interface:IPageChangeProviderReturns the currently selected page in the dialog.- Specified by:
getSelectedPagein interfaceIPageChangeProvider- Returns:
- the selected page in the dialog or
nullif none is selected. The type may be domain specific. In the JFace provided dialogs this will be an instance ofIDialogPage.
-
addPageChangedListener
Description copied from interface:IPageChangeProviderAdds a listener for page changes in this page change provider. Has no effect if an identical listener is already registered.- Specified by:
addPageChangedListenerin interfaceIPageChangeProvider- Parameters:
listener- a page changed listener
-
removePageChangedListener
Description copied from interface:IPageChangeProviderRemoves the given page change listener from this page change provider. Has no effect if an identical listener is not registered.- Specified by:
removePageChangedListenerin interfaceIPageChangeProvider- Parameters:
listener- a page changed listener
-
firePageChanged
Notifies any selection changed listeners that the selected page has changed. Only listeners registered at the time this method is called are notified.- Parameters:
event- a selection changed event- Since:
- 3.1
- See Also:
-
addPageChangingListener
Adds a listener for page changes to the list of page changing listeners registered for this dialog. Has no effect if an identical listener is already registered.- Parameters:
listener- a page changing listener- Since:
- 3.3
-
removePageChangingListener
Removes the provided page changing listener from the list of page changing listeners registered for the dialog.- Parameters:
listener- a page changing listener- Since:
- 3.3
-
firePageChanging
Notifies any page changing listeners that the currently selected dialog page is changing. Only listeners registered at the time this method is called are notified.- Parameters:
event- a selection changing event- Since:
- 3.3
- See Also:
-
getDialogBoundsSettings
Description copied from class:DialogGets the dialog settings that should be used for remembering the bounds of of the dialog, according to the dialog bounds strategy.- Overrides:
getDialogBoundsSettingsin classDialog- Returns:
- settings the dialog settings used to store the dialog's location
and/or size, or
nullif the dialog's bounds should never be stored. - See Also:
-