Parameter system

The BasicManager parameter-manager system: maps experiment properties to numeric, boolean, combo and frequency controls.

Overview

quatm/GUI/entries/dashboard.py provides a family of “parameter manager” controls: each manager maps one experiment parameter (stored in the property database, always in SI units internally) to a labelled input control, and synchronises bidirectionally between the interface and the property database.

Control class hierarchy

BasicManager (base class of numeric parameter entries)
├── IntManager        → integer spin box
├── FloatManager      → float spin box (optional unit/step/decimals)
├── BoolManager       → check box
├── ComboManager      → drop-down box (string list)
└── FrequencyManager  → DDS frequency spin box (stores Hz, shows MHz)

Usage (schematic)

from quatm.GUI.entries.dashboard import IntManager, FloatManager, BoolManager

# each manager binds the property store props and the experiment exp, reading/writing by parameter name
mgr = IntManager(props=props, exp=exp, parname="my_int")
fmgr = FloatManager(props=props, exp=exp, parName="cooling_time", unit="µs")
bmgr = BoolManager(props=props, exp=exp, parName="enable")

Changes made in the interface are converted to SI and written back to the property database; changes in the property database are likewise synchronised to the displayed values periodically by each control (updateValue / updateSpin).

See also “Experiment parameter panel”: on this basis the Dashboard main panel arranges the parameters of a whole device into an adjustable control panel.