Class CompoundProgressRangeModel
- java.lang.Object
-
- javax.swing.DefaultBoundedRangeModel
-
- com.inductiveautomation.ignition.client.util.gui.CompoundProgressRangeModel
-
- All Implemented Interfaces:
java.io.Serializable
,javax.swing.BoundedRangeModel
public class CompoundProgressRangeModel extends javax.swing.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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
CompoundProgressRangeModel.InternalProgressListener
protected class
CompoundProgressRangeModel.ValueUpdater
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
currentNote
protected int
currentValue
protected boolean
opCanceled
protected java.util.List<CompoundProgressRangeModel.InternalProgressListener>
progresses
protected int
resolution
-
Constructor Summary
Constructors Constructor Description CompoundProgressRangeModel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelOperations()
Sets the canceled flag that will propagate to the running TaskProgressListeners.TaskProgressListener
createNewTaskListener()
Creates a new progress listener that will contribute to the overall progress.protected int
getCurrentValue()
int
getMaxValue()
protected void
refreshProgress()
void
reset()
Resets the compound model, clearing out any internal progress listeners contributing to the value.protected void
updateCurrentNote(java.lang.String value)
-
Methods inherited from class javax.swing.DefaultBoundedRangeModel
addChangeListener, fireStateChanged, getChangeListeners, getExtent, getListeners, getMaximum, getMinimum, getValue, getValueIsAdjusting, removeChangeListener, setExtent, setMaximum, setMinimum, setRangeProperties, setValue, setValueIsAdjusting, toString
-
-
-
-
Field Detail
-
resolution
protected int resolution
-
progresses
protected java.util.List<CompoundProgressRangeModel.InternalProgressListener> progresses
-
currentNote
protected java.lang.String currentNote
-
currentValue
protected int currentValue
-
opCanceled
protected boolean opCanceled
-
-
Method Detail
-
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(java.lang.String value)
-
cancelOperations
public void cancelOperations()
Sets the canceled flag that will propagate to the running TaskProgressListeners.
-
-