diff --git a/bec_widgets/utils/rpc_server.py b/bec_widgets/utils/rpc_server.py index cb419c00..0db34b0b 100644 --- a/bec_widgets/utils/rpc_server.py +++ b/bec_widgets/utils/rpc_server.py @@ -216,10 +216,14 @@ class RPCServer: while not self.rpc_register.object_is_registered(connector): QApplication.processEvents() + widget_class = getattr(connector, "rpc_widget_class", None) + if not widget_class: + widget_class = connector.__class__.__name__ + return { "gui_id": connector.gui_id, "object_name": connector.object_name or connector.__class__.__name__, - "widget_class": connector.__class__.__name__, + "widget_class": widget_class, "config": config_dict, "__rpc__": True, } diff --git a/bec_widgets/widgets/containers/auto_update/auto_updates.py b/bec_widgets/widgets/containers/auto_update/auto_updates.py index 6269e596..ce604044 100644 --- a/bec_widgets/widgets/containers/auto_update/auto_updates.py +++ b/bec_widgets/widgets/containers/auto_update/auto_updates.py @@ -28,6 +28,9 @@ class AutoUpdates(BECMainWindow): USER_ACCESS = ["enabled", "enabled.setter", "selected_device", "selected_device.setter"] RPC = True + # enforce that subclasses have the same rpc widget class + rpc_widget_class = "AutoUpdates" + def __init__( self, parent=None, gui_id: str = None, window_title="Auto Update", *args, **kwargs ):