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
Dashboardmain panel arranges the parameters of a whole device into an adjustable control panel.