V-0.10 - CSS - Desy

22 downloads 130 Views 526KB Size Report
Synoptic Display Studio. Widgets. Sven Wende, Kai Meyer. C1 WPS GmbH. Vogt -Kölln-Straße 30. D-22527 Hamburg. [sven.wende|kai.meyer]@c1-wps.de.
Synoptic Display Studio Widgets

Sven Wende, Kai Meyer C1 WPS GmbH Vogt-Kölln-Straße 30 D-22527 Hamburg [sven.wende|kai.meyer]@c1-wps.de

Page - 1 -

Table of Contents Sven Wende, Kai Meyer ........................................................................................ 1 1.

SDS Widgets.............................................................................................. 4 1.1.

Common Widget Properties ...................................................................... 4

1.2.

Passive Widgets ...................................................................................... 5

Rectangle

and Ellipse

Bargraph Label

.............................................................................. 5

................................................................................................... 6

........................................................................................................ 8

Polyline Arc

and Polygon

............................................................................... 9

......................................................................................................... 10

Waveform

and Strip Chart

..................................................................... 10

Switch

.................................................................................................... 13

Image

..................................................................................................... 13

Sixteen Binary Bar

.................................................................................... 14

GroupingContainer

.................................................................................... 15

LinkingContainer

...................................................................................... 16

Meter (experimental) 1.3.

................................................................................ 17

Active Widgets...................................................................................... 18

TextInput

................................................................................................ 18

Simple Slider

........................................................................................... 19

Advanced Slider ActionButton MenuButton Thumb Wheel Timer

....................................................................................... 20 ............................................................................................ 21

.............................................................................................. 22 ........................................................................................... 23

...................................................................................................... 24

Page - 2 -

Document History Document version

Author

Comments

0.8 (20.10.2008)

C1 WPS

Initial version

0.9 (27.10.2008)

C1 WPS

0.10 (06.11.2008)

DESY/Jörg Rathlev

Added documentation for 16 Bit Bar, Thumb Wheel and Meter.

Page - 3 -

1. SDS Widgets All SDS-widgets consists of three parts: a model, a controller (editpart) and a view (figure). How these parts are constructed and how they work together is described in the SDS-Developers Guide. Most of the models of the SDS widgets are store in the package org.csstudio.sds.components.model, the controllers in org.csstudio.sds.components.ui.internal.editparts and the figures in org.csstudio.sds.components.ui.internal.figures. If some parts are contained in different packages, then the specific package is appended. The next section describes the properties, which are contained by most of the SDS widgets. Afterwards the passive and active widgets are described. The values in the column “Type” refer to the available property types described in “Synoptic Display Studio: Widget-Properties”.

1.1. Common Widget Properties Because of the internal structure for the model of a widget, every widget of the SDS has a set of properties by default. That set can be enhanced or reduced for a specific widget. The following table shows the common properties. “Min” and “Max” refer to the minimal rather the maximal possible value for Integer and Double properties. Category

Name

Type

Values

Description

Position

X-Coordinate

Integer

Min – Max

The x coordinate of the widget

Position

Y-Coordinate

Integer

Min – Max

The y coordinate of the widget

Position

Width

Integer

1 – Max

The width of the widget

Position

Height

Integer

1 – Max

The height of the widget

Display

Background Color

Color

The background color of the widget

Display

Foreground Color

Color

The foreground color of the widget

Display

Name

String

The name of the widget

Display

Cursor

Option

The default mouse cursor for the widget

Display

Tooltip

ParameterString

The Tooltip, which is able to display the current values of other properties

Behaviour

Visibility

Boolean

Behaviour

Alias

StringMap

True, False

The visibility of the widget All known aliases for the widget. An alias is a name, which refers to a PV or a Page - 4 -

part of it. Behaviour

Enabled

Boolean

True, False

A not enabled widget can’t perform actions (e.g a slider won’t change the value)

Behaviour

Permission ID

String

The id for the authorization (isn’t fully supported yet)

Behaviour

Primary PV

String

The main PV associated with the widget. Can contain an alias

Behaviour

Action Data

ActionData

