Eclipse JDT
Release 3.0

org.eclipse.ltk.ui.refactoring
Class RefactoringWizard

java.lang.Object
  extended byorg.eclipse.jface.wizard.Wizard
      extended byorg.eclipse.ltk.ui.refactoring.RefactoringWizard
All Implemented Interfaces:
IWizard

public abstract class RefactoringWizard
extends Wizard

An abstract base implementation of a refactoring wizard. A refactoring wizard differs from a normal wizard in the following characteristics:

A refactoring wizard is best opened using the RefactoringWizardOpenOperation.

Clients may extend this class.

Since:
3.0
See Also:
Refactoring

Field Summary
static int CHECK_INITIAL_CONDITIONS_ON_OPEN
          Flag (value 1) indicating that the initial condition checking of the refactoring is done when the wizard opens.
static int DIALOG_BASED_UESR_INTERFACE
          Flag (value 4) indicating that a lightweight dialog based user interface should be used to present this refactoring wizard.
static int NO_BACK_BUTTON_ON_STATUS_DIALOG
          Flag (value 64) indicating that the dialog representing the refactoring status to the user will not contain a back button.
static int NO_PREVIEW_PAGE
          Flag (value 16) indicating that the wizard should not show a preview page.
static int NONE
          Flag (value 0) indicating that no special flags are provided.
static int PREVIEW_EXPAND_FIRST_NODE
          Flag (value 32) indicating that the first change node presented in the preview page should be fully expanded.
static int WIZARD_BASED_USER_INTERFACE
          Flag (value 2) indicating that a normal wizard based user interface consisting of a back, next, finish and cancel button should be used to present this refactoring wizard.
static int YES_NO_BUTTON_STYLE
          Flag (value 8) indicating that the finish and cancel button should be named yes and no.
 
Fields inherited from class org.eclipse.jface.wizard.Wizard
DEFAULT_IMAGE
 
Constructor Summary
RefactoringWizard(Refactoring refactoring, int flags)
          Creates a new refactoring wizard for the given refactoring.
 
Method Summary
 void addPage(IWizardPage page)
           This method asserts that the pages added to the refactoring wizard are instances of type RefactoringWizardPage.
 void addPages()
           This method calls the hook method addUserInputPages() to allow subclasses to add specific user input pages.
