artiq/artiq/master
David Nadlinger 32db6ff978
Allow experiments to specify a custom argument editor UI (#1916)
On the master/EnvExperiment side, the only addition is an optional
property `argument_ui` that is made accessible to the dashboard, e.g.

    class Example(EnvExperiment):
        argument_ui = "ndscan"
        def build(self):
           …

Clients – primarily artiq_dashboard, but in principle e.g. a
command-line UI could do the same – can then compare the value to a
list of well-known names and prefer any matching custom UI handlers.

On the dashboard side, this commit adds the mechanism to register
a custom argument editor for a given argument_ui string, i.e. the
widget that displays the parameter values within the wider
experiment UI shell with the submit button, pipeline parameters, and
so on. The registry remains empty by default and would be filled by
out-of-tree plugins such as ndscan.

The UI state readback is implemented somewhat defensively to avoid
needless disruptions to users when upgrading.
2022-06-18 15:55:13 +08:00
..
__init__.py separate master modules 2015-01-14 12:16:49 +08:00
databases.py Revert "Merge pull request #1544 from airwoodix/dataset-compression" (#1838) 2022-01-25 10:02:15 +08:00
experiments.py Allow experiments to specify a custom argument editor UI (#1916) 2022-06-18 15:55:13 +08:00
log.py use sipyco (#585) 2019-11-10 15:55:17 +08:00
rid_counter.py master: Factor RIDCounter out into own module, explain worker_db module [nfc] 2018-10-14 10:41:32 +08:00
scheduler.py add log_tuples function (#1896) 2022-06-06 18:41:46 +08:00
worker.py support submitting experiments by content 2022-03-20 12:58:55 +08:00
worker_db.py Revert "Merge pull request #1544 from airwoodix/dataset-compression" (#1838) 2022-01-25 10:02:15 +08:00
worker_impl.py Allow experiments to specify a custom argument editor UI (#1916) 2022-06-18 15:55:13 +08:00