All configured actions, which can be accessed for example via the context menu

Border

Border Color

Color

The color of the border (only used by some border styles)

Border

Border Width

Integer

0 – Max

The width of the border (only used by some border styles)

Border

Border Style

Option

None, Line, Labelled, Raised, Lowered, Dot, Shape, Dash, Dash Dot, Dash Dot Dot

The currently selected style of the border

All those properties can be configured in a static way by entering a specific value, in a dynamically way using PV’s and they can be status depending (e.g. depending on the current status of the connection).

1.2. Passive Widgets Passive widgets are just visualizing the configured data. Because every widget has the “Action Data” property, it is possible to configure an action, which changes a value. But that is not really the behaviour of the widget. Passive widgets are not intended to change values.

Rectangle

and Ellipse

The Rectangle and the Ellipse are very simple widgets for the SDS. They are just a rectangle or an ellipse with a fill level. That level indicates how many percents of the content is painted in the foreground color, while the rest is painted in the background color. The orientation of the fill level is also configurable.

Page - 5 -

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Value

Double

0,0 – 100,0

The fill level in percent

Behaviour

Horizontal Orientation

Boolean

True, False

If set to True, then the Rectangle is filled from left to right. If set to False it is filled from bottom to top

Display

Transparent Background

Boolean

True, False

If set to True, then the area, which isn’t painted as filled, is hidden.

The classes responsible for the Rectangle are: •

Model: RectangleModel



Controller: RectangleEditPart



Figure: RefreshableRectangleFigure

The classes responsible for the Ellipse are: •

Model: EllipseModel



Controller: EllipseEditPart



Figure: RefreshableEllipseFigure

Bargraph The Bargraph is in basics like the Rectangle. It also has a fill level and an orientation, but additionally levels for the four states “LoLo”, “Lo”, “Hi” and “HiHi”. With a rule attached to the “Fill Color” property it is possible to change the color of the “filled” area corresponding to the passed state. Furthermore a scale can be shown and it is configurable whether only the fill level should be marked or if the complete area until the fill level should be painted in the corresponding color.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Value

Double

Min – Max

The fill level

Behaviour

Horizontal

Boolean

True, False

If set to True, then the Rectangle is filled from Page - 6 -

Orientation

left to right, otherwise it is filled from bottom to top

Behaviour

Minimum

Double

Min – Max

The smallest possible value

Behaviour

LoLo

Double

Min – Max

The “LoLo” level. “NaN” means no level

Behaviour

Lo

Double

Min – Max

The “Lo” level. “NaN” means no level

Behaviour

Hi

Double

Min – Max

The “Hi” level. “NaN” means no level

Behaviour

HiHi

Double

Min – Max

The “HiHi” level. “NaN” means no level

Behaviour

Maximum

Double

Min – Max

The greatest possible value

Display

Transparent Background

Boolean

True, False

If set to True, then the area, which isn’t painted as filled, is hidden.

Display

Fill Color

Color

Color for the “filled” area

Display

Color Fillbackground

Color

Color for the not “filled” area

Display

Show values

Boolean

If set to True, then the configured values for the scale are shown.

Display

Tickmarks

Option

None, Bottom / Right, Top / Left

If the value is not “None”, then the marks for the four levels are shown at the corresponding side of the Bargraph

Display

Scale

Option

None, Bottom / Right, Top / Left

If the value is not “None”, then a scale is shown at the corresponding side of the Bargraph

Display

SectionCount

Integer

1 – Max

Number of sections for the scale

Display

Show only value

Boolean

True, False

If set to true, then only the current value is marked, not the complete area.

Page - 7 -

“NaN” is the shortcut for “Not a Number”. It is the result if a number is divided by 0, for example The classes responsible for the Bargraph are: •

Model: BargraphModel



Controller: BargraphEditPart



Figure: RefreshableBargraphFigure

Label The main task of the Label is to display some text. That can be: a text or a number entered in the “Text value”-property, the current value of a PV or the PV contained by the “Primary PV”-property. To show the PV the “Primary PV” has to be set and “Value Type” has to be “Alias”.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Value Type

