diff --git a/src/calng/scenes.py b/src/calng/scenes.py index 8db15b4919563054e0e01b948e6235a7bda89400..6dd86d020004f2a8ac49edada91686466a34d9ee 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)