Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui.progress
Interface IProgressService

All Superinterfaces:
  IRunnableContext

All Known Subinterfaces:
  IWorkbenchSiteProgressService

public interface IProgressService
extends IRunnableContext

The IProgressManager is an interface to the progress manager provided by the workbench. NOTE This interface is not intended to be implemented by other plug-ins.

Since:
  3.0
See Also:
  `IWorkbench.getProgressService()`

Method Summary
`void` | `busyCursorWhile(IRunnableWithProgress runnable)` Set the cursor to busy and run the runnable in a non-UI Thread.
`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.
`int` | `getLongOperationTime()` The time at which an operation becomes considered a long operation.
`void` | `registerIconForFamily(ImageDescriptor icon, Object family)` Register the ImageDescriptor to be the icon used for all jobs that belong to family within the workbench.
`void` | `runInUI(IRunnableContext context, IRunnableWithProgress runnable, ISchedulingRule rule)` Runs the given operation in the UI thread using the given runnable context.
`void` | `showInDialog(Shell shell, Job job)` Open a dialog on job when it starts to run and close it when the job is finished.

Methods inherited from interface org.eclipse.jface.operation.IRunnableContext
`run`

Method Detail

### getLongOperationTime

    public int getLongOperationTime()

  The time at which an operation becomes considered a long operation. Used to determine when the busy cursor will be replaced with a progress monitor.

  Returns:
    int
  See Also:
    `busyCursorWhile(IRunnableWithProgress)`

### registerIconForFamily

    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.

  Parameters:
    `icon` - ImageDescriptor that will be used when the job is being displayed
    `family` - The family to associate with
  See Also:
    `Job.belongsTo(Object)`

### runInUI

    public void runInUI(IRunnableContext context,
                        IRunnableWithProgress runnable,
                        ISchedulingRule rule)
                 throws InvocationTargetException,
                        InterruptedException

  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.

  Parameters:
    `context` - The runnable context to run the operation in
    `runnable` - The operation to run
    `rule` - A scheduling rule, or `null`
  Throws:
    `InvocationTargetException` - wraps any exception or error which occurs while running the runnable
    `InterruptedException` - propagated by the context if the runnable acknowledges cancelation by throwing this exception.

### getIconFor

    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.

  Parameters:
    `job` -
  Returns:
    Icon or `null` if there isn't one.
  See Also:
    `registerIconForFamily(ImageDescriptor,Object)`

### busyCursorWhile

    public void busyCursorWhile(IRunnableWithProgress runnable)
                         throws InvocationTargetException,
                                InterruptedException

  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.
  Throws:
    `InvocationTargetException`
    `InterruptedException`
  See Also:
    `getLongOperationTime()`

### showInDialog

    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. Wait for LONG_OPERATION_MILLISECONDS 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.
    `job` - The Job that will be reported in the dialog. job must not be `null`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.