Option

Text, Double, Alias, Hex

Determines what kind of input is shown. Affects the way the value is displayed.

Behaviour

Decimal Places

Integer

0 - 10

The count of decimal places (only used when the value type is “Double”).

Display

Font

Font

Display

Text Alignment

Option

Center, Top, Bottom, Left, Right

The Alignment of the text relative to the widget

Display

Transparent Background

Boolea n

True, False

If set to True, then only the text is displayed.

Display

Text Rotation Angle

Double

0,0 – 360,0

Rotation angle of the text relative to the widget

Display

X-Offset

Integer

Min – Max

Adjustment of the x coordinate of the text

Display

Y-Offset

Integer

Min – Max

Adjustment of the y coordinate of the text

Display

Text Value

String

The font for the text.

Text to display

The classes responsible for the Label are: •

Model: org.csstudio.sds.model.LabelModel Page - 8 -



Controller: LabelEditPart



Figure: RefreshableLabelFigure

Polyline

and Polygon

The Polyline and the Polygon can be used to create figures with a more complex shape. Their shape is determined by a list of points accessible through the “Points”-property. Changing those points affects the width and/or the height of the widget and vice versa. Both widgets have a fill level like the Rectangle or the Ellipse. The Polygon and the Polyline are (besides the Switch) the only widgets, which are fully rotatable.

The custom properties for both widgets are: Category

Name

Type

Values

Description

Position

Points

Point

Behaviour

Value

Double

0,0 – 100,0

The fill level in percent

Display

Rotation Angle

Double

0,0 – 360,0

The angle to rotate the widget

The corner points of the widget

The custom properties for Polyline are: Category

Name

Type

Values

Description

Display

Line Width

Integer

1 – 100

The width of the drawn line

Display

Line Style

Option

Solid, Dot, Dash, DashDot, DashDotDot

The Alignment of the text relative to the widget

The classes responsible for the Polyline are: •

Model: PolylineModel



Controller: PolylineEditPart



Figure: RefreshablePolylineFigure

The classes responsible for the Polygon are: •

Model: PolygonModel



Controller: PolygonEditPart



Figure: RefreshablePolygonFigure

Page - 9 -

Arc The Arc allows the user to draw arcs and segments of circles. The arc starts at an angle of “Start Angle” beginning at the middle of the right side of the widget and runs contraclockwise with the angle of the “Angle” property.

The custom properties are: Category

Name

Type

Values

Description

Display

Transparent Background

Boolean

True, False

If set to True, then only the arc or the segment of a circle is drawn.

Display

Line Width

Integer

Min – Max

The width of the drawn line

Display

Start Angle

Integer

0 – 360

The start angle of the widget

Display

Angle

Integer

0 – 360

The angle of the widget

Display

Fill Color

Color

Display

Filled

Boolean

Color for the “filled” area True, False

If set to true, then segment of the circle is drawn in the “Fill Color”

The classes responsible for the Arc are: •

Model: ArcModel



Controller: ArcEditPart



Figure: RefreshableArcFigure

Waveform

and Strip Chart

The Waveform and the Strip Chart are representing some data of the control system as a graph. Both widgets display every value as a single spot in the coordinate system. The Waveform is able to display four unbound lists of number at the same time. Every value of the four lists is displayed in the graph. So with every refresh the graphs are completely redrawn, without regard to the former values. The Strip Chart has eight different input values. With a rate specified by the “Update interval (seconds)” property the current values of the input properties are appended on the right side of the representation. That way the Strip Chart is able to display the history of the eight input values. If no PV is connected to an input value, then the value won’t change and the representation within the Strip Chart is a flat line.

Page - 10 -

The custom properties for both widgets are: Category

Name

Type

Values

Description

Display

Show Axes

Option

None, XAxes, YAxes, Both

Determines which axes should be displayed

Display

Grid Lines

Option

None, XAxes, YAxes, Both

Determines which grid lines should be displayed

Display

Line Chart

Boolean

True, False

If set to true, then the single points of a function are connected

Display

Plot Color #

Color

The color for the corresponding input data

Display

