cut 3.3.0
Loading...
Searching...
No Matches
Control UI Toolkit

CUT is a UI toolkit that offers declarative databindings tailored for the ELT Control System. It uses Python as language, Qt as graphical toolkit, and Taurus as model access.

A developer may quickly create GUIs that connects to the ELT Control System. URIs are used to identify datapoints, and the multiple widgets provided allows to access them and present them using their metadata.

The Control UI Toolkit provides:

Later deliverables will include:

  • PySide Widgets support for Qt Designer.
  • Taurus Plugin to access MAL interfaces.
  • Dialogs
  • Searchable UI Elements
  • Help System Examples

Use

Control UI Toolkit is based on Taurus. Taurus is an MVC based solution for UI development. Taurus can be used in code:

#!/usr/bin/env python3
import sys
from taurus.external.qt.QtWidgets import QWidget
from taurus.external.qt.QtWidgets import QHBoxLayout
from taurus.qt.qtgui.application import TaurusApplication
from taurus.qt.qtgui.display import TaurusLabel
app = TaurusApplication()
panel = QWidget()
layout = QHBoxLayout()
panel.setLayout(layout)
w1, w2 = TaurusLabel(panel), TaurusLabel(panel)
layout.addWidget(w1)
layout.addWidget(w2)
w1.model = 'cii.oldb:///cut/demoservice/instance1/boolean-scalar-twosecs'
w2.model = 'cii.oldb:///cut/demoservice/instance1/strings/string-scalar-timestamp'
panel.show()
sys.exit(app.exec_())

or as a standalone application:

taurus form 'cii.oldb:///cut/demoservice/instance1/boolean-scalar-twosecs' 'cii.oldb:///cut/demoservice/instance1/strings/string-scalar-timestamp'

Documentation

  • CUT User Manual: A complete guide for the development of UIs for the ELT. It contains information for beginner and more advanced topics. HTML
  • CUT Introduction Video: A live explanation of the "Beginners Tutorials" (contained in the User Manual) was done for the CUT Workshop. You can see the video here. IMPORTANT: OneDrive/Stream does not allow external (to ESO) sharing for more than 90 days. Please contact Arturo Hoffstadt in case you need access from outside.
  • CUT Python Application Tutorial: A live explanation of the "Python Application Tutorial" (contained in the User Manual) was done for the CUT Workshop
  • API: Details on the CUT API. latest, V1.2.0
  • Control UI Guidelines: This document gives general guidelines on the design of Graphical Applications for the ELT and Control Software of ESO. PDM
  • Publications: "Taurus integration to ELT control software " SPIE 2024 DOI

Templates

A template based on the PythonApplication example is available at Templates.

A Widget Library Template is also available for developers who want to create new widgets.