Class CompoundProgressRangeModel

java.lang.Object
javax.swing.DefaultBoundedRangeModel
com.inductiveautomation.ignition.client.util.gui.CompoundProgressRangeModel
All Implemented Interfaces:
Serializable, BoundedRangeModel

public class CompoundProgressRangeModel extends DefaultBoundedRangeModel
Provides the ability to create ProgressListeners that get coalesced into a single BoundedRangeModel. Each progress listener contributes proportionally to the overall progress, with indefinite listeners not contributing.

This class goes beyond the basic BoundedRangeModel adding in support for the current "note" provided by the progress listener. When a progress listener gets its first value update, it updates the current note and fires a change event.

This model also makes sure to call events in the EDT, so it is not necessary to worry about which thread is updating values.

See Also:
  • Field Details

  • Constructor Details

    • CompoundProgressRangeModel

      public CompoundProgressRangeModel()
  • Method Details

    • getMaxValue

      public int getMaxValue()
    • createNewTaskListener

      public TaskProgressListener createNewTaskListener()
      Creates a new progress listener that will contribute to the overall progress.

      It is basically a normal ProgressListener, except that its note will only be (potentially) display when the first non-0 value is set on setProgress. If it is an indeterminate progress listener, the owner can call setProgress(-1) to indicate that it has started.

    • reset

      public void reset()
      Resets the compound model, clearing out any internal progress listeners contributing to the value.
    • refreshProgress

      protected void refreshProgress()
    • getCurrentValue

      protected int getCurrentValue()
    • updateCurrentNote

      protected void updateCurrentNote(String value)
    • cancelOperations

      public void cancelOperations()
      Sets the canceled flag that will propagate to the running TaskProgressListeners.