protected abstract  void addUserInputPages()
          Hook method to add user input pages to this refactoring wizard.
 boolean canFinish()
          
 Change getChange()
          Returns the refactoring's change object or null if no change object has been created yet.
 String getDefaultPageTitle()
          Returns the default page title used for pages that don't provide their own page title.
 int getMessageLineWidthInChars()
          Returns the width in characters to be used for the message line embedded into the refactoring wizard dialog.
 IWizardPage getPreviousPage(IWizardPage page)
          
 Refactoring getRefactoring()
          Returns the refactoring this wizard is associated with.
 IWizardPage getStartingPage()
          
 Change internalCreateChange(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api, CreateChangeOperation operation, boolean updateStatus)
          Note: This method is for internal use only.
 boolean internalGetExpandFirstNode(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
          Note: This method is for internal use only.
 boolean internalHasPreviewPage(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
          Note: This method is for internal use only.
 boolean internalIsYesNoStyle(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
          Note: This method is for internal use only.
 org.eclipse.ltk.internal.ui.refactoring.FinishResult internalPerformFinish(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api, PerformChangeOperation op)
          Note: This method is for internal use only.
 void internalSetChange(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api, Change change)
          Note: This method is for internal use only.
 void internalSetPreviewShown(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api, boolean shown)
          Note: This method is for internal use only.
 boolean internalShowBackButtonOnStatusDialog(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
          Note: This method is for internal use only.
 boolean performCancel()
           
 boolean performFinish()
           
 void setChangeCreationCancelable(boolean isChangeCreationCancelable)
          If set to true the change creation is cancelable by the user.
 void setDefaultPageTitle(String defaultPageTitle)
          Sets the default page title to the given value.
 void setForcePreviewReview(boolean forcePreviewReview)
          If set to true the Finish or OK button, respectively will be disabled until the user has visited the preview page.
 void setInitialConditionCheckingStatus(RefactoringStatus status)
          Sets the initial condition checking status computed by the refactoring.
 
Methods inherited from class org.eclipse.jface.wizard.Wizard
createPageControls, dispose, getContainer, getDefaultPageImage, getDialogSettings, getNextPage, getPage, getPageCount, getPages, getShell, getTitleBarColor, getWindowTitle, isHelpAvailable, needsPreviousAndNextButtons, needsProgressMonitor, setContainer, setDefaultPageImageDescriptor, setDialogSettings, setForcePreviousAndNextButtons, setHelpAvailable, setNeedsProgressMonitor, setTitleBarColor, setWindowTitle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NONE

public static final int NONE
Flag (value 0) indicating that no special flags are provided.

See Also:
Constant Field Values

CHECK_INITIAL_CONDITIONS_ON_OPEN

public static final int CHECK_INITIAL_CONDITIONS_ON_OPEN
Flag (value 1) indicating that the initial condition checking of the refactoring is done when the wizard opens. If not specified it is assumed that the initial condition checking has been done by the client before opening the wizard dialog.

See Also:
Constant Field Values

WIZARD_BASED_USER_INTERFACE

public static final int WIZARD_BASED_USER_INTERFACE
Flag (value 2) indicating that a normal wizard based user interface consisting of a back, next, finish and cancel button should be used to present this refactoring wizard. This flag can't be specified together with the flag DIALOG_BASED_UESR_INTERFACE.

See Also:
Constant Field Values

DIALOG_BASED_UESR_INTERFACE

public static final int DIALOG_BASED_UESR_INTERFACE
Flag (value 4) indicating that a lightweight dialog based user interface should be used to present this refactoring wizard. This user interface consists of a preview, finish and cancel button and the initial size of dialog is based on the first user input page. This flag is only valid if only one user input page is present. Specifying this flag together with more than one input page will result in an exception when adding the user input pages. This flag can't be specified together with the flag WIZARD_BASED_USER_INTERFACE.

See Also:
Constant Field Values

YES_NO_BUTTON_STYLE

public static final int YES_NO_BUTTON_STYLE
Flag (value 8) indicating that the finish and cancel button should be named yes and no. The flag is ignored if the flag WIZARD_BASED_USER_INTERFACE is specified.

See Also:
Constant Field Values

NO_PREVIEW_PAGE

public static final int NO_PREVIEW_PAGE
Flag (value 16) indicating that the wizard should not show a preview page. The flag is ignored if the flag WIZARD_BASED_USER_INTERFACE is specified.

See Also:
Constant Field Values

PREVIEW_EXPAND_FIRST_NODE

public static final int PREVIEW_EXPAND_FIRST_NODE
Flag (value 32) indicating that the first change node presented in the preview page should be fully expanded.

See Also:
Constant Field Values

NO_BACK_BUTTON_ON_STATUS_DIALOG

public static final int NO_BACK_BUTTON_ON_STATUS_DIALOG
Flag (value 64) indicating that the dialog representing the refactoring status to the user will not contain a back button. The flag is ignored if the flag (@link #WIZARD_BASED_USER_INTERFACE} is specified.

See Also:
Constant Field Values
Constructor Detail

RefactoringWizard

public RefactoringWizard(Refactoring refactoring,
                         int flags)
Creates a new refactoring wizard for the given refactoring.

Parameters:
refactoring - the refactoring the wizard is presenting
flags - flags specifying the behaviour of the wizard. If neither WIZARD_BASED_USER_INTERFACE nor DIALOG_BASED_UESR_INTERFACE is specified then WIZARD_BASED_USER_INTERFACE will be taken as a default.
Method Detail

getRefactoring

public final Refactoring getRefactoring()
Returns the refactoring this wizard is associated with.

Returns:
the wizard's refactoring

setDefaultPageTitle

public final void setDefaultPageTitle(String defaultPageTitle)
Sets the default page title to the given value. This value is used as a page title for wizard pages which don't provide their own page title. Setting this value has only an effect as long as the user interface hasn't been created yet.

Parameters:
defaultPageTitle - the default page title.
See Also:
Wizard.setDefaultPageImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)

getDefaultPageTitle

public final String getDefaultPageTitle()
Returns the default page title used for pages that don't provide their own page title.

Returns:
the default page title or null if non has been set
See Also:
setDefaultPageTitle(String)

setForcePreviewReview

public final void setForcePreviewReview(boolean forcePreviewReview)
If set to true the Finish or OK button, respectively will be disabled until the user has visited the preview page. If set to false the refactoring can be performed before the preview page has been visited.

Parameters:
forcePreviewReview - if true to user must confirm the preview

getMessageLineWidthInChars

public int getMessageLineWidthInChars()
Returns the width in characters to be used for the message line embedded into the refactoring wizard dialog.

Subclasses may override this method and return a different value.

Returns:
the message lines width in characters

setChangeCreationCancelable

public final void setChangeCreationCancelable(boolean isChangeCreationCancelable)
If set to true the change creation is cancelable by the user.

By default, change creation is cancelable.

Parameters:
isChangeCreationCancelable - determines whether the change creation is cancelable by the user or not.
See Also:
Refactoring.createChange(IProgressMonitor)

setInitialConditionCheckingStatus

public final void setInitialConditionCheckingStatus(RefactoringStatus status)
Sets the initial condition checking status computed by the refactoring. Clients should uses this method if the initial condition checking status has been computed outside of this refactoring wizard.

Parameters:
status - the initial condition checking status.
See Also:
Refactoring.checkInitialConditions(IProgressMonitor), CHECK_INITIAL_CONDITIONS_ON_OPEN

getChange

public final Change getChange()
Returns the refactoring's change object or null if no change object has been created yet.

Returns:
the refactoring's change object or null
See Also:
Refactoring.createChange(IProgressMonitor)

addPages

public final void addPages()
This method calls the hook method addUserInputPages() to allow subclasses to add specific user input pages.


addPage

public final void addPage(IWizardPage page)
This method asserts that the pages added to the refactoring wizard are instances of type RefactoringWizardPage.


addUserInputPages

protected abstract void addUserInputPages()
Hook method to add user input pages to this refactoring wizard. Pages added via this call have to be instances of the type UserInputWizardPage. Adding pages of a different kind is not permitted and will result in unexpected behaviour.


getStartingPage

public IWizardPage getStartingPage()


getPreviousPage

public IWizardPage getPreviousPage(IWizardPage page)


canFinish

public boolean canFinish()


internalCreateChange

public final Change internalCreateChange(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api,
                                         CreateChangeOperation operation,
                                         boolean updateStatus)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
operation - the create change operation
updateStatus - flag indicating if status updating is requested
Returns:
the created change

internalPerformFinish

public final org.eclipse.ltk.internal.ui.refactoring.FinishResult internalPerformFinish(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api,
                                                                                        PerformChangeOperation op)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
op - the perform change operation
Returns:
whether the finish ended OK or not

performFinish

public boolean performFinish()

performCancel

public boolean performCancel()

internalHasPreviewPage

public final boolean internalHasPreviewPage(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
Returns:
whether the wizard has a preview page or not.

internalIsYesNoStyle

public final boolean internalIsYesNoStyle(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
Returns:
whether yes no button style is requested

internalGetExpandFirstNode

public final boolean internalGetExpandFirstNode(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
Returns:
whether the first node of the preview is supposed to be expanded

internalSetChange

public final void internalSetChange(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api,
                                    Change change)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
change - the change to set

internalSetPreviewShown

public final void internalSetPreviewShown(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api,
                                          boolean shown)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
shown - a boolean indicating if the preview page has been shown or not

internalShowBackButtonOnStatusDialog

public final boolean internalShowBackButtonOnStatusDialog(org.eclipse.ltk.internal.ui.refactoring.InternalAPI api)
Note: This method is for internal use only. Clients are not allowed to call this method.

Parameters:
api - internal instance to avoid access from external clients
Returns:
whether to show a back button or not

Eclipse JDT
Release 3.0

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.