Grid Line Color

Color

The color for the grid lines

Display

Minimum

Double

Min – Max

The smallest possible value

Display

Maximum

Double

Min – Max

The greatest possible value

Display

Automatic Scaling

Boolean

True, False

If set to True, then Minimum and Maximum are adjusted o the smallest and greatest value in the input lists

Display

Labelled Ticks

Boolean

True, False

If set to True, then value of a tick is also displayed

Display

Graph Line Width

Integer

1 – 100

The width function

Display

Transparent Background

Boolean

True, False

If set to True, then only functions the axes and the grid lines are drawn.

Display

Data Point Drawing Style

Option

Single pixel, Small plus sign, Small square, Diamond

The style how the points of the functions are drawn

of

one

Page - 11 -

Display

Y-Axes scaling

Option

Linear, Logarithmic

Determines the scaling behaviour of the Y-axis

Display

Label

String

The label widget

Display

X-Axis Label

String

The label for X-axis

Display

Y-Axis Label

String

The label for Y-axis

for

the

The custom properties for the Waveform are: Category

Name

Type

Values

Behaviour

Data #

DoubleArray

Description The four input lists of numbers

The custom properties for the Strip Chart are: Category

Name

Type

Values

Description

Behaviour

Value #

Double

Behaviour

X-axis timespan (seconds)

Double

1,0 – Max

Specifies the range of the X axis

Behaviour

Update interval (seconds)

Double

0,1 – 60,0

Specifies the rate for updating the representation

Display

Enable plot #

Boolean

True, False

If set to True the corresponding plot is displayed

The eight input values

The classes responsible for the Waveform are: •

Model: WaveformModel



Controller: WaveformEditPart



Figure: WaveformFigure

The classes responsible for the Strip Chart are: •

Model: StripChartModel



Controller: StripChartEditPart



Figure: StripChartFigure

Page - 12 -

Switch This widget is just a graphical representation of a switch. It is not possible to trigger the real switch with this widget. The Switch provides six different representations by the “Switch Type” property and it is fully rotatable.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Switch Type

Option

Lasttrennschalter, Erdtrenner, Leistungsschalter, Leistungstrennsch alter, Schaltertrennstelle , Trennschalter

The available switch representations

Display

Transparent Background

Boolean

True, False

If set to True, then only functions the axes and the grid lines are drawn.

Display

Switch State

Integer

Min – Max

The state of the switch

Display

Rotation

Integer

0 – 360

The rotation angle

Display

Line Width

Integer

Min – Max

The width of the lines

The classes responsible for the Switch are: •

Model: ImageModel



Controller: ImageEditPart



Figure: RefreshableImageFigure

Image This widget is able to display a picture stored in a .jpg, .jpeg, .png, .bmp or .gif file. With the “Crop …” properties you can crop the picture at the corresponding side.

Page - 13 -

The custom properties are: Category

Name

Type

Values

Description

Image

File

Resource

Every .jpg, .jpeg, .bmp, .png, .gif file

The file of the picture

Image

Crop Top

Integer

Min – Max

The smallest possible value

Image

Crop Bottom

Integer

Min – Max

The greatest possible value

Image

Crop Left

Integer

Min – Max

The step size

Image

Crop Right

Integer

Min – Max

The count of decimal places

Image

Stretch to fit

Boolean

True, False

If set to true, then the picture will be resized to fit the width and height of the widget

The classes responsible for the Image are: •

Model: ImageModel



Controller: ImageEditPart



Figure: RefreshableImageFigure

Sixteen Binary Bar This widget graphically displays the individual bits of a numerical value. For each bit of the value, one box is drawn in either the “on” color if the corresponding bit is zero or the “off” color if the corresponding bit is one. The least significant bit of the value is shown on the left of the widget, the most significant bit on the right. The widget can display up to 32 bits.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Value

Integer

Min – Max

The current value

Behaviour

Bit range

Integer

0 – 31

The index of the least significant bit that is Page - 14 -

(from)

displayed.

Behaviour

Bit range (to)

Integer

0 – 31

The index of the most significant bit that is displayed.

