Class SubProgressMonitor

java.lang.Object
org.eclipse.core.runtime.ProgressMonitorWrapper
org.eclipse.core.runtime.SubProgressMonitor
All Implemented Interfaces:
IProgressMonitor, IProgressMonitorWithBlocking

@Deprecated public class SubProgressMonitor extends ProgressMonitorWrapper
Deprecated.
use SubMonitor instead
A progress monitor that uses a given amount of work ticks from a parent monitor. Code that currently uses this utility should be rewritten to use SubMonitor instead. Consider the following example:
 void someMethod(IProgressMonitor pm) {
        pm.beginTask("Main Task", 100);
        SubProgressMonitor subMonitor1 = new SubProgressMonitor(pm, 60);
        try {
                doSomeWork(subMonitor1);
        } finally {
                subMonitor1.done();
        }
        SubProgressMonitor subMonitor2 = new SubProgressMonitor(pm, 40);
        try {
                doSomeMoreWork(subMonitor2);
        } finally {
                subMonitor2.done();
        }
 }
 

The above code should be refactored to this:

 void someMethod(IProgressMonitor pm) {
        SubMonitor subMonitor = SubMonitor.convert(pm, "Main Task", 100);
        doSomeWork(subMonitor.split(60));
        doSomeMoreWork(subMonitor.split(40));
 }
 

The process for converting code which used SubProgressMonitor into SubMonitor is:

Please see the SubMonitor documentation for further examples.

This class can be used without OSGi running.

This class may be instantiated or subclassed by clients.

  • Field Details

  • Constructor Details

    • SubProgressMonitor

      public SubProgressMonitor(IProgressMonitor monitor, int ticks)
      Deprecated.
      Creates a new sub-progress monitor for the given monitor. The sub progress monitor uses the given number of work ticks from its parent monitor.
      Parameters:
      monitor - the parent progress monitor
      ticks - the number of work ticks allocated from the parent monitor
    • SubProgressMonitor

      public SubProgressMonitor(IProgressMonitor monitor, int ticks, int style)
      Deprecated.
      Creates a new sub-progress monitor for the given monitor. The sub progress monitor uses the given number of work ticks from its parent monitor.
      Parameters:
      monitor - the parent progress monitor
      ticks - the number of work ticks allocated from the parent monitor
      style - one of
      • SUPPRESS_SUBTASK_LABEL
      • PREPEND_MAIN_LABEL_TO_SUBTASK
      See Also:
  • Method Details

    • beginTask

      public void beginTask(String name, int totalWork)
      Deprecated.
      Starts a new main task. Since this progress monitor is a sub progress monitor, the given name will NOT be used to update the progress bar's main task label. That means the given string will be ignored. If style PREPEND_MAIN_LABEL_TO_SUBTASK is specified, then the given string will be prepended to every string passed to subTask(String).
      Specified by:
      beginTask in interface IProgressMonitor
      Overrides:
      beginTask in class ProgressMonitorWrapper
      Parameters:
      name - the name (or description) of the main task
      totalWork - the total number of work units into which the main task is been subdivided. If the value is UNKNOWN the implementation is free to indicate progress in a way which doesn't require the total number of work units in advance.
      See Also:
    • done

      public void done()
      Deprecated.
      Description copied from class: ProgressMonitorWrapper
      This implementation of a IProgressMonitor method forwards to the wrapped progress monitor. Clients may override this method to do additional processing.
      Specified by:
      done in interface IProgressMonitor
      Overrides:
      done in class ProgressMonitorWrapper
      See Also:
    • internalWorked

      public void internalWorked(double work)
      Deprecated.
      Description copied from class: ProgressMonitorWrapper
      This implementation of a IProgressMonitor method forwards to the wrapped progress monitor. Clients may override this method to do additional processing.
      Specified by:
      internalWorked in interface IProgressMonitor
      Overrides:
      internalWorked in class ProgressMonitorWrapper
      Parameters:
      work - the amount of work done
      See Also:
    • subTask

      public void subTask(String name)
      Deprecated.
      Description copied from class: ProgressMonitorWrapper
      This implementation of a IProgressMonitor method forwards to the wrapped progress monitor. Clients may override this method to do additional processing.
      Specified by:
      subTask in interface IProgressMonitor
      Overrides:
      subTask in class ProgressMonitorWrapper
      Parameters:
      name - the name (or description) of the subtask
      See Also:
    • worked

      public void worked(int work)
      Deprecated.
      Description copied from class: ProgressMonitorWrapper
      This implementation of a IProgressMonitor method forwards to the wrapped progress monitor. Clients may override this method to do additional processing.
      Specified by:
      worked in interface IProgressMonitor
      Overrides:
      worked in class ProgressMonitorWrapper
      Parameters:
      work - a non-negative number of work units just completed
      See Also: