Package docking.widgets.tree

# Class TreeTaskMonitor

java.lang.Object
docking.widgets.tree.TreeTaskMonitor

All Implemented Interfaces:
  `TaskMonitor`

public class TreeTaskMonitor extends Object implements TaskMonitor
TaskMonitor implementation that is useful for monitor work when traversing trees. It works by subdividing the distance of the top-most progress bar (represented by the top-most monitor) into equal size chunks depending on how many children have to be visited. For example, assume the root node has 5 children, then the task bar for that node would increment 20% of the bar as it completed work on each of its children. Now, assume each child of the root node has 10 children. The task monitor for each root child will operate entirely with its 20% as mentioned above. So the first child of the first child will increment the progress bar 2% (10% of 20%) when it is complete.

- ## Field Summary

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

  `DUMMY, NO_PROGRESS_VALUE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TreeTaskMonitor(TaskMonitor monitor, long max)`

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

  - ### TreeTaskMonitor

    public TreeTaskMonitor(TaskMonitor monitor, long max)

- ## Method Details

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

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

  - ### 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 maxValue)
    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:
      `maxValue` - 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

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

  - ### cancel

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

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

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

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