| org.eclipse.ui.progress.IProgressService
All known Subclasses: org.eclipse.ui.internal.progress.ProgressManager,
IProgressService | public interface IProgressService extends IRunnableContext(Code) | | The progress service is the primary interface to the workbench progress
support. It can be obtained from the workbench and then used to show
progress for both background operations and operations that run in the UI thread.
All methods on the progress service must be called from the UI thread.
This interface is not intended to be implemented by clients.
See Also: org.eclipse.ui.IWorkbench.getProgressService See Also: since: 3.0 |
Method Summary | |
public void | busyCursorWhile(IRunnableWithProgress runnable) Set the cursor to busy and run the runnable in a non-UI Thread. | public Image | getIconFor(Job job) Get the icon that has been registered for a Job by
checking if the job belongs to any of the registered
families. | public int | getLongOperationTime() The time at which an operation becomes considered a long
operation. | public void | registerIconForFamily(ImageDescriptor icon, Object family) Register the ImageDescriptor to be the icon used for
all jobs that belong to family within the workbench. | public void | run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) This specialization of IRunnableContext#run(boolean, boolean,
IRunnableWithProgress) might run the runnable asynchronously
if fork is true . | public void | runInUI(IRunnableContext context, IRunnableWithProgress runnable, ISchedulingRule rule) Runs the given operation in the UI thread using the given runnable context. | public void | showInDialog(Shell shell, Job job) Open a dialog on job when it starts to run and close it
when the job is finished. |
busyCursorWhile | public void busyCursorWhile(IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException(Code) | | Set the cursor to busy and run the runnable in a non-UI Thread.
The calling thread will be blocked for the duration of the execution
of the supplied runnable.
After the cursor has been running for
getLongOperationTime() replace it with
a ProgressMonitorDialog so that the user may cancel.
Do not open the ProgressMonitorDialog if there is already a modal
dialog open.
Parameters: runnable - The runnable to execute and show the progress for. See Also: IProgressService.getLongOperationTime throws: InvocationTargetException - throws: InterruptedException - |
registerIconForFamily | public void registerIconForFamily(ImageDescriptor icon, Object family)(Code) | | Register the ImageDescriptor to be the icon used for
all jobs that belong to family within the workbench.
Parameters: icon - ImageDescriptor that will be used when the job is being displayed Parameters: family - The family to associate with See Also: Job.belongsTo(Object) |
run | public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException(Code) | | This specialization of IRunnableContext#run(boolean, boolean,
IRunnableWithProgress) might run the runnable asynchronously
if fork is true .
since: 3.2 |
runInUI | public void runInUI(IRunnableContext context, IRunnableWithProgress runnable, ISchedulingRule rule) throws InvocationTargetException, InterruptedException(Code) | | Runs the given operation in the UI thread using the given runnable context.
The given scheduling rule, if any, will be acquired for the duration of the operation.
If the rule is not available when this method is called, a progress dialog will be
displayed that gives users control over the background processes that may
be blocking the runnable from proceeding.
This method can act as a wrapper for uses of IRunnableContext
where the fork parameter was false.
Note: Running long operations in the UI thread is generally not
recommended. This can result in the UI becoming unresponsive for
the duration of the operation. Where possible, busyCursorWhile
should be used instead.
Modal dialogs should also be avoided in the runnable as there will already
be a modal progress dialog open when this operation runs.
See Also: org.eclipse.jface.dialogs.Dialog See Also: org.eclipse.swt.SWT.APPLICATION_MODAL Parameters: context - The runnable context to run the operation in Parameters: runnable - The operation to run Parameters: rule - A scheduling rule, or null throws: InvocationTargetException - wraps any exception or error which occurs while running the runnable throws: InterruptedException - propagated by the context if the runnable acknowledges cancelation by throwing this exception. |
showInDialog | public void showInDialog(Shell shell, Job job)(Code) | | Open a dialog on job when it starts to run and close it
when the job is finished. Wait for ProgressManagerUtil#SHORT_OPERATION_TIME
before opening the dialog. Do not open if it is already done or
if the user has set a preference to always run in the background.
Parent the dialog from the shell.
Parameters: shell - The Shell to parent the dialog from or null if the active shell is to be used. Parameters: job - The Job that will be reported in the dialog. jobmust not be null . |
|
|