Package org.eclipse.jface.wizard
Class ProgressMonitorPart
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.jface.wizard.ProgressMonitorPart
- All Implemented Interfaces:
IProgressMonitor
,IProgressMonitorWithBlocking
,Drawable
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
FieldsModifier and TypeFieldDescriptionprotected IStatus
current blocked statusprotected Control
the cancel componentprotected Listener
the cancel lister attached to the cancel componentprotected boolean
true if canceledprotected Label
the labelprotected ProgressIndicator
the progress indicatorprotected String
the current sub task nameprotected String
the current task nameFields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
-
Constructor Summary
ConstructorsConstructorDescriptionProgressMonitorPart
(Composite parent, Layout layout) Creates aProgressMonitorPart
that does not provide a stop button.ProgressMonitorPart
(Composite parent, Layout layout, boolean createStopButton) Creates aProgressMonitorPart
.ProgressMonitorPart
(Composite parent, Layout layout, int progressIndicatorHeight) Creates aProgressMonitorPart
that does not provide a stop button. -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachToCancelComponent
(Control cancelComponent) Attaches the progress monitor part to the given cancel component.void
Notifies that the main task is beginning.void
Clears the blocked state of the running operation.void
done()
Notifies that the work is done; that is, either the main task is completed or the user canceled it.protected static String
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) Internal method to handle scaling correctly.boolean
Returns whether cancelation of current operation has been requested.protected void
Enqueues a label update for asynchronous execution.void
removeFromCancelComponent
(Control cancelComponent) 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) Sets the cancel state to the given value.void
Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.void
setTaskName
(String name) Sets the task name to the given value.void
Notifies that a subtask of the main task is beginning.protected void
Updates the label with the current task and subtask names.void
worked
(int work) Notifies that a given number of work unit of the main task has been completed.Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalable
Methods inherited from interface org.eclipse.core.runtime.IProgressMonitor
slice
-
Field Details
-
fLabel
the label -
fTaskName
the current task name -
fSubTaskName
the current sub task name -
fProgressIndicator
the progress indicator -
fCancelComponent
the cancel component -
fIsCanceled
protected volatile boolean fIsCanceledtrue if canceled -
blockedStatus
current blocked status -
fCancelListener
the cancel lister attached to the cancel component
-
-
Constructor Details
-
ProgressMonitorPart
Creates aProgressMonitorPart
that does not provide a stop button.- Parameters:
parent
- The SWT parent of the part.layout
- The SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. Ifnull
is passed the part uses its default layout.
-
ProgressMonitorPart
Creates aProgressMonitorPart
that does not provide a stop button.- Parameters:
parent
- The SWT parent of the part.layout
- The SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. Ifnull
is passed the part uses its default layout.progressIndicatorHeight
- The height of the progress indicator in pixels. This value may be SWT.DEFAULT in order to get the default height as calculated by the widget and its layout.
-
ProgressMonitorPart
Creates aProgressMonitorPart
.- Parameters:
parent
- the SWT parent of the partlayout
- the SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. Ifnull
is passed the part uses its default layout.createStopButton
-true
if the progress indicator should include a stop button that can be used to cancel any currently running task, andfalse
if no such stop button should be created.- Since:
- 3.6
-
-
Method Details
-
attachToCancelComponent
Attaches the progress monitor part to the given cancel component.- Parameters:
cancelComponent
- the control whose selection will trigger a cancel. This parameter will be ignored and hence can benull
if a stop button was requested upon construction and instead the stop button will enabled and serve as the cancel component.- See Also:
-
beginTask
Description copied from interface:IProgressMonitor
Notifies that the main task is beginning. This must only be called once on a given progress monitor instance.- Specified by:
beginTask
in interfaceIProgressMonitor
- Parameters:
name
- the name (or description) of the main tasktotalWork
- the total number of work units into which the main task is been subdivided. If the value isUNKNOWN
the implementation is free to indicate progress in a way which doesn't require the total number of work units in advance.
-
done
public void done()Description copied from interface:IProgressMonitor
Notifies that the work is done; that is, either the main task is completed or the user canceled it. This method may be called more than once (implementations should be prepared to handle this case).- Specified by:
done
in interfaceIProgressMonitor
-
escapeMetaCharacters
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
Creates the progress monitor's UI parts and layouts them according to the given layout. If the layout isnull
the part's default layout is used.- Parameters:
layout
- The layout for the receiver.progressIndicatorHeight
- The suggested height of the indicator
-
internalWorked
public void internalWorked(double work) Description copied from interface:IProgressMonitor
Internal method to handle scaling correctly. This method must not be called by a client. Clients should always use the methodworked(int)
.- Specified by:
internalWorked
in interfaceIProgressMonitor
- Parameters:
work
- the amount of work done
-
isCanceled
public boolean isCanceled()Description copied from interface:IProgressMonitor
Returns whether cancelation of current operation has been requested. Long-running operations should poll to see if cancelation has been requested.- Specified by:
isCanceled
in interfaceIProgressMonitor
- Returns:
true
if cancellation has been requested, andfalse
otherwise- See Also:
-
removeFromCancelComponent
Detach the progress monitor part from the given cancel component.- Parameters:
cancelComponent
- the control that was previously used as a cancel component. This parameter will be ignored and hence can benull
if a stop button was requested upon construction and instead the stop button will be disabled.- See Also:
-
setCanceled
public void setCanceled(boolean b) Description copied from interface:IProgressMonitor
Sets the cancel state to the given value.- Specified by:
setCanceled
in interfaceIProgressMonitor
- Parameters:
b
-true
indicates that cancelation has been requested (but not necessarily acknowledged);false
clears this flag- See Also:
-
setFont
Description copied from class:Control
Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null. -
setTaskName
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 interfaceIProgressMonitor
- Parameters:
name
- the name (or description) of the main task- See Also:
-
subTask
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 interfaceIProgressMonitor
- Parameters:
name
- the name (or description) of the subtask
-
queueUpdateLabel
protected void queueUpdateLabel()Enqueues a label update for asynchronous execution. The update is performed throttled to 100ms, i.e. updates within the throttle range are not displayed.- Since:
- 3.14
-
updateLabel
protected void updateLabel()Updates the label with the current task and subtask names. -
worked
public void worked(int work) Description copied from interface:IProgressMonitor
Notifies that a given number of work unit of the main task has been completed. Note that this amount represents an installment, as opposed to a cumulative amount of work done to date.- Specified by:
worked
in interfaceIProgressMonitor
- Parameters:
work
- a non-negative number of work units just completed
-
clearBlocked
public void clearBlocked()Description copied from interface:IProgressMonitor
Clears the blocked state of the running operation. If a running operation ever callssetBlocked
, it must eventually callclearBlocked
before the operation completes.- Specified by:
clearBlocked
in interfaceIProgressMonitor
- See Also:
-
setBlocked
Description copied from interface:IProgressMonitor
Indicates that this operation is blocked by some background activity. If a running operation ever callssetBlocked
, it must eventually callclearBlocked
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 informationalIStatus
object.- Specified by:
setBlocked
in interfaceIProgressMonitor
- Parameters:
reason
- an optional status object whose message describes the reason why this operation is blocked, ornull
if this information is not available.- See Also:
-