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