mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
fix: check device class without importing to speed up initial import time
This commit is contained in:
@ -12,15 +12,16 @@ import uuid
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from bec_lib.device import DeviceBase
|
|
||||||
from bec_lib.endpoints import MessageEndpoints
|
from bec_lib.endpoints import MessageEndpoints
|
||||||
from bec_lib.service_config import ServiceConfig
|
from bec_lib.service_config import ServiceConfig
|
||||||
from bec_lib.utils.import_utils import lazy_import, lazy_import_from
|
from bec_lib.utils.import_utils import isinstance_based_on_class_name, lazy_import, lazy_import_from
|
||||||
from qtpy.QtCore import QCoreApplication
|
from qtpy.QtCore import QCoreApplication
|
||||||
|
|
||||||
import bec_widgets.cli.client as client
|
import bec_widgets.cli.client as client
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
from bec_lib.device import DeviceBase
|
||||||
|
|
||||||
from bec_widgets.cli.client import BECDockArea, BECFigure
|
from bec_widgets.cli.client import BECDockArea, BECFigure
|
||||||
|
|
||||||
messages = lazy_import("bec_lib.messages")
|
messages = lazy_import("bec_lib.messages")
|
||||||
@ -85,7 +86,7 @@ class BECGuiClientMixin:
|
|||||||
|
|
||||||
@selected_device.setter
|
@selected_device.setter
|
||||||
def selected_device(self, device: str | DeviceBase):
|
def selected_device(self, device: str | DeviceBase):
|
||||||
if isinstance(device, DeviceBase):
|
if isinstance_based_on_class_name(device, "bec_lib.device.DeviceBase"):
|
||||||
self._selected_device = device.name
|
self._selected_device = device.name
|
||||||
elif isinstance(device, str):
|
elif isinstance(device, str):
|
||||||
self._selected_device = device
|
self._selected_device = device
|
||||||
|
Reference in New Issue
Block a user