Display

Horizontal Orientation

Boolean

True, False

If set to True, then the bar is filled from left to right. If set to False it is filled from top to bottom.

Display

Show labels

Boolean

True, False

If set to True, the index of the bits is shown in each box.

Display

Label fonts

Font

Display

Internal frame thickness

Integer

Display

On Color

Color

The color used for drawing a box for an “on” bit.

Display

Off Color

Color

The color used for drawing a box for an “off” bit.

Display

Label text color

Color

Color for the text of the labels

Display

Internal Frame Color

Color

Color for the border of every section

The font for the labels Min – Max

The width of the frame drawn around each box.

The classes responsible for the Sixteen Binary Bar are: •

Model: SixteenBinaryBarModel



Controller: SixteenBinaryBarEditPart



Figure: RefreshableSixteenBinaryBarFigure

GroupingContainer A GroupingContainer can be used to combine several Widgets to a group. When the GroupingContainer is moved all contained Widgets are moved in the same way. So the widgets within a GroupingContainer don’t change their position relative to the other widgets of the container. If a WidgetAction is defined for the GroupingContainer, then all of its children will also have this action. When the “Rotation Angle”-property is changed, the children will be rotated relating to the middle of the GroupingContainer, instead of rotating the GroupingContainer itself. If a child is rotatable (Polyline, Polygon, Switch and GroupingContainer) the widget will be rotated to.

Page - 15 -

There are two ways to create a GroupingContainer. Like every other widget, you can choose a GroupingContainer from the palette and create such a widget on the display. After that you can drag or paste widgets into the container to become the children of it. Or you can select several widgets, click with the right mouse button on one of them and then choose “Create a Group” from the menu. A new GroupingContainer will be created and all selected Widgets become the children of the container.

The custom properties are: Category

Name

Type

Values

Description

Display

Transparent Background

Boolean

True, False

If set to True, then only the text is displayed.

Display

Rotation Angle

Double

0,0 – 360,0

The angle to rotate the children of the container

The classes responsible for the GroupingContainer are: •

Model: org.csstudio.sds.model.GroupingContainerModel



Controller: org.csstudio.sds.ui.editparts.GroupingContainerEditPart



Figure: org.csstudio.sds.ui.figures.GroupingContainerFigure

LinkingContainer The LinkingContainer is able to contain a complete SDS display. Which display can be configured via the “Resource” property. All aliases configured for this widget are passed to the contained display.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Resource

Resource

Every .csssds file

The SDS display to show

Display

Automatic Zoom

Boolean

True, False

If set to true, then the contained display will be resized to fit into the Page - 16 -

bounds of the LinkinContainer

The classes responsible for the LinkingContainer are: •

Model: org.csstudio.sds.model.LinkingContainerModel



Controller: org.csstudio.sds.ui.editparts.LinkingContainerEditPart



Figure: org.csstudio.sds.ui.figures.LinkingContainerFigure

Meter (experimental) The meter widget displays a value within a given range on a radial scale. Similar to the bargraph, the HIHI, HI, LO and LOLO boundaries can be displayed in the widget. The current value is indicated by the position of the needle within the widget, and is also displayed below the scale. Note that the meter widget is currently experimental. There are several known problems with this widget.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Boundary HI, HIHI, LO, LOLO, M

Double

Min–Max

The value boundaries.

Behaviour

Decimal places

Integer

0–5

The maximum number of decimal places shown.

Behaviour

Major scale step

Double

Min–Max

The distance of the major tick marks shown on the scale.

Behaviour

Maximum value

Double

Min–Max

The greatest value that can be displayed on the scale.

Behaviour

Minimum value

Double

Min–Max

The lowest value that can be displayed on the scale.

Behaviour

Minor scale step

Double

Min–Max

The distance of the minor tick marks shown on the scale. Page - 17 -

Behaviour

Value

Double

Min–Max

The current value.

Display

Channel Font

Font

The font that is used to display the channel name (on the top of the widget).

Display

Color HI, HIHI, LO, LOLO, M

Color

The color of the respective sections of the scale.

Display

Display angle

Integer

