Package ghidra.util.task
Class TaskDialog
- java.lang.Object
-
- docking.DialogComponentProvider
-
- ghidra.util.task.TaskDialog
-
- All Implemented Interfaces:
ActionContextProvider,StatusListener,TaskListener,TaskMonitor
public class TaskDialog extends DialogComponentProvider implements TaskMonitor
Dialog that is displayed to show activity for a Task that is running outside of the Swing Thread.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_WIDTH-
Fields inherited from class docking.DialogComponentProvider
applyButton, cancelButton, dismissButton, okButton, rootPanel
-
Fields inherited from interface ghidra.util.task.TaskMonitor
DUMMY, NO_PROGRESS_VALUE
-
-
Constructor Summary
Constructors Constructor Description TaskDialog(Task task)Creates a new TaskDialog.TaskDialog(java.awt.Component centerOnComp, Task task)Creates new TaskDialogTaskDialog(java.lang.String title, boolean canCancel, boolean isModal, boolean hasProgress)Construct new TaskDialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCancelledListener(CancelledListener listener)Add cancelled listener.voidaddIssueListener(IssueListener listener)Add an issue listener to this monitor.voidcancel()Cancel the task.protected voidcancelCallback()Called if the user presses the cancel button on the dialogvoidcheckCanceled()Check to see if this monitor has been canceled.voidclearCanceled()Clear the cancellation so that this TaskMonitor may be reused.protected voiddialogClosed()Override this method if you want to do something when the dialog is made invisibleprotected voiddialogShown()Override this method if you want to do something when the dialog is made visiblevoiddispose()protected voiddoShow()longgetMaximum()Returns the current maximum value for progress.longgetProgress()Returns the current progress value orTaskMonitor.NO_PROGRESS_VALUEif there is no value set.voidincrementProgress(long incrementAmount)A convenience method to increment the current progress by the given value.voidinitialize(long max)Initialized this TaskMonitor to the given max values.booleanisCancelEnabled()Returns true if the cancel button is enabledbooleanisCancelled()Returns true if the user has cancelled the operation.booleanisCompleted()protected booleanpromptToVerifyCancel()voidremoveCancelledListener(CancelledListener listener)Remove cancelled listener.voidremoveIssueListener(IssueListener listener)Removes an issue listener to this monitor.voidreportIssue(Issue issue)Notify that an issue occurred while processing.voidreset()voidsetCancelEnabled(boolean enable)Set the enable state of the Cancel button.voidsetIndeterminate(boolean indeterminate)Sets theindeterminateproperty of the progress bar, which determines whether the progress bar is in determinate or indeterminate mode.voidsetMaximum(long max)Set the progress maximum value.voidsetMessage(java.lang.String str)Sets the message in the TaskDialog dialogvoidsetProgress(long param)Sets the percentage done.voidsetShowProgressValue(boolean showProgressValue)True (the default) signals to paint the progress information inside of the progress bar.voidshow(int delay)Shows the dialog window centered on the parent window.voidtaskProcessed()-
Methods inherited from class docking.DialogComponentProvider
addAction, addApplyButton, addButton, addCancelButton, addDismissButton, addOKButton, addWorkPanel, alertMessage, alertMessage, applyCallback, cancelCurrentTask, clearScheduledTask, clearStatusText, close, dismissCallback, doInitialize, escapeCallback, executeProgressTask, getActionContext, getActions, getBackground, getBounds, getComponent, getDefaultButton, getDefaultSize, getDialogSize, getFocusComponent, getGlassPane, getIntialLocation, getLocationOnScreen, getPreferredSize, getRemberSize, getRememberLocation, getStatusLabel, getStatusText, getTaskMonitorComponent, getTaskScheduler, getTitle, getUseSharedLocation, hideTaskMonitorComponent, isApplyEnabled, isModal, isOKEnabled, isResizeable, isRunningTask, isShowing, isTransient, isVisible, main, notifyContextChanged, okCallback, removeAction, removeButton, removeWorkPanel, repack, setApplyEnabled, setApplyToolTip, setBackground, setCancelButtonText, setCancelToolTip, setCursor, setDefaultButton, setDefaultSize, setDialogSize, setDismissToolTip, setFocusComponent, setGlassPane, setHelpLocation, setInitialLocation, setMinimumSize, setMinimumSize, setOkButtonText, setOkEnabled, setOkToolTip, setPreferredSize, setRememberLocation, setRememberSize, setResizable, setStatusJustification, setStatusText, setStatusText, setStatusText, setTitle, setTransient, setUseSharedLocation, showProgressBar, showTaskMonitorComponent, stopProgressTimer, taskCancelled, taskCompleted, toFront, toString, waitForCurrentTask
-
-
-
-
Field Detail
-
DEFAULT_WIDTH
public static final int DEFAULT_WIDTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TaskDialog
public TaskDialog(java.awt.Component centerOnComp, Task task)Creates new TaskDialog- Parameters:
centerOnComp- component to be centered over when shown, otherwise center over parent. If both centerOnComp and parent are null, dialog will be centered on screen.task- the Task that this dialog will be associated with
-
TaskDialog
public TaskDialog(Task task)
Creates a new TaskDialog.- Parameters:
task- the Task that this dialog will be associated with
-
TaskDialog
public TaskDialog(java.lang.String title, boolean canCancel, boolean isModal, boolean hasProgress)Construct new TaskDialog.- Parameters:
title- title for the dialogcanCancel- true if the task can be canceledisModal- true if the dialog should be modalhasProgress- true if the dialog should show a progress bar
-
-
Method Detail
-
promptToVerifyCancel
protected boolean promptToVerifyCancel()
-
dialogShown
protected void dialogShown()
Description copied from class:DialogComponentProviderOverride this method if you want to do something when the dialog is made visible- Overrides:
dialogShownin classDialogComponentProvider
-
dialogClosed
protected void dialogClosed()
Description copied from class:DialogComponentProviderOverride this method if you want to do something when the dialog is made invisible- Overrides:
dialogClosedin classDialogComponentProvider
-
setShowProgressValue
public void setShowProgressValue(boolean showProgressValue)
Description copied from interface:TaskMonitorTrue (the default) signals to paint the progress information inside of the progress bar.- Specified by:
setShowProgressValuein interfaceTaskMonitor- Parameters:
showProgressValue- true to paint the progress value; false to not
-
setProgress
public void setProgress(long param)
Sets the percentage done.- Specified by:
setProgressin interfaceTaskMonitor- Parameters:
param- The percentage of the task completed.
-
initialize
public void initialize(long max)
Description copied from interface:TaskMonitorInitialized this TaskMonitor to the given max values. The current value of this monitor will be set to zero.- Specified by:
initializein interfaceTaskMonitor- Parameters:
max- maximum value for progress
-
setMaximum
public void setMaximum(long max)
Description copied from interface:TaskMonitorSet the progress maximum value.Note: setting this value will reset the progress to be the max if the progress is currently greater than the new new max value.
- Specified by:
setMaximumin interfaceTaskMonitor- Parameters:
max- maximum value for progress
-
getMaximum
public long getMaximum()
Description copied from interface:TaskMonitorReturns the current maximum value for progress.- Specified by:
getMaximumin interfaceTaskMonitor- Returns:
-
setIndeterminate
public void setIndeterminate(boolean indeterminate)
Sets theindeterminateproperty of the progress bar, which determines whether the progress bar is in determinate or indeterminate mode. An indeterminate progress bar continuously displays animation indicating that an operation of unknown length is occurring. By default, this property isfalse. Some look and feels might not support indeterminate progress bars; they will ignore this property.- Specified by:
setIndeterminatein interfaceTaskMonitor- See Also:
JProgressBar
-
cancelCallback
protected void cancelCallback()
Called if the user presses the cancel button on the dialog- Overrides:
cancelCallbackin classDialogComponentProvider
-
setMessage
public void setMessage(java.lang.String str)
Sets the message in the TaskDialog dialog- Specified by:
setMessagein interfaceTaskMonitor- Parameters:
str- The message string to be displayed
-
setCancelEnabled
public void setCancelEnabled(boolean enable)
Set the enable state of the Cancel button.- Specified by:
setCancelEnabledin interfaceTaskMonitor- Overrides:
setCancelEnabledin classDialogComponentProvider- Parameters:
enable- the state to set the cancel button.
-
isCancelEnabled
public boolean isCancelEnabled()
Description copied from class:DialogComponentProviderReturns true if the cancel button is enabled- Specified by:
isCancelEnabledin interfaceTaskMonitor- Overrides:
isCancelEnabledin classDialogComponentProvider- Returns:
- true if the cancel button is enabled
-
taskProcessed
public void taskProcessed()
-
reset
public void reset()
-
isCompleted
public boolean isCompleted()
-
isCancelled
public boolean isCancelled()
Description copied from interface:TaskMonitorReturns true if the user has cancelled the operation.- Specified by:
isCancelledin interfaceTaskMonitor
-
show
public void show(int delay)
Shows the dialog window centered on the parent window. Dialog display is delayed if delay greater than zero.
-
doShow
protected void doShow()
-
dispose
public void dispose()
-
cancel
public void cancel()
Description copied from interface:TaskMonitorCancel the task.- Specified by:
cancelin interfaceTaskMonitor
-
clearCanceled
public void clearCanceled()
Description copied from interface:TaskMonitorClear the cancellation so that this TaskMonitor may be reused.- Specified by:
clearCanceledin interfaceTaskMonitor
-
checkCanceled
public void checkCanceled() throws CancelledExceptionDescription copied from interface:TaskMonitorCheck to see if this monitor has been canceled.- Specified by:
checkCanceledin interfaceTaskMonitor- Throws:
CancelledException- if monitor has been cancelled.
-
incrementProgress
public void incrementProgress(long incrementAmount)
Description copied from interface:TaskMonitorA convenience method to increment the current progress by the given value.- Specified by:
incrementProgressin interfaceTaskMonitor- Parameters:
incrementAmount- The amount by which to increment the progress.
-
getProgress
public long getProgress()
Description copied from interface:TaskMonitorReturns the current progress value orTaskMonitor.NO_PROGRESS_VALUEif there is no value set.- Specified by:
getProgressin interfaceTaskMonitor- Returns:
- the current progress value or
TaskMonitor.NO_PROGRESS_VALUEif there is no value set.
-
addCancelledListener
public void addCancelledListener(CancelledListener listener)
Description copied from interface:TaskMonitorAdd cancelled listener.- Specified by:
addCancelledListenerin interfaceTaskMonitor
-
removeCancelledListener
public void removeCancelledListener(CancelledListener listener)
Description copied from interface:TaskMonitorRemove cancelled listener.- Specified by:
removeCancelledListenerin interfaceTaskMonitor
-
addIssueListener
public void addIssueListener(IssueListener listener)
Description copied from interface:TaskMonitorAdd an issue listener to this monitor.- Specified by:
addIssueListenerin interfaceTaskMonitor- Parameters:
listener- the listener
-
removeIssueListener
public void removeIssueListener(IssueListener listener)
Description copied from interface:TaskMonitorRemoves an issue listener to this monitor.- Specified by:
removeIssueListenerin interfaceTaskMonitor- Parameters:
listener- the listener
-
reportIssue
public void reportIssue(Issue issue)
Description copied from interface:TaskMonitorNotify that an issue occurred while processing.- Specified by:
reportIssuein interfaceTaskMonitor- Parameters:
issue- the issue that was encountered
-
-