Eclipse Platform
Release 3.0

org.eclipse.jface.wizard
Class ProgressMonitorPart

java.lang.Object
  extended byorg.eclipse.swt.widgets.Widget
      extended byorg.eclipse.swt.widgets.Control
          extended byorg.eclipse.swt.widgets.Scrollable
              extended byorg.eclipse.swt.widgets.Composite
                  extended byorg.eclipse.jface.wizard.ProgressMonitorPart
All Implemented Interfaces:
Drawable, IProgressMonitor, IProgressMonitorWithBlocking

public class ProgressMonitorPart
extends Composite
implements IProgressMonitorWithBlocking

A standard implementation of an IProgressMonitor. It consists of a label displaying the task and subtask name, and a progress indicator to show progress. In contrast to ProgressMonitorDialog this class only implements IProgressMonitor.


Field Summary
protected  IStatus blockedStatus
           
protected  Control fCancelComponent
           
protected  Listener fCancelListener
           
protected  boolean fIsCanceled
           
protected  Label fLabel
           
protected  ProgressIndicator fProgressIndicator
           
protected  String fSubTaskName
           
protected  String fTaskName
           
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
 
Constructor Summary
ProgressMonitorPart(Composite parent, Layout layout)
          Creates a ProgressMonitorPart.
ProgressMonitorPart(Composite parent, Layout layout, int progressIndicatorHeight)
          Creates a ProgressMonitorPart.
 
Method Summary
 void attachToCancelComponent(Control cancelComponent)
          Attaches the progress monitor part to the given cancel component.
 void beginTask(String name, int totalWork)
          Implements IProgressMonitor.beginTask.
 void clearBlocked()
          Clears the blocked state of the running operation.
 void done()
          Implements IProgressMonitor.done.
protected static String escapeMetaCharacters(String in)
          Escapes any occurrence of '&' in the given String so that it is not considered as a mnemonic character in SWT ToolItems, MenuItems, Button and Labels.
protected  void initialize(Layout layout, int progressIndicatorHeight)
          Creates the progress monitor's UI parts and layouts them according to the given layout.
 void internalWorked(double work)
          Implements IProgressMonitor.internalWorked.
 boolean isCanceled()
          Implements IProgressMonitor.isCanceled.
 void removeFromCancelComponent(Control cc)
          Detach the progress monitor part from the given cancel component
 void setBlocked(IStatus reason)
          Indicates that this operation is blocked by some background activity.
 void setCanceled(boolean b)
          Implements IProgressMonitor.setCanceled.
 void setFont(Font font)
          Sets the progress monitor part's font.
 void setTaskName(String name)
          Sets the task name to the given value.
 void subTask(String name)
          Notifies that a subtask of the main task is beginning.
protected  void updateLabel()
          Updates the label with the current task and subtask names.
 void worked(int work)
          Implements IProgressMonitor.worked.
 
Methods inherited from class org.eclipse.swt.widgets.Composite
checkSubclass, computeSize, getChildren, getLayout, getTabList, layout, layout, setFocus, setLayout, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fLabel

protected Label fLabel

fTaskName

protected String fTaskName

fSubTaskName

protected String fSubTaskName

fProgressIndicator

protected ProgressIndicator fProgressIndicator

fCancelComponent

protected Control fCancelComponent

fIsCanceled

protected boolean fIsCanceled

blockedStatus

protected IStatus blockedStatus

fCancelListener

protected Listener fCancelListener
Constructor Detail

ProgressMonitorPart

public ProgressMonitorPart(Composite parent,
                           Layout layout)
Creates a ProgressMonitorPart.

Parameters:
parent - The SWT parent of the part.
layout - The SWT grid bag layout used by the part. A client can supply the layout to control how the progress monitor part is layed out. If null is passed the part uses its default layout.

ProgressMonitorPart

public ProgressMonitorPart(Composite parent,
                           Layout layout,
                           int progressIndicatorHeight)
Creates a ProgressMonitorPart.

Parameters:
parent - The SWT parent of the part.
layout - The SWT grid bag layout used by the part. A client can supply the layout to control how the progress monitor part is layed out. If null is passed the part uses its default layout.
progressIndicatorHeight - The height of the progress indicator in pixel.
Method Detail

attachToCancelComponent

public void attachToCancelComponent(Control cancelComponent)
Attaches the progress monitor part to the given cancel component.

