Control that visually displays the progress of a processing task. As the task progresses towards completion, the progress bar displays the task's percentage of completion. This percentage is typically represented visually by a rectangle which starts out empty and gradually becomes filled in as the task progresses. In addition, the progress bar can display a textual representation of this percentage.
To indicate that a task of unknown length is executing, you can put a progress bar into indeterminate mode. While the bar is in indeterminate mode, it animates constantly to show that task is being processed. As soon as you can determine the task’s length and amount of the progress, you should update the progress bar’s value and switch it back to determinate mode.
To add a progress bar
- Drag the Progress Bar element from the Controls palette in the graphical editor.
Name — The name of the progress bar. It is used to identify and access the control from code.
Ignore — If selected, the progress bar will be excluded from the model.
Visible on upper agent — If selected, the control will be also visible on the upper agent where this agent lives.
Orientation — Orientation of the progress bar, either Vertical or Horizontal.
Show progress string — If selected, the label is shown inside the progress bar. It is commonly used to display the current progress value. The progress string is defined in the edit box to the right. Type here the expression returning String value that will be shown inside the control. You can use two local variables in the expression: value (holds current progress value) and percent (holds current progress percent).
The example of progress string:
percent + " percent(s) completed"
Minimum value — The minimum value of the progress bar.
Maximum value — The maximum value of the progress bar.
Progress value — The expression of type double that reflects the progress value. The simplest example: to make your progress bar show how the model time progresses, type time() here.
Determinated — Boolean expression determining whether the progress bar is in determinate or indeterminate mode. An indeterminate progress bar displays animation continuously indicating that an operation of unknown length is occurring.
Here you can specify the code to execute when the content of the progress bar is progressing. The current value of the progress bar is available here as value (local variable of String type).
- Position and size
Level — Level to which this control belongs.
X — X-coordinate of the control’s upper left corner.
Y — Y-coordinate of the control’s upper left corner.
Width — The width of the control (in pixels).
Height — The height of the control (in pixels).
Visible — The control’s visibility. The control is visible when the specified expression evaluates to true, otherwise it is and not visible.
Replication — Here you specify the number of copies of this control you want to be created. If you leave this field empty, only one such control will be created.
Show name — If selected, the name of the control will be displayed on a presentation diagram.
Icon — If selected, the progress bar will be considered as a part of the agent’s icon.
Function Description double getValue() Returns the current value of the progress bar. int getPercent() Returns progress expressed as percentage (integer value from 0 to 100). void setValue(double val) Sets the value of the progress bar.
val — the new value.
- Value range
Function Description double getMin() Returns the minimum value of the progress bar. double getMax() Returns the maximum value of the progress bar. void setRange(double min, double max) Sets the minimum and the maximum values of the progress bar.
min — the new minimum value.
max — the new maximum value.
- Determinate mode
Function Description void setDeterminate(boolean val) Sets determinate property of progress bar, which determines whether the progress bar is in determinate or indeterminate mode. An indeterminate progress bar continuously displays animation indicating that an operation of unknown length is occurring. By default, this property is true.
val — if true, sets the progress bar to determinate mode, if false — to indeterminate.
- Progress string
Function Description void setProgressString(String val) Sets the String value of the progress bar.
val — the new value or null to hide progress string.
Function Description double getX() Returns the X coordinate of the control (namely, the X coordinate of its upper left corner). double getY() Returns the Y coordinate of the control (namely, the Y coordinate of its upper left corner). void setX(double x) Sets the X coordinate of the control.
x — the new value of X coordinate.
void setY(double y) Sets the Y coordinate of the control.
y — the new value of Y coordinate.
void setPos(double x, double y) Sets new coordinates for the control.
x — the new value of x coordinate.
y — the new value of y coordinate.
Function Description double getWidth() Returns the width of the control, in pixels. double getHeight() Returns the height of the control, in pixels. void setWidth(double width) Sets the width of the control equal to width. void setHeight(double height) Sets the height of the control equal to height.
Function Description boolean isVisible() Returns the visibility of the control. void setVisible(boolean v) Sets the visibility of the control.
v — visibility: if true — the control is set to be visible, if false — not visible.
Function Description ShapeGroup getGroup() Returns the group containing this control.
Function Description Level getLevel() Returns the level, where this control is located.
How can we improve this article?