1–359

The angle of the scale.

Display

Inner angle

Integer

1–359

The angle of the scale that is actually used. (??)

Display

Needle color

Color

The color of the needle.

Display

Scale color

Color

The color of the scale.

Display

Scale radius

Double

0–1

Does strange things.

Display

Scale text radius

Double

0–1

Does strange things.

Display

Scale width

Integer

Min–Max

The width of the lines of the scale.

Display

Transparent background

Boolean

True, False

If set to True, the background of the widget is transparent.

Display

Values font

Font

Display

Visible radius

Double

The font used to display the values on the scale. 0–1

Does strange things.

The classes responsible for the Meter are: •

Model: org.csstudio.sds.components.model.MeterModel



Controller: org.csstudio.sds.components.ui.internal.editparts.MeterEditPart



Figure: org.csstudio.sds.components.ui.internal.figures.RefreshableMeterFigure

1.3. Active Widgets Active widgets allow the user to change data, without using the context menu of the widget, They provide some kind of buttons or sliders, so the user is able to click on one of those widgets to change the corresponding data.

TextInput Page - 18 -

The TextInput looks exactly like the Label, but it allows entering a text at runtime. The text can be passed to the underlying control system by attaching an output channel to the “input Text” property.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Input Text

String

Behaviour

Value Type

Option

Text, Double, Alias, Hex

Determines what kind of input is shown. Affects the way the value is displayed.

Behaviour

Decimal Places

Integer

0 - 10

The count of decimal places (only used when the value type is “Double”).

Display

Font

Font

Display

Text Alignment

Option

Center, Top, Bottom, Left, Right

The Alignment of the text relative to the widget

Display

Transparent Background

Boolean

True, False

If set to True, then only the text is displayed.

The entered text

The font for the text.

The classes responsible for the TextInput are: •

Model: TextInputModel



Controller: TextInputEditPart



Figure: RefreshableLabelFigure

Simple Slider The Simple Slider can display a Double or Integer value, but it can also changes the value. If the slider anchor is dragged or the buttons on the left and right side are pressed then the current value changes, if a corresponding input- and output channel is configured.

The custom properties are:

Page - 19 -

Category

Name

Type

Values

Description

Behaviour

Slider Value

Double

Min – Max

The current value of the slider

Behaviour

Min

Double

Min – Max

The smallest possible value

Behaviour

Max

Double

Min – Max

The greatest possible value

Behaviour

Increment

Double

Min – Max

The step size

Behaviour

Decimal Places

Integer

0-5

The count of decimal places

Display

Show value as text

Boolean

True, False

If set to true, then the current value will also be displayed as text above the slider

Display

Horizontal Orientation

Boolean

True, False

If set to True, then the slider is horizontal and vertical otherwise

Display

Slider wide

Integer

0 – Max

The width of the slider anchor

Display

Text Value

String

Text to display

The classes responsible for the Simple Slider are: •

Model: SimpleSliderModel



Controller: SimpleSliderEditPart



Figure: SimpleSliderFigure

Advanced Slider The Advanced Slider is in many cases identical to the Simple Slider. It differs in the graphical representation and its configuration.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Slider Value

Double

Min – Max

The current value of the slider

Behaviour

Min

Double

Min – Max

The smallest possible value

Behaviour

Max

Double

Min – Max

The greatest possible value

Behaviour

Increment

Double

0,001 – 1000,0

The step size

Behaviour

Decimal

Integer

0-5

The count of decimal places Page - 20 -

Places Display

Show value as text

Boolean

True, False

If set to true, then the current value will also be displayed as text above the slider

Display

Orientation

Option

Horizontal, Vertical

If set to Horizontal, then the slider is horizontal, vertical otherwise

The classes responsible for the Advanced Slider are: •

Model: AdvancedSliderModel



Controller: AdvancedSliderEditPart



Figure: AdvancedSliderFigure

