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:

  1. 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.

  2. 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 @dataclass that constructs OLDB paths from a dcs_db_prefix and optional identifiers, paired with each widget.

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 QWidget and Logger, uses facades from ConnectionManager, binds Taurus labels, and provides remove_bgrole().