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:
@ -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 |
@ -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):
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"files": ["device_combobox.py"]
|
||||||
|
}
|
@ -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"
|
@ -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())
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
from .device_combobox.device_combobox import DeviceComboBox
|
|
||||||
from .device_line_edit.device_line_edit import DeviceLineEdit
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"files": ["device_combobox.py", "launch_device_combobox.py",
|
|
||||||
]
|
|
||||||
}
|
|
@ -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_())
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"files": ["device_line_edit.py", "launch_device_line_edit.py",
|
|
||||||
]
|
|
||||||
}
|
|
@ -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_())
|
|
0
bec_widgets/widgets/device_line_edit/__init__.py
Normal file
0
bec_widgets/widgets/device_line_edit/__init__.py
Normal file
BIN
bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png
Normal file
BIN
bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
@ -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):
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"files": ["device_line_edit.py"]
|
||||||
|
}
|
@ -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"
|
@ -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())
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user