Package ghidra.util.task
Interface TaskMonitor
-
- All Known Implementing Classes:
CancelOnlyWrappingTaskMonitor,ConsoleTaskMonitor,DummyCancellableTaskMonitor,GTaskMonitor,HeadlessTimedTaskMonitor,TaskDialog,TaskMonitorAdapter,TaskMonitorComponent,TimeoutTaskMonitor,TreeTaskMonitor,UnknownProgressWrappingTaskMonitor,WrappingTaskMonitor
public interface TaskMonitorTaskMonitorprovides an interface by means of which a potentially long running task can show its progress and also check if the user has cancelled the operation.Operations that support a task monitor should periodically check to see if the operation has been cancelled and abort. If possible, the operation should also provide periodic progress information. If it can estimate a percentage done, then it should use the
setProgress(int)method, otherwise it should just call thesetMessage(String)method.
-
-
Field Summary
Fields Modifier and Type Field Description static TaskMonitorDUMMYstatic intNO_PROGRESS_VALUEA value to indicate that this monitor has no progress value set
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddCancelledListener(CancelledListener listener)Add cancelled listenervoidcancel()Cancel the taskvoidcheckCanceled()Check to see if this monitor has been canceledvoidclearCanceled()Clear the cancellation so that this TaskMonitor may be reusedstatic TaskMonitordummyIfNull(TaskMonitor tm)Returns the given task monitor if it is notnull.longgetMaximum()Returns the current maximum value for progressjava.lang.StringgetMessage()Gets the last set message of this monitorlonggetProgress()Returns the current progress value orNO_PROGRESS_VALUEif there is no value setvoidincrementProgress(long incrementAmount)A convenience method to increment the current progress by the given valuevoidinitialize(long max)Initialized this TaskMonitor to the given max values.booleanisCancelEnabled()Returns true if cancel ability is enabledbooleanisCancelled()Returns true if the user has cancelled the operationbooleanisIndeterminate()Returns true if this monitor shows no progressvoidremoveCancelledListener(CancelledListener listener)Remove cancelled listenervoidsetCancelEnabled(boolean enable)Set the enablement of the Cancel buttonvoidsetIndeterminate(boolean indeterminate)An indeterminate task monitor may choose to show an animation instead of updating progressvoidsetMaximum(long max)Set the progress maximum valuevoidsetMessage(java.lang.String message)Sets the message displayed on the task monitorvoidsetProgress(long value)Sets the current progress valuevoidsetShowProgressValue(boolean showProgressValue)True (the default) signals to paint the progress information inside of the progress bar
-
-
-
Field Detail
-
DUMMY
static final TaskMonitor DUMMY
-
NO_PROGRESS_VALUE
static final int NO_PROGRESS_VALUE
A value to indicate that this monitor has no progress value set- See Also:
- Constant Field Values
-
-
Method Detail
-
dummyIfNull
static TaskMonitor dummyIfNull(TaskMonitor tm)
Returns the given task monitor if it is notnull. Otherwise, aDUMMYmonitor is returned.- Parameters:
tm- the monitor to check fornull- Returns:
- a non-null task monitor
-
isCancelled
boolean isCancelled()
Returns true if the user has cancelled the operation- Returns:
- true if the user has cancelled the operation
-
setShowProgressValue
void setShowProgressValue(boolean showProgressValue)
True (the default) signals to paint the progress information inside of the progress bar- Parameters:
showProgressValue- true to paint the progress value; false to not
-
setMessage
void setMessage(java.lang.String message)
Sets the message displayed on the task monitor- Parameters:
message- the message to display
-
getMessage
java.lang.String getMessage()
Gets the last set message of this monitor- Returns:
- the message
-
setProgress
void setProgress(long value)
Sets the current progress value- Parameters:
value- progress value
-
initialize
void initialize(long max)
Initialized this TaskMonitor to the given max values. The current value of this monitor will be set to zero.- Parameters:
max- maximum value for progress
-
setMaximum
void setMaximum(long max)
Set the progress maximum valueNote: setting this value will reset the progress to be the max if the progress is currently greater than the new new max value.
- Parameters:
max- maximum value for progress
-
getMaximum
long getMaximum()
Returns the current maximum value for progress- Returns:
- the maximum progress value
-
setIndeterminate
void setIndeterminate(boolean indeterminate)
An indeterminate task monitor may choose to show an animation instead of updating progress- Parameters:
indeterminate- true if indeterminate
-
isIndeterminate
boolean isIndeterminate()
Returns true if this monitor shows no progress- Returns:
- true if this monitor shows no progress
-
checkCanceled
void checkCanceled() throws CancelledExceptionCheck to see if this monitor has been canceled- Throws:
CancelledException- if monitor has been cancelled
-
incrementProgress
void incrementProgress(long incrementAmount)
A convenience method to increment the current progress by the given value- Parameters:
incrementAmount- The amount by which to increment the progress
-
getProgress
long getProgress()
Returns the current progress value orNO_PROGRESS_VALUEif there is no value set- Returns:
- the current progress value or
NO_PROGRESS_VALUEif there is no value set
-
cancel
void cancel()
Cancel the task
-
addCancelledListener
void addCancelledListener(CancelledListener listener)
Add cancelled listener- Parameters:
listener- the cancel listener
-
removeCancelledListener
void removeCancelledListener(CancelledListener listener)
Remove cancelled listener- Parameters:
listener- the cancel listener
-
setCancelEnabled
void setCancelEnabled(boolean enable)
Set the enablement of the Cancel button- Parameters:
enable- true means to enable the cancel button
-
isCancelEnabled
boolean isCancelEnabled()
Returns true if cancel ability is enabled- Returns:
- true if cancel ability is enabled
-
clearCanceled
void clearCanceled()
Clear the cancellation so that this TaskMonitor may be reused
-
-