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`, `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class TaskMonitorComponent extends 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

  `JPanel.AccessibleJPanel`

  ## Nested classes/interfaces inherited from class javax.swing.JComponent

  `JComponent.AccessibleJComponent`

  ## Nested classes/interfaces inherited from class java.awt.Container

  `Container.AccessibleAWTContainer`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## 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()`
  Constructor
  `TaskMonitorComponent(boolean includeTextField, boolean includeCancelButton)`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCancelledListener(CancelledListener mcl)`
  Add cancelled listener
  `void`
  `cancel()`
  Cancel the task
  `void`
  `checkCanceled()`
  Check to see if this monitor has been cancelled
  `void`
  `clearCanceled()`
  Clear the cancellation so that this TaskMonitor may be reused
  `long`
  `getMaximum()`
  Returns the current maximum value for progress
  `String`
  `getMessage()`
  Gets the last set message of this monitor
  `long`
  `getProgress()`
  Returns the current progress value or `TaskMonitor.NO_PROGRESS_VALUE` if there is no value set
  `void`
  `incrementProgress(long incrementAmount)`
  Changes the progress value by the specified amount.
  `void`
  `initialize(long maxValue)`
  Initialized this TaskMonitor to the given max values.
  `boolean`
  `isCancelEnabled()`
  Returns true if cancel ability is enabled
  `boolean`
  `isCancelled()`
  Returns true if the user has cancelled the operation
  `boolean`
  `isIndeterminate()`
  Returns true if `setIndeterminate(boolean)` with a value of `true` has been called.
  `protected void`
  `notifyCancelListeners()`
  `void`
  `removeCancelledListener(CancelledListener mcl)`
  Remove cancelled listener
  `void`
  `reset()`
  Reset this monitor so that it can be reused
  `void`
  `setCancelButtonVisibility(boolean visible)`
  Set the visibility of the cancel button
  `void`
  `setCancelEnabled(boolean enable)`
  Set the enablement of the Cancel button
  `void`
  `setIndeterminate(boolean indeterminate)`
  Sets the `indeterminate` property of the progress bar, which determines whether the progress bar is in determinate or indeterminate mode.
  `void`
  `setMaximum(long max)`
  Set the progress maximum value
  `void`
  `setMessage(String message)`
  Sets the message displayed on the task monitor
  `void`
  `setProgress(long value)`
  Sets the current progress value
  `void`
  `setShowProgressValue(boolean showProgressValue)`
  True (the default) signals to paint the progress information inside of the progress bar
  `void`
  `setTaskName(String name)`
  Set the name of the task; the name shows up in the tool tip for the cancel button.
  `void`
  `showProgress(boolean show)`
  Set whether the progress bar should be visible
  `void`
  `showProgressIcon(boolean visible)`
  Sets the visibility of the progress icon

  ### 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.util.task.TaskMonitor

  `checkCancelled, clearCancelled, increment, increment, incrementProgress, initialize`

- ## Constructor Details

  - ### TaskMonitorComponent

    public TaskMonitorComponent()
    Constructor

  - ### TaskMonitorComponent

    public TaskMonitorComponent(boolean includeTextField, boolean includeCancelButton)
    Constructor
    Parameters:
      `includeTextField` - if true, the dialog can display a status progressMessage with progress details
      `includeCancelButton` - if true, a cancel button will be displayed

- ## Method Details

  - ### addCancelledListener

    public void addCancelledListener(CancelledListener mcl)
    Description copied from interface: `TaskMonitor`
    Add cancelled listener
    Specified by:
      `addCancelledListener` in interface `TaskMonitor`
    Parameters:
      `mcl` - the cancel listener

  - ### removeCancelledListener

    public void removeCancelledListener(CancelledListener mcl)
    Description copied from interface: `TaskMonitor`
    Remove cancelled listener
    Specified by:
      `removeCancelledListener` in interface `TaskMonitor`
    Parameters:
      `mcl` - the cancel listener

  - ### incrementProgress

    public void incrementProgress(long incrementAmount)
    Description copied from interface: `TaskMonitor`
    Changes the progress value by the specified amount.
    Specified by:
      `incrementProgress` in interface `TaskMonitor`
    Parameters:
      `incrementAmount` - The amount by which to increment the progress

  - ### getProgress

    public long getProgress()
    Description copied from interface: `TaskMonitor`
    Returns the current progress value or `TaskMonitor.NO_PROGRESS_VALUE` if there is no value set
    Specified by:
      `getProgress` in interface `TaskMonitor`
    Returns:
      the current progress value or `TaskMonitor.NO_PROGRESS_VALUE` if there is no value set

  - ### isCancelled

    public boolean isCancelled()
    Description copied from interface: `TaskMonitor`
    Returns true if the user has cancelled the operation
    Specified by:
      `isCancelled` in interface `TaskMonitor`
    Returns:
      true if the user has cancelled the operation

  - ### checkCanceled

    public void checkCanceled() throws CancelledException
    Description copied from interface: `TaskMonitor`
    Check to see if this monitor has been cancelled
    Specified by:
      `checkCanceled` in interface `TaskMonitor`
    Throws:
      `CancelledException` - if monitor has been cancelled

  - ### setMessage

    public void setMessage(String message)
    Description copied from interface: `TaskMonitor`
    Sets the message displayed on the task monitor
    Specified by:
      `setMessage` in interface `TaskMonitor`
    Parameters:
      `message` - the message to display

  - ### getMessage

    public String getMessage()
    Description copied from interface: `TaskMonitor`
    Gets the last set message of this monitor
    Specified by:
      `getMessage` in interface `TaskMonitor`
    Returns:
      the message

  - ### setProgress

    public void setProgress(long value)
    Description copied from interface: `TaskMonitor`
    Sets the current progress value
    Specified by:
      `setProgress` in interface `TaskMonitor`
    Parameters:
      `value` - progress value

  - ### initialize

    public void initialize(long maxValue)
    Description copied from interface: `TaskMonitor`
    Initialized this TaskMonitor to the given max values. The current value of this monitor will be set to zero.
    Specified by:
      `initialize` in interface `TaskMonitor`
    Parameters:
      `maxValue` - maximum value for progress

  - ### setMaximum

    public void setMaximum(long max)
    Description copied from interface: `TaskMonitor`
    Set 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:
      `setMaximum` in interface `TaskMonitor`
    Parameters:
      `max` - maximum value for progress

  - ### setIndeterminate

    public void setIndeterminate(boolean indeterminate)
    Sets the `indeterminate` property 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:
      `setIndeterminate` in interface `TaskMonitor`
    Parameters:
      `indeterminate` - true if indeterminate
    See Also:
      - `JProgressBar`

  - ### setCancelEnabled

    public void setCancelEnabled(boolean enable)
    Description copied from interface: `TaskMonitor`
    Set the enablement of the Cancel button
    Specified by:
      `setCancelEnabled` in interface `TaskMonitor`
    Parameters:
      `enable` - true means to enable the cancel button

  - ### isCancelEnabled

    public boolean isCancelEnabled()
    Description copied from interface: `TaskMonitor`
    Returns true if cancel ability is enabled
    Specified by:
      `isCancelEnabled` in interface `TaskMonitor`
    Returns:
      true if cancel ability is enabled

  - ### cancel

    public void cancel()
    Description copied from interface: `TaskMonitor`
    Cancel the task
    Specified by:
      `cancel` in interface `TaskMonitor`

  - ### clearCanceled

    public void clearCanceled()
    Description copied from interface: `TaskMonitor`
    Clear the cancellation so that this TaskMonitor may be reused
    Specified by:
      `clearCanceled` in interface `TaskMonitor`

  - ### setShowProgressValue

    public void setShowProgressValue(boolean showProgressValue)
    Description copied from interface: `TaskMonitor`
    True (the default) signals to paint the progress information inside of the progress bar
    Specified by:
      `setShowProgressValue` in interface `TaskMonitor`
    Parameters:
      `showProgressValue` - true to paint the progress value; false to not

  - ### getMaximum

    public long getMaximum()
    Description copied from interface: `TaskMonitor`
    Returns the current maximum value for progress
    Specified by:
      `getMaximum` in interface `TaskMonitor`
    Returns:
      the maximum progress value

  - ### reset

    public void reset()
    Reset this monitor so that it can be reused

  - ### isIndeterminate

    public boolean isIndeterminate()
    Returns true if `setIndeterminate(boolean)` with a value of `true` has been called.
    Specified by:
      `isIndeterminate` in interface `TaskMonitor`
    Returns:
      true if `setIndeterminate(boolean)` with a value of `true` has been called.

  - ### showProgress

    public void showProgress(boolean show)
    Set whether the progress bar should be visible
    Parameters:
      `show` - true if the progress bar should be visible

  - ### setTaskName

    public void setTaskName(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

  - ### setCancelButtonVisibility

    public void setCancelButtonVisibility(boolean visible)
    Set the visibility of the cancel button
    Parameters:
      `visible` - if true, show the cancel button; false otherwise

  - ### showProgressIcon

    public void showProgressIcon(boolean visible)
    Sets the visibility of the progress icon
    Parameters:
      `visible` - if true, display the progress icon

  - ### notifyCancelListeners

    protected void notifyCancelListeners()