org.netbeans.spi.wizard
Interface ResultProgressHandle


public interface ResultProgressHandle

A controller for the progress bar shown in the user interface. Used in conjunction with DeferredWizardResult for cases where at the conclusion of the wizard, the work to create the final wizard result will take a while and needs to happen on a background thread.

Author:
Tim Boudreau

Method Summary
Modifier and Type Method and Description
 void addProgressComponents(java.awt.Container panel)
          Add the component to show for the progress display to the instructions panel.
 void failed(java.lang.String message, boolean canNavigateBack)
          Call this method if computation fails.
 void finished(java.lang.Object result)
          Call this method when the computation is complete, and pass in the final result of the computation.
 boolean isRunning()
          Returns true if the computation is still running, i.e., if neither finished or failed have been called.
 void setBusy(java.lang.String description)
          Set the status as "busy" - a rotating icon will be displayed instead of a percent complete progress bar.
 void setProgress(int currentStep, int totalSteps)
          Set the current position and total number of steps.
 void setProgress(java.lang.String description, int currentStep, int totalSteps)
          Set the current position and total number of steps, and description of what the computation is doing.
 

Method Detail

setProgress

void setProgress(int currentStep,
                 int totalSteps)
Set the current position and total number of steps. Note it is inadvisable to be holding any locks when calling this method, as it may immediately update the GUI using EventQueue.invokeAndWait().

Parameters:
currentStep - the current step in the progress of computing the result.
totalSteps - the total number of steps. Must be greater than or equal to currentStep.

setProgress

void setProgress(java.lang.String description,
                 int currentStep,
                 int totalSteps)
Set the current position and total number of steps, and description of what the computation is doing. Note it is inadvisable to be holding any locks when calling this method, as it may immediately update the GUI using EventQueue.invokeAndWait().

Parameters:
description - Text to describe what is being done, which can be displayed in the UI.
currentStep - the current step in the progress of computing the result.
totalSteps - the total number of steps. Must be greater than or equal to currentStep.

setBusy

void setBusy(java.lang.String description)
Set the status as "busy" - a rotating icon will be displayed instead of a percent complete progress bar. Note it is inadvisable to be holding any locks when calling this method, as it may immediately update the GUI using EventQueue.invokeAndWait().

Parameters:
description - Text to describe what is being done, which can be displayed in the UI.

finished

void finished(java.lang.Object result)
Call this method when the computation is complete, and pass in the final result of the computation. The method doing the computation (DeferredWizardResult.start() or something it called) should exit immediately after calling this method. If the failed() method is called after this method has been called, a runtime exception may be thrown.

Parameters:
result - the Object which was computed, if any.

failed

void failed(java.lang.String message,
            boolean canNavigateBack)
Call this method if computation fails. The message may be some text describing what went wrong, or null if no description.

Parameters:
message - The text to display to the user. The method doing the computation (DeferredWizardResult.start() or something it called). If the finished() method is called after this method has been called, a runtime exception may be thrown. should exit immediately after calling this method. It is A description of what went wrong, or null.
canNavigateBack - whether or not the Prev button should be enabled.

addProgressComponents

void addProgressComponents(java.awt.Container panel)
Add the component to show for the progress display to the instructions panel.


isRunning

boolean isRunning()
Returns true if the computation is still running, i.e., if neither finished or failed have been called.

Returns:
true if there is no result yet.