Eclipse Platform
2.0

org.eclipse.core.runtime
Class SubProgressMonitor

java.lang.Object
  |
  +--org.eclipse.core.runtime.ProgressMonitorWrapper
        |
        +--org.eclipse.core.runtime.SubProgressMonitor
All Implemented Interfaces:
IProgressMonitor

public class SubProgressMonitor
extends ProgressMonitorWrapper

A progress monitor that uses the a given amount of work ticks form a parent monitor. It can be used as follows:

     try {
         pm.beginTask("Main Task", 100);
         doSomeWork(pm, 30);
         SubProgressMonitor subMonitor= new SubProgressMonitor(pm, 40);
         try {
             subMonitor.beginTask("", 300);
             doSomeWork(subMonitor, 300);
         } finally {
             subMonitor.done();
         }
         doSomeWork(pm, 30);
     } finally {
         pm.done();
     }
 

This class may be instantiated or subclassed by clients.


Field Summary
static int PREPEND_MAIN_LABEL_TO_SUBTASK
          Style constant indicating that the main task label should be prepended to the subtask label.
static int SUPPRESS_SUBTASK_LABEL
          Style constant indicating that calls to subTask should not have any effect.
 
Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
 
Constructor Summary
SubProgressMonitor(IProgressMonitor monitor, int ticks)
          Creates a new sub-progress monitor for the given monitor.
SubProgressMonitor(IProgressMonitor monitor, int ticks, int style)
          Creates a new sub-progress monitor for the given monitor.
 
Method Summary
 void beginTask(String name, int totalWork)
          This implementation of a IProgressMonitor method forwards to the wrapped progress monitor.
 void done()
          This implementation of a IProgressMonitor method forwards to the wrapped progress monitor.
 void internalWorked(double work)
          This implementation of a IProgressMonitor method forwards to the wrapped progress monitor.
 void subTask(String name)
          This implementation of a IProgressMonitor method forwards to the wrapped progress monitor.
 void worked(int work)
          This implementation of a IProgressMonitor method forwards to the wrapped progress monitor.
 
Methods inherited from class org.eclipse.core.runtime.ProgressMonitorWrapper
getWrappedProgressMonitor, isCanceled, setCanceled, setTaskName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SUPPRESS_SUBTASK_LABEL

public static final int SUPPRESS_SUBTASK_LABEL
Style constant indicating that calls to subTask should not have any effect.

See Also:
SubProgressMonitor(IProgressMonitor,int,int), Constant Field Values

PREPEND_MAIN_LABEL_TO_SUBTASK

public static final int PREPEND_MAIN_LABEL_TO_SUBTASK
Style constant indicating that the main task label should be prepended to the subtask label.

See Also:
SubProgressMonitor(IProgressMonitor,int,int), Constant Field Values
Constructor Detail

SubProgressMonitor

public SubProgressMonitor(IProgressMonitor monitor,
                          int ticks)
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)
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
See Also:
SUPPRESS_SUBTASK_LABEL, PREPEND_MAIN_LABEL_TO_SUBTASK
Method Detail

beginTask

public void beginTask(String name,
                      int totalWork)
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:
beginTask in interface IProgressMonitor
Overrides:
beginTask in class ProgressMonitorWrapper
See Also:
IProgressMonitor.beginTask(java.lang.String, int)

done

public void done()
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:
IProgressMonitor.done()

internalWorked

public void internalWorked(double work)
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
See Also:
IProgressMonitor.internalWorked(double)

subTask

public void subTask(String name)
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
See Also:
IProgressMonitor.subTask(java.lang.String)

worked

public void worked(int work)
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
See Also:
IProgressMonitor.worked(int)

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.