From 30294337409025cbe1567bd7948f9eb03f9f54eb Mon Sep 17 00:00:00 2001 From: appel_c Date: Tue, 4 Mar 2025 15:57:23 +0100 Subject: [PATCH] fix: remove patching of BECDockArea on client --- bec_widgets/cli/client_utils.py | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/bec_widgets/cli/client_utils.py b/bec_widgets/cli/client_utils.py index 00ae0b9b..1d57bf34 100644 --- a/bec_widgets/cli/client_utils.py +++ b/bec_widgets/cli/client_utils.py @@ -17,6 +17,7 @@ from bec_lib.utils.import_utils import isinstance_based_on_class_name, lazy_impo import bec_widgets.cli.client as client from bec_widgets.cli.auto_updates import AutoUpdates +from bec_widgets.cli.client import BECDockArea from bec_widgets.cli.rpc.rpc_base import RPCBase if TYPE_CHECKING: @@ -148,30 +149,6 @@ def wait_for_server(client): yield -### ---------------------------- -### NOTE -### it is far easier to extend the 'delete' method on the client side, -### to know when the client is deleted, rather than listening to server -### to get notified. However, 'generate_cli.py' cannot add extra stuff -### in the generated client module. So, here a class with the same name -### is created, and client module is patched. -class BECDockArea(client.BECDockArea): - # FIXME fix the delete method - def delete(self): - if self is BECGuiClient._top_level["bec"]: - raise RuntimeError("Cannot delete bec window") - super().delete_all() - try: - del BECGuiClient._top_level[self._gui_id] - except KeyError: - # if a dock area is not at top level - pass - - -client.BECDockArea = BECDockArea -### ---------------------------- - - class BECGuiClient(RPCBase): _top_level = {}