Package ghidra.pyghidra

# Class PyGhidraTaskMonitor

java.lang.Object
ghidra.pyghidra.PyGhidraTaskMonitor

All Implemented Interfaces:
  `TaskMonitor`

public class PyGhidraTaskMonitor extends Object implements TaskMonitor
A `TaskMonitor` for use by PyGhidra, which features a cancellation timer and a change callback mechanism

- ## Field Summary

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

  `DUMMY, NO_PROGRESS_VALUE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PyGhidraTaskMonitor(Integer timeoutSecs, org.apache.commons.lang3.function.TriConsumer<String,Long,Long> changeCallback)`
  Creates a new `PyGhidraTaskMonitor`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCancelledListener(CancelledListener listener)`
  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 this monitor shows no progress
  `void`
  `removeCancelledListener(CancelledListener listener)`
  Remove cancelled listener
  `void`
  `setCancelEnabled(boolean enable)`
  Set the enablement of the Cancel button
  `void`
  `setIndeterminate(boolean indeterminate)`
  An indeterminate task monitor may choose to show an animation instead of updating progress
  `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

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

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

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

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

- ## Constructor Details

  - ### PyGhidraTaskMonitor

    public PyGhidraTaskMonitor(Integer timeoutSecs, org.apache.commons.lang3.function.TriConsumer<String,Long,Long> changeCallback)
    Creates a new `PyGhidraTaskMonitor`
    Parameters:
      `timeoutSecs` - The number of seconds before a cancellation timeout is triggered, or `null` for no timeout
      `changeCallback` - A function that gets called any time a change to the monitor occurred, or `null` for no callback

- ## Method Details

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

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

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

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

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

  - ### 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 max value.

    Specified by:
      `setMaximum` in interface `TaskMonitor`
    Parameters:
      `max` - maximum value for progress

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

  - ### setIndeterminate

    public void setIndeterminate(boolean indeterminate)
    Description copied from interface: `TaskMonitor`
    An indeterminate task monitor may choose to show an animation instead of updating progress
    Specified by:
      `setIndeterminate` in interface `TaskMonitor`
    Parameters:
      `indeterminate` - true if indeterminate

  - ### isIndeterminate

    public boolean isIndeterminate()
    Description copied from interface: `TaskMonitor`
    Returns true if this monitor shows no progress
    Specified by:
      `isIndeterminate` in interface `TaskMonitor`
    Returns:
      true if this monitor shows no progress

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

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

  - ### cancel

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

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

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

  - ### addCancelledListener

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

  - ### removeCancelledListener

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