ActionButton The ActionButton is able to execute an action when the user presses the button and when the button is released. To do this, the ActionButton contains three properties. One ActionData-Property and two indices one for pressed and one for released. The indices indicate which action from the ActionData should be executed. When an index is –1 no action is executed when the corresponding change of state occurs. E.g.: If the “pressed”index is –1 and the “released”-index is 0, than no action will be executed if the user presses the button and holds it down. When the button is released the first action from the ActionData will be performed. If just one WidgetAction is defined, than this action will be executed, except for the corresponding index is greater than –1. The ActionButton can be also used as a toggle button. To enable this behaviour, the “Toggle Button”-property must be checked. If the ActionButton is disabled, that’s when the “Enabled”-property is not checked, then the button couldn’t be pressed and no actions are executed.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Action Index (released)

Integer

-1 – Max

The index of the action, which should be executed when the button is released. -1 means no action

Behaviour

Action Index (pressed)

Integer

-1 – Max

The index of the action, which should be executed when the button is pressed. Page - 21 -

-1 means no action Behaviour

Toggle Button

Boolean

True, False

Display

Text Label

String

Text for the button

Display

Font

Font

The font for the text.

Display

Text Alignment

Option

Center, Top, Bottom, Left, Right

If set to true, the button has the behaviour of a toggle button

The Alignment of the text relative to the widget

The ActionButton has no border properties. The classes responsible for the ActionButton are: •

Model: ActionButtonModel



Controller: ActionButtonEditPart



Figure: RefreshableActionButtonFigure

MenuButton Like the ActionButton the MenuButton can execute actions. But instead of executing the action automatically when the user hits the button, a menu appears to allow the user to choose which action should be performed. If the MenuButton should display the latest sent value an input channel must be configured on the “Label Text”-property. The input channel must be the same as the output channel of the “Action Data”-property. In this way the MenuButton will display the current value and the label will be updated every time the data of the configured channel changes (e.g. when a COMMIT_VALUE-action of the MenuButton is executed). If the MenuButton is disabled the button couldn’t be pressed and the menu won’t appear.

The custom properties are: Category

Name

Type

Display

Font

Font

Display

Text Alignment

Option

Values

Description The font for the text.

Center, Top, Bottom, Left,

The Alignment of the text relative to the Page - 22 -

Right Display

Text Value

String

widget Text to display

The classes responsible for the MenuButton are: •

Model: MenuButtonModel



Controller: MenuButtonEditPart



Figure: RefreshableLabelFigure

Thumb Wheel The Thumb Wheel displays a decimal value. Each digit of the displayed value can be manipulated directly by using the up and down buttons displayed above and below each digit.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Value

Double

Min – Max

The current value

Behaviour

Min

Double

Min – Max

The lowest possible value

Behaviour

Max

Double

Min – Max

The greatest possible value

Behaviour

Integer Digits

Integer

Min – Max

Count of digits to the left of the decimal point

Behaviour

Decimal Digits

Integer

Min – Max

Count of digits to the right of the decimal point

Display

Wheel Fonts

Font

Font for the wheel

Display

Internal frame color

Color

Color of the separators for the digits

The classes responsible for the Thumb Wheel are: •

Model: ThumbWheelModel



Controller: ThumbWheelEditPart



Figure: RefreshableThumbWheelFigure

Page - 23 -

Timer The Timer is not really an “active” widget, because the user can’t trigger an action by the graphical representation. But the widget itself can execute a script (which can change data) specified in the “Script”-property every time the given delay has passed. That is the reason why the Timer is considered as an “active” widget. Because the widget just shows how long it takes until the configured script is executed again, it is configured as invisible in many cases. So the size-, the position- and the layer-properties of the Timer are removed. It starts, when the Timer is enabled, a script specified in the “Script”-property every time the given delay has passed.

The custom properties are: Category

Name

Type

Values

Description

Behaviour

Script

Resource

Every .csssdss file

The script to execute

Behaviour

Delay (in ms)

Integer

0 – Max

The delay for the script

Because the Timer is hidden in most cases, all Display properties (X-coordinate, Ycoordinate, Width, Height, Border, Visibility …) are removed. The classes responsible for the Timer are: •

Model: TimerModel



Controller: TimerEditPart



Figure: RefreshableTimerFigure

Page - 24 -