Parameters:
cancelComponent - the control whose selection will trigger a cancel

beginTask

public void beginTask(String name,
                      int totalWork)
Implements IProgressMonitor.beginTask.

Specified by:
beginTask in interface IProgressMonitor
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 implemenation is free to indicate progress in a way which doesn't require the total number of work units in advance.
See Also:
IProgressMonitor.beginTask(java.lang.String, int)

done

public void done()
Implements IProgressMonitor.done.

Specified by:
done in interface IProgressMonitor
See Also:
IProgressMonitor.done()

escapeMetaCharacters

protected static String escapeMetaCharacters(String in)
Escapes any occurrence of '&' in the given String so that it is not considered as a mnemonic character in SWT ToolItems, MenuItems, Button and Labels.

Parameters:
in - the original String
Returns:
The converted String

initialize

protected void initialize(Layout layout,
                          int progressIndicatorHeight)
Creates the progress monitor's UI parts and layouts them according to the given layout. If the layou is null the part's default layout is used.

Parameters:
layout - The layoutfor the receiver.
progressIndicatorHeight - The suggested height of the indicator

internalWorked

public void internalWorked(double work)
Implements IProgressMonitor.internalWorked.

Specified by:
internalWorked in interface IProgressMonitor
Parameters:
work - the amound of work done
See Also:
IProgressMonitor.internalWorked(double)

isCanceled

public boolean isCanceled()
Implements IProgressMonitor.isCanceled.

Specified by:
isCanceled in interface IProgressMonitor
Returns:
true if cancellation has been requested, and false otherwise
See Also:
IProgressMonitor.isCanceled()

removeFromCancelComponent

public void removeFromCancelComponent(Control cc)
Detach the progress monitor part from the given cancel component

Parameters:
cc -

setCanceled

public void setCanceled(boolean b)
Implements IProgressMonitor.setCanceled.

Specified by:
setCanceled in interface IProgressMonitor
Parameters:
b - true indicates that cancelation has been requested (but not necessarily acknowledged); false clears this flag
See Also:
IProgressMonitor.setCanceled(boolean)

setFont

public void setFont(Font font)
Sets the progress monitor part's font.

Overrides:
setFont in class Control
Parameters:
font - the new font (or null)

setTaskName

public void setTaskName(String name)
Description copied from interface: IProgressMonitor
Sets the task name to the given value. This method is used to restore the task label after a nested operation was executed. Normally there is no need for clients to call this method.

Specified by:
setTaskName in interface IProgressMonitor
Parameters:
name - the name (or description) of the main task
See Also:
IProgressMonitor.beginTask(java.lang.String, int)

subTask

public void subTask(String name)
Description copied from interface: IProgressMonitor
Notifies that a subtask of the main task is beginning. Subtasks are optional; the main task might not have subtasks.

Specified by:
subTask in interface IProgressMonitor
Parameters:
name - the name (or description) of the subtask

updateLabel

protected void updateLabel()
Updates the label with the current task and subtask names.


worked

public void worked(int work)
Implements IProgressMonitor.worked.

Specified by:
worked in interface IProgressMonitor
Parameters:
work - the number of work units just completed
See Also:
IProgressMonitor.worked(int)

clearBlocked

public void clearBlocked()
Description copied from interface: IProgressMonitorWithBlocking
Clears the blocked state of the running operation. If a running operation ever calls setBlocked, it must eventually call clearBlocked before the operation completes.

Specified by:
clearBlocked in interface IProgressMonitorWithBlocking
See Also:
IProgressMonitorWithBlocking.setBlocked(IStatus)

setBlocked

public void setBlocked(IStatus reason)
Description copied from interface: IProgressMonitorWithBlocking
Indicates that this operation is blocked by some background activity. If a running operation ever calls setBlocked, it must eventually call clearBlocked before the operation completes.

If the caller is blocked by a currently executing job, this method will return an IJobStatus indicating the job that is currently blocking the caller. If this blocking job is not known, this method will return a plain informational IStatus object.

Specified by:
setBlocked in interface IProgressMonitorWithBlocking
Parameters:
reason - an optional status object whose message describes the reason why this operation is blocked, or null if this information is not available.
See Also:
IProgressMonitorWithBlocking.clearBlocked(), IJobStatus

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

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