From 8678bca99e7080679dc386e38935c015959b8d16 Mon Sep 17 00:00:00 2001 From: David Hammer <dhammer@mailbox.org> Date: Fri, 20 Sep 2024 14:16:44 +0200 Subject: [PATCH] Add cool scene --- src/calng/scenes.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/calng/scenes.py b/src/calng/scenes.py index 6a889481..8db15b49 100644 --- a/src/calng/scenes.py +++ b/src/calng/scenes.py @@ -342,7 +342,7 @@ class CompactDeviceLinkList(VerticalLayout): @titled("Assembler status", width=8 * NARROW_INC) @boxed class AssemblerDeviceStatus(VerticalLayout): - def __init__(self, device_id): + def __init__(self, device_id, geometry_device_id): super().__init__(padding=0) name = DisplayLabelModel( keys=[f"{device_id}.deviceId"], @@ -396,11 +396,29 @@ class AssemblerDeviceStatus(VerticalLayout): width=14 * BASE_INC, height=BASE_INC, ), - DisplayLabelModel( - keys=[f"{device_id}.geometryDevice"], + # note: link based on current value when generating + DeviceSceneLinkModel( + text=geometry_device_id, + keys=[f"{geometry_device_id}.availableScenes"], + target="overview", + target_window=SceneTargetWindow.Dialog, width=14 * BASE_INC, height=BASE_INC, - ), # TODO: some day, get dynamic link to this friend + ), + HorizontalLayout( + LabelModel( + text="My geometry:", + width=7 * BASE_INC, + height=BASE_INC, + ), + DisplayStateColorModel( + show_string=True, + keys=[f"{device_id}.geometryState"], + width=7 * BASE_INC, + height=BASE_INC, + ), + padding=0, + ), ] ) @@ -1095,11 +1113,11 @@ def correction_constant_dashboard( @scene_generator -def detector_assembler_overview(device_id, schema): +def detector_assembler_overview(device_id, schema, geometry_device_id): schema_hash = schema_to_hash(schema) return VerticalLayout( HorizontalLayout( - AssemblerDeviceStatus(device_id), + AssemblerDeviceStatus(device_id, geometry_device_id), PreviewSettings(device_id, schema_hash, "preview.assembled"), ), PreviewDisplayArea( -- GitLab