From 4869c69a3d65015f3a76fd1ddfeec26ccbadb07b Mon Sep 17 00:00:00 2001 From: David Hammer <dhammer@mailbox.org> Date: Tue, 24 Sep 2024 11:28:10 +0200 Subject: [PATCH] Fix: allow assembler scene without geometry (GH2) --- src/calng/scenes.py | 57 ++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/src/calng/scenes.py b/src/calng/scenes.py index 8db15b49..6dd86d02 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, geometry_device_id): + def __init__(self, device_id, geometry_device_id=None): super().__init__(padding=0) name = DisplayLabelModel( keys=[f"{device_id}.deviceId"], @@ -391,36 +391,41 @@ class AssemblerDeviceStatus(VerticalLayout): width=14 * BASE_INC, height=BASE_INC, ), - LabelModel( - text="My geometry device:", - width=14 * BASE_INC, - height=BASE_INC, - ), - # 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, - ), - HorizontalLayout( + ] + ) + if geometry_device_id: + self.children.extend( + [ LabelModel( - text="My geometry:", - width=7 * BASE_INC, + text="My geometry device:", + width=14 * BASE_INC, height=BASE_INC, ), - DisplayStateColorModel( - show_string=True, - keys=[f"{device_id}.geometryState"], - width=7 * BASE_INC, + # 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, ), - padding=0, - ), - ] - ) + 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, + ), + ] + ) @titled("Device status", width=8 * NARROW_INC) -- GitLab