This document lists changes made to the Progress API/SPI.
Fuller descriptions of all changes can be found below (follow links).
Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.
ProgressUtils
class with runOffEventThreadWithCustomDialogContent
and runOffEventThreadWithProgressDialog
methods were added.
ProgressUtils
class with runOffEventDispatchThread
methods was added.
ProgressHandle.suspend(String)
method for visual suspend of a running task.
createProgressComponent(AggregateProgressHandle)
method to AggregateProgressFactory
setInitialDelay(int)
method to ProgressHandle
and AggregateProgressHandle
These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:
OpenIDE-Module-Module-Dependencies: org.netbeans.api.progress > 1.20
ProgressUtils
class with runOffEventThreadWithCustomDialogContent
and runOffEventThreadWithProgressDialog
methods were added.
ProgressUtils
class with runOffEventDispatchThread
methods was added.
ProgressHandle.suspend(String)
method for visual suspend of a running task.
createProgressComponent(AggregateProgressHandle)
method to AggregateProgressFactory
setInitialDelay(int)
method to ProgressHandle
and AggregateProgressHandle
org.netbeans.api.progress.aggregate.AggregateProgressFactory
createProgressComponent(AggregateProgressHandle)
method to AggregateProgressFactory
org.netbeans.api.progress.aggregate.AggregateProgressHandle
createProgressComponent(AggregateProgressHandle)
method to AggregateProgressFactory
setInitialDelay(int)
method to ProgressHandle
and AggregateProgressHandle
org.netbeans.modules.progress.spi.Controller
org.netbeans.modules.progress.spi.ExtractedProgressUIWorker
org.netbeans.modules.progress.spi.InternalHandle
org.netbeans.api.progress.ProgressHandle
ProgressHandle.suspend(String)
method for visual suspend of a running task.
setInitialDelay(int)
method to ProgressHandle
and AggregateProgressHandle
org.netbeans.api.progress.ProgressHandleFactory
org.netbeans.modules.progress.spi.ProgressUIWorkerProvider
org.netbeans.api.progress.ProgressUtils
ProgressUtils
class with runOffEventThreadWithCustomDialogContent
and runOffEventThreadWithProgressDialog
methods were added.
ProgressUtils
class with runOffEventDispatchThread
methods was added.
org.netbeans.modules.progress.spi.TaskModel
InternalHandle
; made by: sdedic
Controller
TaskModel
; made by: sdedic
org.netbeans.api.progress.ProgressHandleFactory
org.netbeans.api.progress.ProgressUtils
org.netbeans.api.progress.aggregate.AggregateProgressFactory
org.netbeans.modules.progress.spi.ExtractedProgressUIWorker
org.netbeans.modules.progress.spi.ProgressUIWorkerProvider
Controller
InternalHandle
; made by: sdedic; issues:
#247111
Progress API was split so that parts that are directly connected to Swing types were migrated to a separate module. Please see it's API changes document for additional info. Affected classes:
ProgressUtils
class with runOffEventThreadWithCustomDialogContent
and runOffEventThreadWithProgressDialog
methods were added.
org.netbeans.api.progress.ProgressUtils
; made by: pflaska ; issues:
#204553
ProgressUtils
class with runOffEventThreadWithCustomDialogContent
and runOffEventThreadWithProgressDialog
methods were added. These methods allow movement of operations out of AWT thread, showing the waint cursor after one second and a dialog when task is not finished in a three seconds.
Added methods to ProgressUtils for invoking a runnable or similar with a modal dialog blocking the UI and showing progress:
public static void showProgressDialogAndRun(Runnable operation, String displayName)
public static <T> T showProgressDialogAndRun(final ProgressRunnable<T> operation, final String displayName, boolean includeDetailLabel)
public static void showProgressDialogAndRun(Runnable operation, ProgressHandle progress, boolean includeDetailLabel)
public static RequestProcessor.Task showProgressDialogAndRunLater(Runnable operation, ProgressHandle progress, boolean includeDetailLabel)
Added interface ProgressRunnable for performing background work, and an SPI class ProgressRunOffEdtProvider which is implemented by the Progress UI module.
An internal SPI package was exposed. Normal modules should not need to access this package.
ProgressUtils
class with runOffEventDispatchThread
methods was added.
org.netbeans.api.progress.ProgressUtils
; made by: t_h; issues:
#170882
ProgressUtils
class with runOffEventDispatchThread
methods
was added. These methods allow movement of operations out of AWT thread while blocking UI.
ProgressHandle.suspend(String)
method for visual suspend of a running task.
ProgressHandle
; made by: mkleint; issues:
#63586
Adding suspend(String)
to ProgressHandle
class.
Any progress event coming after this call wakes up the progress bar to previous state.
Currently running task can switch to silent suspend mode where the progress bar stops moving, hides completely or partially. The exact UI behaviour is undefined.
Useful to make progress in status bar less intrusive for very long running tasks, eg. running an ant script that executes user application, debugs user application etc.
org.netbeans.api.progress.ProgressHandleFactory
org.netbeans.api.progress.aggregate.AggregateProgressFactory
; made by: mkleint; issues:
#58889
Adding createMainLabelComponent(ProgressHandle)
and
createDetailLabelComponent(ProgressHandle)
to ProgressHandleFactory
and AggregateProgressFactory
classes.
These are complementary to the createProgressComponent(ProgressHandle)
method and allow to
externalize the display of task's display name and detail messages when embedded in custom UI components.
Split the implementation and APIs of progress component.
ProgressHandle
AggregateProgressHandle
; made by: mkleint; issues:
#68923
Added new method setDisplayName(String)
to ProgressHandle
and AggregateProgressHandle
,
allows to change the main identifying name of the progress task.
createProgressComponent(AggregateProgressHandle)
method to AggregateProgressFactory
org.netbeans.api.progress.aggregate.AggregateProgressFactory
AggregateProgressHandle
; made by: mkleint; issues:
#66554
For aggregated progress handles the equivalent of ProgressHandleFactory.createProgressComponent() was missing. Added in this version.
setInitialDelay(int)
method to ProgressHandle
and AggregateProgressHandle
ProgressHandle
AggregateProgressHandle
; made by: mkleint; issues:
#60966
The newly added methods allow to customize the amount of time that shall pass between the start of handle's progress and it's appearance in the status bar. If the progress task finishes fast enough it won't appear in the UI at all. The default value is around 0.5s.
For handles that are used in dialogs and elsewhere, this property has no effect and the handle's component is shown immediately.