
A Widget is a special "sub-application" with a graphical user interface (GUI) consisting of a number of graphical components, such as text fields, charts, etc. Widgets are good for building
custom forms and
Human-Machine Interfaces (HMI). These forms and interfaces may be used to control, configure and monitor different hardware devices or system components. Widgets may grouped into a
dashboard.
Widget components are tied to server and device data using
data bindings. Bindings may also tie components together and define different expression-based data conversion patterns. Bindings may be activated:
- During widget startup.
- Upon some server-side event, e.g. when new device data arrives.
- Upon widget component event, e.g. button click.
- Periodically.
Scripts written in Java may be combined into the widget template, in case some data processing task cannot be performed using expressions.
Widgets may include a number of different components:
Labels- Text and Password Fields
- Text Areas
- Buttons and Toggle Buttons
- Combo Boxes
- Lists
- Check Boxes and Radio Buttons
- Sliders and Spinners
- Progress Bars
- Tables
- Images
- Dynamic Vector Drawings
- Charts
- Gauges, Meters
These components may be grouped in various containers:
- Panels
- Tabbed Panels
- Split Panels
- Layered Panels
Containers support two layouts:
- Grid layout that auto-aligns components according to their size. It is especially good for building forms.
- Absolute layout with strictly defined component positions and sizes. This layout is useful for building SCADA-like custom screens, maps, plans etc.
Containers with different layouts may be combined within one widget to build complex interfaces.
|
GUI Builder
|
GUI Builder
Widgets are created in the GUI Builder, which is a part of AggreGate Client. It’s a graphical editor for widgets. It doesn't require any programming knowledge, and lets you easily:
- Add, move and resize components.
- Edit widget layout.
- Bind server data to widget components.
- Edit component properties and data bindings.
Widget may be launched at any time directly from the GUI Builder. Even in such test mode, they may operate with real server and device data.