Internet of Things Integration Platform
Remote Monitoring, M2M and Device Management Software Platform
AggreGate Platform

Widgets and GUI Builder

A widget is a special "sub-application" with a graphical user interface (GUI) consisting of user interface components, such as text fields, charts, etc. Widgets are good for building custom data entry forms, charts and trends, dynamic maps 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 be grouped into a dashboard to act as a custom operator interface.

Widget components are tied to server and device data using data bindings. Bindings may also link components together and define different expression-based data conversion patterns. Bindings may be activated:

  • During widget startup
  • Upon server-side event or state change, e.g. when new device data arrives
  • Upon widget component event or state change, e.g. button click
  • Periodically

Scripts written in Java may be inserted into a widget if some data processing task cannot be performed using expressions.

Widgets may include many different components:

  • Text and Password Fields
  • Text and HTML Areas
  • Buttons and Toggle Buttons
  • Combo Boxes
  • Lists
  • Check Boxes and Radio Buttons
  • Sliders and Spinners
  • Date and Time Pickers
  • Progress Bars
  • Tables
  • Raster Images
  • Dynamic Vector Drawings
  • Charts
  • Dynamic Maps (roadmap/terrain/satellite)
  • Event Logs
  • System Trees
  • Gauges, Meters and LED Displays
  • Video Players
  • Topology Graphs

These components may be grouped in various containers:

  • Panels
  • Tabbed Panels
  • Split Panels
  • Layered Panels
  • Subwidgets
  • Popup Menus

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 HMI-style custom screens, maps, plans, etc.

Containers with different layouts may be combined within one widget to build complex interfaces.

Widget UI components have thousands of editable properties. Some of them are shared between several component types, other are component-specific. Common properties include visibility, sizes, borders, fonts, colors, strokes, cursors, tooltips, focus properties, and more.