Package ghidra.util.task
Class TaskMonitorComponent
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ghidra.util.task.TaskMonitorComponent
-
- All Implemented Interfaces:
TaskMonitor,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
public class TaskMonitorComponent extends javax.swing.JPanel implements TaskMonitor
Component that contains a progress bar, a progress icon, and a cancel button to cancel the task that is associated with this task monitor. By default the progress bar and progress icon (spinning globe) are visible.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface ghidra.util.task.TaskMonitor
DUMMY, NO_PROGRESS_VALUE
-
-
Constructor Summary
Constructors Constructor Description TaskMonitorComponent()Construct a new TaskMonitorComponent.TaskMonitorComponent(boolean includeTextField, boolean includeCancelButton)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCancelledListener(CancelledListener mcl)Add cancelled listener.voidaddIssueListener(IssueListener listener)Add an issue listener to this monitor.voidcancel()Cancel the task.voidcheckCanceled()Check to see if this monitor has been canceled.voidclearCanceled()Clear the cancellation so that this TaskMonitor may be reused.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 maxValue)Initialized this TaskMonitor to the given max values.booleanisCancelEnabled()Returns true if cancel ability is enabledbooleanisCancelled()Returns true if the user has cancelled the operation.booleanisIndeterminate()Returns true ifsetIndeterminate(boolean)with a value of true has been called.static voidmain(java.lang.String[] args)Simple test for the TaskMonitorComponent class.protected voidnotifyChangeListeners()voidremoveCancelledListener(CancelledListener mcl)Remove cancelled listener.voidremoveIssueListener(IssueListener listener)Removes an issue listener to this monitor.voidreportIssue(Issue issue)Notify that an issue occurred while processing.voidreset()Reset this monitor so that it can be reused.voidsetCancelEnabled(boolean enable)Set the enablement 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 message)Sets a message giving additional information about the current progress.voidsetProgress(long value)Sets the current progress value.voidsetShowProgressValue(boolean showProgressValue)True (the default) signals to paint the progress information inside of the progress bar.voidsetTaskName(java.lang.String name)Set the name of the task; the name shows up in the tool tip for the cancel button.voidshowCancelButton(boolean showCancel)Show or not show the cancel button according to the showCancel param.voidshowProgress(boolean b)Set whether the progress bar should be visible.voidshowProgressIcon(boolean showIcon)Show or not show the progress icon (spinning globe) according to the showIcon param.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
TaskMonitorComponent
public TaskMonitorComponent()
Construct a new TaskMonitorComponent.- Parameters:
l- listener that is notified when the task completes or the user cancels the task
-
TaskMonitorComponent
public TaskMonitorComponent(boolean includeTextField, boolean includeCancelButton)
-
-
Method Detail
-
reset
public void reset()
Reset this monitor so that it can be reused.
-
isCancelled
public boolean isCancelled()
Description copied from interface:TaskMonitorReturns true if the user has cancelled the operation.- Specified by:
isCancelledin 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.
-
setMessage
public void setMessage(java.lang.String message)
Description copied from interface:TaskMonitorSets a message giving additional information about the current progress.- Specified by:
setMessagein interfaceTaskMonitor- Parameters:
message- more information
-
setProgress
public void setProgress(long value)
Description copied from interface:TaskMonitorSets the current progress value.- Specified by:
setProgressin interfaceTaskMonitor- Parameters:
value- progress value
-
initialize
public void initialize(long maxValue)
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:
maxValue- 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
-
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 is
false. Some look and feels might not support indeterminate progress bars; they will ignore this property.- Specified by:
setIndeterminatein interfaceTaskMonitor- See Also:
JProgressBar
-
isIndeterminate
public boolean isIndeterminate()
Returns true ifsetIndeterminate(boolean)with a value of true has been called.- Returns:
- true if
setIndeterminate(boolean)with a value of true has been called.
-
setCancelEnabled
public void setCancelEnabled(boolean enable)
Description copied from interface:TaskMonitorSet the enablement of the Cancel button.- Specified by:
setCancelEnabledin interfaceTaskMonitor- Parameters:
enable- true means to enable the cancel button
-
isCancelEnabled
public boolean isCancelEnabled()
Description copied from interface:TaskMonitorReturns true if cancel ability is enabled- Specified by:
isCancelEnabledin interfaceTaskMonitor
-
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
-
showProgress
public void showProgress(boolean b)
Set whether the progress bar should be visible.- Parameters:
b- true if the progress bar should be visible
-
setTaskName
public void setTaskName(java.lang.String name)
Set the name of the task; the name shows up in the tool tip for the cancel button.- Parameters:
name- the name of the task
-
showCancelButton
public void showCancelButton(boolean showCancel)
Show or not show the cancel button according to the showCancel param.
-
showProgressIcon
public void showProgressIcon(boolean showIcon)
Show or not show the progress icon (spinning globe) according to the showIcon param.
-
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
-
getMaximum
public long getMaximum()
Description copied from interface:TaskMonitorReturns the current maximum value for progress.- Specified by:
getMaximumin interfaceTaskMonitor- Returns:
-
main
public static void main(java.lang.String[] args)
Simple test for the TaskMonitorComponent class.- Parameters:
args- not used
-
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.
-
notifyChangeListeners
protected void notifyChangeListeners()
-
addCancelledListener
public void addCancelledListener(CancelledListener mcl)
Description copied from interface:TaskMonitorAdd cancelled listener.- Specified by:
addCancelledListenerin interfaceTaskMonitor
-
removeCancelledListener
public void removeCancelledListener(CancelledListener mcl)
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
-
-