1. Introduction
The IFW Widget Library (ifw-wdglib) is a PySide6-based collection of reusable Qt widgets and MAL communication facades. It is designed to help developers create GUI panels for CCF based system monitoring and control within the ESO ELT Instrumentation Framework (IFW).
1.1. Purpose
The purpose of this library is to provide a set of ready-to-use components for building instrument control GUI panels. It provides two layers of functionality:
Communication Facades – Python wrappers around MAL (CII Middleware Abstraction Layer) interfaces, managed through a singleton
ConnectionManager. These facades handle connection lifecycle, asynchronous command execution, and signal-based result/error reporting.Widgets – Ready-to-use PySide6 widgets that bind to OLDB (Online Database) data points via Taurus. Each widget encapsulates the communication facades it needs, the OLDB paths it monitors, and the UI logic for display and interaction.
1.2. Scope
This documentation is intended for developers building GUI panels that interact with ELT subsystems. It assumes familiarity with:
Basic Qt/PySide6 concepts (signals, slots, layouts)
The ELT MAL protocol and interface concepts
OLDB (Online Database) and Taurus data point binding
The library is built on top of the ELT Control GUI Toolkit (CUT), a suite of libraries and tools for developing ELT GUIs using Qt and Taurus. This manual does not cover CUT in detail; see the ELT Control GUI Toolkit document for more information.
1.3. Disclaimer
The IFW Widget Library is a product which is still under development. It is expected that modifications will be introduced in future releases, which may not be backwards compatible. Moreover, some features have not yet been fully implemented.
1.4. Acronyms
Acronym |
Description |
|---|---|
ALICE |
smaAL vIsible CamEra |
CCF |
ELT ICS Camera Control Framework |
CII |
Core Integration Infrastructure |
CUT |
Control UI Toolkit |
DCS |
Detector Control System |
DCS IF |
Detector Control System Interface |
DDT |
Data Display Tool |
ELT |
Extremely Large Telescope |
FCF |
ELT ICS Function Control Framework |
ICS |
Instrument Control Software |
LISA |
Large vISible cAmera |
MAL |
CII Middleware Abstraction Layer |
NGC |
New General Detector Controller |
OCM |
Observation Coordination Manager |
OCS |
Observation Coordination System |
OLDB |
Online Database |
QSS |
Qt Style Sheet |
REC |
Data Recorder |
REC IF |
Data Recorder Interface |
RTMS |
Real-Time MUDPI Stream protocol |
STD |
Standard Interface |
STD IF |
Standard Interface |
1.5. Nomenclature
Term |
Description |
|---|---|
ConnectionManager |
Thread-safe singleton that creates and caches facade instances by MAL URI, ensuring shared connection state across the application. |
Facade |
Python wrapper around a MAL interface that manages connection lifecycle, asynchronous command execution, and signal-based result/error delivery. |
OLDB Paths Dataclass |
Frozen |
QSS Theme |
Pre-built Qt Style Sheet providing consistent appearance across all widgets, including ESO-specific dynamic styling rules. |
Taurus Label |
Display widget that binds to an OLDB data point for read-only value display, with automatic quality-based coloring. |
Widget Base Pattern |
Common architecture shared by all widgets: inherits from |