0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 11:41:49 +02:00

refactor(device_input): DeviceComboBox and DeviceLineEdit moved to top layer of widgets

This commit is contained in:
2024-07-07 11:39:03 +02:00
parent f5b8375fd3
commit f04862933f
24 changed files with 32 additions and 53 deletions

View File

@ -25,6 +25,7 @@ class DeviceInputBase(BECConnector):
super().__init__(client=client, config=config, gui_id=gui_id) super().__init__(client=client, config=config, gui_id=gui_id)
self.get_bec_shortcuts() self.get_bec_shortcuts()
self._device_filter = None
self._devices = [] self._devices = []
@property @property
@ -56,6 +57,7 @@ class DeviceInputBase(BECConnector):
""" """
self.validate_device_filter(device_filter) self.validate_device_filter(device_filter)
self.config.device_filter = device_filter self.config.device_filter = device_filter
self._device_filter = device_filter
def set_default_device(self, default_device: str): def set_default_device(self, default_device: str):
""" """

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -2,10 +2,10 @@ from typing import TYPE_CHECKING
from qtpy.QtWidgets import QComboBox from qtpy.QtWidgets import QComboBox
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase, DeviceInputConfig from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase, DeviceInputConfig
if TYPE_CHECKING: if TYPE_CHECKING:
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputConfig from bec_widgets.widgets.base_classes.device_input_base import DeviceInputConfig
class DeviceComboBox(DeviceInputBase, QComboBox): class DeviceComboBox(DeviceInputBase, QComboBox):

View File

@ -0,0 +1,3 @@
{
"files": ["device_combobox.py"]
}

View File

@ -1,10 +1,11 @@
# Copyright (C) 2022 The Qt Company Ltd. # Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import os
from qtpy.QtDesigner import QDesignerCustomWidgetInterface from qtpy.QtDesigner import QDesignerCustomWidgetInterface
from qtpy.QtGui import QIcon from qtpy.QtGui import QIcon
from bec_widgets.widgets.device_inputs import DeviceComboBox from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
DOM_XML = """ DOM_XML = """
<ui language='c++'> <ui language='c++'>
@ -27,10 +28,12 @@ class DeviceComboBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
return DOM_XML return DOM_XML
def group(self): def group(self):
return "" return "BEC Device Inputs"
def icon(self): def icon(self):
return QIcon() current_path = os.path.dirname(__file__)
icon_path = os.path.join(current_path, "assets", "device_combobox_icon.png")
return QIcon(icon_path)
def includeFile(self): def includeFile(self):
return "device_combobox" return "device_combobox"

View File

@ -6,9 +6,7 @@ def main(): # pragma: no cover
return return
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
from bec_widgets.widgets.device_inputs.device_combobox.device_combobox_plugin import ( from bec_widgets.widgets.device_combobox.device_combobox_plugin import DeviceComboBoxPlugin
DeviceComboBoxPlugin,
)
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceComboBoxPlugin()) QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceComboBoxPlugin())

View File

@ -1,2 +0,0 @@
from .device_combobox.device_combobox import DeviceComboBox
from .device_line_edit.device_line_edit import DeviceLineEdit

View File

@ -1,4 +0,0 @@
{
"files": ["device_combobox.py", "launch_device_combobox.py",
]
}

View File

@ -1,11 +0,0 @@
from bec_widgets.widgets.device_inputs import DeviceComboBox
if __name__ == "__main__": # pragma: no cover
import sys
from qtpy.QtWidgets import QApplication
app = QApplication(sys.argv)
w = DeviceComboBox()
w.show()
sys.exit(app.exec_())

View File

@ -1,4 +0,0 @@
{
"files": ["device_line_edit.py", "launch_device_line_edit.py",
]
}

View File

@ -1,11 +0,0 @@
from bec_widgets.widgets.device_inputs import DeviceLineEdit
if __name__ == "__main__": # pragma: no cover
import sys
from qtpy.QtWidgets import QApplication
app = QApplication(sys.argv)
w = DeviceLineEdit()
w.show()
sys.exit(app.exec_())

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -3,10 +3,10 @@ from typing import TYPE_CHECKING
from qtpy.QtCore import QSize from qtpy.QtCore import QSize
from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase, DeviceInputConfig from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase, DeviceInputConfig
if TYPE_CHECKING: if TYPE_CHECKING:
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputConfig from bec_widgets.widgets.base_classes.device_input_base import DeviceInputConfig
class DeviceLineEdit(DeviceInputBase, QLineEdit): class DeviceLineEdit(DeviceInputBase, QLineEdit):

View File

@ -0,0 +1,3 @@
{
"files": ["device_line_edit.py"]
}

View File

@ -1,10 +1,11 @@
# Copyright (C) 2022 The Qt Company Ltd. # Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import os
from qtpy.QtDesigner import QDesignerCustomWidgetInterface from qtpy.QtDesigner import QDesignerCustomWidgetInterface
from qtpy.QtGui import QIcon from qtpy.QtGui import QIcon
from bec_widgets.widgets.device_inputs import DeviceLineEdit from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
DOM_XML = """ DOM_XML = """
<ui language='c++'> <ui language='c++'>
@ -27,10 +28,12 @@ class DeviceLineEditPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
return DOM_XML return DOM_XML
def group(self): def group(self):
return "" return "BEC Device Inputs"
def icon(self): def icon(self):
return QIcon() current_path = os.path.dirname(__file__)
icon_path = os.path.join(current_path, "assets", "line_edit_icon.png")
return QIcon(icon_path)
def includeFile(self): def includeFile(self):
return "device_line_edit" return "device_line_edit"

View File

@ -6,9 +6,7 @@ def main(): # pragma: no cover
return return
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit_plugin import ( from bec_widgets.widgets.device_line_edit.device_line_edit_plugin import DeviceLineEditPlugin
DeviceLineEditPlugin,
)
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceLineEditPlugin()) QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceLineEditPlugin())

View File

@ -4,7 +4,7 @@ from qtpy.QtCore import QSize
from qtpy.QtGui import QAction, QIcon from qtpy.QtGui import QAction, QIcon
from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
from bec_widgets.widgets.device_inputs import DeviceComboBox from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
from bec_widgets.widgets.toolbar.toolbar import ToolBarAction from bec_widgets.widgets.toolbar.toolbar import ToolBarAction

View File

@ -12,7 +12,7 @@ from qtpy.QtWidgets import (
) )
from bec_widgets.utils.widget_io import WidgetIO from bec_widgets.utils.widget_io import WidgetIO
from bec_widgets.widgets.device_inputs import DeviceLineEdit from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
class ScanArgType: class ScanArgType:

View File

@ -1,6 +1,6 @@
import pytest import pytest
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase
from .client_mocks import mocked_client from .client_mocks import mocked_client

View File

@ -1,7 +1,7 @@
import pytest import pytest
from bec_widgets.widgets.device_inputs.device_combobox.device_combobox import DeviceComboBox from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit import DeviceLineEdit from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
from .client_mocks import mocked_client from .client_mocks import mocked_client

View File

@ -3,6 +3,7 @@
import pytest import pytest
from bec_widgets.widgets.stop_button.stop_button import StopButton from bec_widgets.widgets.stop_button.stop_button import StopButton
from .client_mocks import mocked_client from .client_mocks import mocked_client