mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
refactor(widgets): widget module structure reorganised
This commit is contained in:
@ -5,36 +5,23 @@ It is a preliminary version of the GUI, which will be added to the main branch a
|
|||||||
import os
|
import os
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from bec_lib.device import Positioner as BECPositioner
|
|
||||||
from bec_lib.device import Signal as BECSignal
|
from bec_lib.device import Signal as BECSignal
|
||||||
from bec_lib.endpoints import MessageEndpoints
|
from bec_lib.endpoints import MessageEndpoints
|
||||||
from bec_lib.logger import bec_logger
|
from bec_lib.logger import bec_logger
|
||||||
from qtpy.QtCore import QSize, Signal
|
from qtpy.QtCore import QSize
|
||||||
from qtpy.QtGui import QIcon
|
from qtpy.QtGui import QIcon
|
||||||
from qtpy.QtWidgets import (
|
from qtpy.QtWidgets import QApplication
|
||||||
QApplication,
|
|
||||||
QCheckBox,
|
|
||||||
QDoubleSpinBox,
|
|
||||||
QMainWindow,
|
|
||||||
QPushButton,
|
|
||||||
QSpinBox,
|
|
||||||
)
|
|
||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
||||||
from bec_widgets.qt_utils.toolbar import WidgetAction
|
|
||||||
from bec_widgets.utils import UILoader
|
from bec_widgets.utils import UILoader
|
||||||
from bec_widgets.utils.bec_dispatcher import BECDispatcher
|
from bec_widgets.utils.bec_dispatcher import BECDispatcher
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
|
||||||
from bec_widgets.utils.colors import get_accent_colors
|
from bec_widgets.utils.colors import get_accent_colors
|
||||||
from bec_widgets.widgets.bec_progressbar.bec_progressbar import BECProgressBar
|
from bec_widgets.widgets.control.buttons.stop_button.stop_button import StopButton
|
||||||
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
|
from bec_widgets.widgets.control.device_control.positioner_group import PositionerGroup
|
||||||
from bec_widgets.widgets.lmfit_dialog.lmfit_dialog import LMFitDialog
|
from bec_widgets.widgets.dap.lmfit_dialog import LMFitDialog
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
from bec_widgets.widgets.plots.waveform import BECWaveformWidget
|
||||||
from bec_widgets.widgets.positioner_group.positioner_group import PositionerGroup
|
from bec_widgets.widgets.progress.bec_progressbar.bec_progressbar import BECProgressBar
|
||||||
from bec_widgets.widgets.stop_button.stop_button import StopButton
|
|
||||||
from bec_widgets.widgets.toggle.toggle import ToggleSwitch
|
|
||||||
from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
|
|
||||||
|
|
||||||
MODULE_PATH = os.path.dirname(bec_widgets.__file__)
|
MODULE_PATH = os.path.dirname(bec_widgets.__file__)
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
@ -15,39 +15,6 @@ class Widgets(str, enum.Enum):
|
|||||||
Enum for the available widgets.
|
Enum for the available widgets.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
AbortButton = "AbortButton"
|
|
||||||
BECColorMapWidget = "BECColorMapWidget"
|
|
||||||
BECDock = "BECDock"
|
|
||||||
BECDockArea = "BECDockArea"
|
|
||||||
BECFigure = "BECFigure"
|
|
||||||
BECImageWidget = "BECImageWidget"
|
|
||||||
BECMotorMapWidget = "BECMotorMapWidget"
|
|
||||||
BECMultiWaveformWidget = "BECMultiWaveformWidget"
|
|
||||||
BECProgressBar = "BECProgressBar"
|
|
||||||
BECQueue = "BECQueue"
|
|
||||||
BECStatusBox = "BECStatusBox"
|
|
||||||
BECWaveformWidget = "BECWaveformWidget"
|
|
||||||
DapComboBox = "DapComboBox"
|
|
||||||
DarkModeButton = "DarkModeButton"
|
|
||||||
DeviceBrowser = "DeviceBrowser"
|
|
||||||
DeviceComboBox = "DeviceComboBox"
|
|
||||||
DeviceLineEdit = "DeviceLineEdit"
|
|
||||||
LMFitDialog = "LMFitDialog"
|
|
||||||
PositionIndicator = "PositionIndicator"
|
|
||||||
PositionerBox = "PositionerBox"
|
|
||||||
PositionerControlLine = "PositionerControlLine"
|
|
||||||
PositionerGroup = "PositionerGroup"
|
|
||||||
ResetButton = "ResetButton"
|
|
||||||
ResumeButton = "ResumeButton"
|
|
||||||
RingProgressBar = "RingProgressBar"
|
|
||||||
ScanControl = "ScanControl"
|
|
||||||
SignalComboBox = "SignalComboBox"
|
|
||||||
SignalLineEdit = "SignalLineEdit"
|
|
||||||
StopButton = "StopButton"
|
|
||||||
TextBox = "TextBox"
|
|
||||||
VSCodeEditor = "VSCodeEditor"
|
|
||||||
WebsiteWidget = "WebsiteWidget"
|
|
||||||
|
|
||||||
|
|
||||||
class AbortButton(RPCBase):
|
class AbortButton(RPCBase):
|
||||||
@property
|
@property
|
||||||
@ -1641,10 +1608,10 @@ class BECMultiWaveform(RPCBase):
|
|||||||
@rpc_call
|
@rpc_call
|
||||||
def set_colormap(self, colormap: str):
|
def set_colormap(self, colormap: str):
|
||||||
"""
|
"""
|
||||||
Set the colormap for the scatter plot z gradient.
|
Set the colormap for the curves.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
colormap(str): Colormap for the scatter plot.
|
colormap(str): Colormap for the curves.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@rpc_call
|
@rpc_call
|
||||||
@ -1757,10 +1724,10 @@ class BECMultiWaveform(RPCBase):
|
|||||||
@rpc_call
|
@rpc_call
|
||||||
def set_colormap(self, colormap: str):
|
def set_colormap(self, colormap: str):
|
||||||
"""
|
"""
|
||||||
Set the colormap for the scatter plot z gradient.
|
Set the colormap for the curves.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
colormap(str): Colormap for the scatter plot.
|
colormap(str): Colormap for the curves.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@rpc_call
|
@rpc_call
|
||||||
@ -1781,6 +1748,12 @@ class BECMultiWaveform(RPCBase):
|
|||||||
lock(bool): True to lock, False to unlock.
|
lock(bool): True to lock, False to unlock.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@rpc_call
|
||||||
|
def export(self):
|
||||||
|
"""
|
||||||
|
Show the Export Dialog of the plot widget.
|
||||||
|
"""
|
||||||
|
|
||||||
@rpc_call
|
@rpc_call
|
||||||
def get_all_data(self, output: Literal["dict", "pandas"] = "dict") -> dict:
|
def get_all_data(self, output: Literal["dict", "pandas"] = "dict") -> dict:
|
||||||
"""
|
"""
|
||||||
@ -1793,12 +1766,6 @@ class BECMultiWaveform(RPCBase):
|
|||||||
dict | pd.DataFrame: Data of all curves in the specified format.
|
dict | pd.DataFrame: Data of all curves in the specified format.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@rpc_call
|
|
||||||
def export(self):
|
|
||||||
"""
|
|
||||||
Show the Export Dialog of the plot widget.
|
|
||||||
"""
|
|
||||||
|
|
||||||
@rpc_call
|
@rpc_call
|
||||||
def remove(self):
|
def remove(self):
|
||||||
"""
|
"""
|
||||||
|
@ -16,9 +16,8 @@ from qtpy.QtCore import QTimer
|
|||||||
from bec_widgets.cli.rpc_register import RPCRegister
|
from bec_widgets.cli.rpc_register import RPCRegister
|
||||||
from bec_widgets.utils import BECDispatcher
|
from bec_widgets.utils import BECDispatcher
|
||||||
from bec_widgets.utils.bec_connector import BECConnector
|
from bec_widgets.utils.bec_connector import BECConnector
|
||||||
from bec_widgets.utils.bec_dispatcher import QtRedisConnector
|
from bec_widgets.widgets.containers.dock import BECDockArea
|
||||||
from bec_widgets.widgets.dock.dock_area import BECDockArea
|
from bec_widgets.widgets.containers.figure import BECFigure
|
||||||
from bec_widgets.widgets.figure import BECFigure
|
|
||||||
|
|
||||||
messages = lazy_import("bec_lib.messages")
|
messages = lazy_import("bec_lib.messages")
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
@ -3,8 +3,6 @@ import os
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import pyqtgraph as pg
|
import pyqtgraph as pg
|
||||||
from bec_qthemes import material_icon
|
from bec_qthemes import material_icon
|
||||||
from qtpy.QtCore import QSize
|
|
||||||
from qtpy.QtGui import QIcon
|
|
||||||
from qtpy.QtWidgets import (
|
from qtpy.QtWidgets import (
|
||||||
QApplication,
|
QApplication,
|
||||||
QGroupBox,
|
QGroupBox,
|
||||||
@ -17,9 +15,9 @@ from qtpy.QtWidgets import (
|
|||||||
|
|
||||||
from bec_widgets.utils import BECDispatcher
|
from bec_widgets.utils import BECDispatcher
|
||||||
from bec_widgets.utils.colors import apply_theme
|
from bec_widgets.utils.colors import apply_theme
|
||||||
from bec_widgets.widgets.dock.dock_area import BECDockArea
|
from bec_widgets.widgets.containers.dock import BECDockArea
|
||||||
from bec_widgets.widgets.figure import BECFigure
|
from bec_widgets.widgets.containers.figure import BECFigure
|
||||||
from bec_widgets.widgets.jupyter_console.jupyter_console import BECJupyterConsole
|
from bec_widgets.widgets.editors.jupyter_console.jupyter_console import BECJupyterConsole
|
||||||
|
|
||||||
|
|
||||||
class JupyterConsoleWindow(QWidget): # pragma: no cover:
|
class JupyterConsoleWindow(QWidget): # pragma: no cover:
|
||||||
|
@ -13,7 +13,7 @@ from qtpy.QtWidgets import (
|
|||||||
|
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
from bec_widgets.utils.colors import get_accent_colors, get_theme_palette
|
from bec_widgets.utils.colors import get_accent_colors, get_theme_palette
|
||||||
from bec_widgets.widgets.dark_mode_button.dark_mode_button import DarkModeButton
|
from bec_widgets.widgets.utility.visual.dark_mode_button.dark_mode_button import DarkModeButton
|
||||||
|
|
||||||
|
|
||||||
class PaletteViewer(BECWidget, QWidget):
|
class PaletteViewer(BECWidget, QWidget):
|
||||||
|
@ -143,7 +143,7 @@ class DesignerPluginGenerator:
|
|||||||
|
|
||||||
if __name__ == "__main__": # pragma: no cover
|
if __name__ == "__main__": # pragma: no cover
|
||||||
# from bec_widgets.widgets.bec_queue.bec_queue import BECQueue
|
# from bec_widgets.widgets.bec_queue.bec_queue import BECQueue
|
||||||
from bec_widgets.widgets.spinner.spinner import SpinnerWidget
|
from bec_widgets.widgets.utility.spinner import SpinnerWidget
|
||||||
|
|
||||||
generator = DesignerPluginGenerator(SpinnerWidget)
|
generator = DesignerPluginGenerator(SpinnerWidget)
|
||||||
generator.run(validate=False)
|
generator.run(validate=False)
|
||||||
|
@ -156,6 +156,10 @@ def get_custom_classes(repo_name: str) -> BECClassContainer:
|
|||||||
class_info.is_connector = True
|
class_info.is_connector = True
|
||||||
if issubclass(obj, BECWidget):
|
if issubclass(obj, BECWidget):
|
||||||
class_info.is_widget = True
|
class_info.is_widget = True
|
||||||
|
if len(subs) == 1 and (
|
||||||
|
issubclass(obj, QWidget) or issubclass(obj, QGraphicsWidget)
|
||||||
|
):
|
||||||
|
class_info.is_top_level = True
|
||||||
if hasattr(obj, "PLUGIN") and obj.PLUGIN:
|
if hasattr(obj, "PLUGIN") and obj.PLUGIN:
|
||||||
class_info.is_plugin = True
|
class_info.is_plugin = True
|
||||||
collection.add_class(class_info)
|
collection.add_class(class_info)
|
||||||
|
@ -18,18 +18,18 @@ from bec_widgets.qt_utils.toolbar import (
|
|||||||
)
|
)
|
||||||
from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
|
from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
from bec_widgets.widgets.bec_queue.bec_queue import BECQueue
|
from bec_widgets.widgets.containers.dock.dock import BECDock, DockConfig
|
||||||
from bec_widgets.widgets.bec_status_box.bec_status_box import BECStatusBox
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox
|
||||||
from bec_widgets.widgets.dark_mode_button.dark_mode_button import DarkModeButton
|
from bec_widgets.widgets.control.scan_control.scan_control import ScanControl
|
||||||
from bec_widgets.widgets.dock.dock import BECDock, DockConfig
|
from bec_widgets.widgets.editors.vscode.vscode import VSCodeEditor
|
||||||
from bec_widgets.widgets.image.image_widget import BECImageWidget
|
from bec_widgets.widgets.plots.image.image_widget import BECImageWidget
|
||||||
from bec_widgets.widgets.motor_map.motor_map_widget import BECMotorMapWidget
|
from bec_widgets.widgets.plots.motor_map.motor_map_widget import BECMotorMapWidget
|
||||||
from bec_widgets.widgets.multi_waveform.multi_waveform_widget import BECMultiWaveformWidget
|
from bec_widgets.widgets.plots.multi_waveform.multi_waveform_widget import BECMultiWaveformWidget
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
from bec_widgets.widgets.plots.waveform.waveform_widget import BECWaveformWidget
|
||||||
from bec_widgets.widgets.ring_progress_bar.ring_progress_bar import RingProgressBar
|
from bec_widgets.widgets.progress.ring_progress_bar.ring_progress_bar import RingProgressBar
|
||||||
from bec_widgets.widgets.scan_control.scan_control import ScanControl
|
from bec_widgets.widgets.services.bec_queue.bec_queue import BECQueue
|
||||||
from bec_widgets.widgets.vscode.vscode import VSCodeEditor
|
from bec_widgets.widgets.services.bec_status_box.bec_status_box import BECStatusBox
|
||||||
from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
|
from bec_widgets.widgets.utility.visual.dark_mode_button.dark_mode_button import DarkModeButton
|
||||||
|
|
||||||
|
|
||||||
class DockAreaConfig(ConnectionConfig):
|
class DockAreaConfig(ConnectionConfig):
|
||||||
@ -40,6 +40,7 @@ class DockAreaConfig(ConnectionConfig):
|
|||||||
|
|
||||||
|
|
||||||
class BECDockArea(BECWidget, QWidget):
|
class BECDockArea(BECWidget, QWidget):
|
||||||
|
PLUGIN = True
|
||||||
USER_ACCESS = [
|
USER_ACCESS = [
|
||||||
"_config_dict",
|
"_config_dict",
|
||||||
"panels",
|
"panels",
|
@ -6,7 +6,7 @@ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
|||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.dock import BECDockArea
|
from bec_widgets.widgets.containers.dock import BECDockArea
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,7 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.dock.dock_area_plugin import BECDockAreaPlugin
|
from bec_widgets.widgets.containers.dock.dock_area_plugin import BECDockAreaPlugin
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(BECDockAreaPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(BECDockAreaPlugin())
|
||||||
|
|
@ -11,20 +11,25 @@ from bec_lib.logger import bec_logger
|
|||||||
from pydantic import Field, ValidationError, field_validator
|
from pydantic import Field, ValidationError, field_validator
|
||||||
from qtpy.QtCore import Signal as pyqtSignal
|
from qtpy.QtCore import Signal as pyqtSignal
|
||||||
from qtpy.QtWidgets import QWidget
|
from qtpy.QtWidgets import QWidget
|
||||||
from tornado.gen import multi
|
|
||||||
from typeguard import typechecked
|
from typeguard import typechecked
|
||||||
|
|
||||||
from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
|
from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
from bec_widgets.utils.colors import apply_theme
|
from bec_widgets.utils.colors import apply_theme
|
||||||
from bec_widgets.widgets.figure.plots.image.image import BECImageShow, ImageConfig
|
from bec_widgets.widgets.containers.figure.plots.image.image import BECImageShow, ImageConfig
|
||||||
from bec_widgets.widgets.figure.plots.motor_map.motor_map import BECMotorMap, MotorMapConfig
|
from bec_widgets.widgets.containers.figure.plots.motor_map.motor_map import (
|
||||||
from bec_widgets.widgets.figure.plots.multi_waveform.multi_waveform import (
|
BECMotorMap,
|
||||||
|
MotorMapConfig,
|
||||||
|
)
|
||||||
|
from bec_widgets.widgets.containers.figure.plots.multi_waveform.multi_waveform import (
|
||||||
BECMultiWaveform,
|
BECMultiWaveform,
|
||||||
BECMultiWaveformConfig,
|
BECMultiWaveformConfig,
|
||||||
)
|
)
|
||||||
from bec_widgets.widgets.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
from bec_widgets.widgets.containers.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
||||||
from bec_widgets.widgets.figure.plots.waveform.waveform import BECWaveform, Waveform1DConfig
|
from bec_widgets.widgets.containers.figure.plots.waveform.waveform import (
|
||||||
|
BECWaveform,
|
||||||
|
Waveform1DConfig,
|
||||||
|
)
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
@ -6,19 +6,22 @@ from typing import Any, Literal, Optional
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
from bec_lib.endpoints import MessageEndpoints
|
from bec_lib.endpoints import MessageEndpoints
|
||||||
from bec_lib.logger import bec_logger
|
from bec_lib.logger import bec_logger
|
||||||
from pydantic import BaseModel, Field, ValidationError
|
from pydantic import Field, ValidationError
|
||||||
from qtpy.QtCore import QThread, Slot
|
from qtpy.QtCore import QThread, Slot
|
||||||
from qtpy.QtWidgets import QWidget
|
from qtpy.QtWidgets import QWidget
|
||||||
|
|
||||||
# from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
# from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
||||||
from bec_widgets.utils import EntryValidator
|
from bec_widgets.utils import EntryValidator
|
||||||
from bec_widgets.widgets.figure.plots.image.image_item import BECImageItem, ImageItemConfig
|
from bec_widgets.widgets.containers.figure.plots.image.image_item import (
|
||||||
from bec_widgets.widgets.figure.plots.image.image_processor import (
|
BECImageItem,
|
||||||
|
ImageItemConfig,
|
||||||
|
)
|
||||||
|
from bec_widgets.widgets.containers.figure.plots.image.image_processor import (
|
||||||
ImageProcessor,
|
ImageProcessor,
|
||||||
ImageStats,
|
ImageStats,
|
||||||
ProcessorWorker,
|
ProcessorWorker,
|
||||||
)
|
)
|
||||||
from bec_widgets.widgets.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
from bec_widgets.widgets.containers.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
@ -8,10 +8,13 @@ from bec_lib.logger import bec_logger
|
|||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
|
|
||||||
from bec_widgets.utils import BECConnector, ConnectionConfig
|
from bec_widgets.utils import BECConnector, ConnectionConfig
|
||||||
from bec_widgets.widgets.figure.plots.image.image_processor import ImageStats, ProcessingConfig
|
from bec_widgets.widgets.containers.figure.plots.image.image_processor import (
|
||||||
|
ImageStats,
|
||||||
|
ProcessingConfig,
|
||||||
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from bec_widgets.widgets.figure.plots.image.image import BECImageShow
|
from bec_widgets.widgets.containers.figure.plots.image.image import BECImageShow
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
@ -15,8 +15,8 @@ from qtpy.QtWidgets import QWidget
|
|||||||
|
|
||||||
from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
||||||
from bec_widgets.utils import Colors, EntryValidator
|
from bec_widgets.utils import Colors, EntryValidator
|
||||||
from bec_widgets.widgets.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
from bec_widgets.widgets.containers.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
||||||
from bec_widgets.widgets.figure.plots.waveform.waveform import Signal, SignalData
|
from bec_widgets.widgets.containers.figure.plots.waveform.waveform import Signal, SignalData
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
@ -10,7 +10,7 @@ from qtpy.QtCore import Signal, Slot
|
|||||||
from qtpy.QtWidgets import QWidget
|
from qtpy.QtWidgets import QWidget
|
||||||
|
|
||||||
from bec_widgets.utils import Colors
|
from bec_widgets.utils import Colors
|
||||||
from bec_widgets.widgets.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
from bec_widgets.widgets.containers.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
||||||
@ -345,7 +345,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
from qtpy.QtWidgets import QApplication
|
from qtpy.QtWidgets import QApplication
|
||||||
|
|
||||||
from bec_widgets.widgets.figure import BECFigure
|
from bec_widgets.widgets.containers.figure import BECFigure
|
||||||
|
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
widget = BECFigure()
|
widget = BECFigure()
|
@ -19,8 +19,8 @@ from bec_widgets.qt_utils.error_popups import SafeSlot as Slot
|
|||||||
from bec_widgets.utils import Colors, EntryValidator
|
from bec_widgets.utils import Colors, EntryValidator
|
||||||
from bec_widgets.utils.colors import get_accent_colors
|
from bec_widgets.utils.colors import get_accent_colors
|
||||||
from bec_widgets.utils.linear_region_selector import LinearRegionWrapper
|
from bec_widgets.utils.linear_region_selector import LinearRegionWrapper
|
||||||
from bec_widgets.widgets.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
from bec_widgets.widgets.containers.figure.plots.plot_base import BECPlotBase, SubplotConfig
|
||||||
from bec_widgets.widgets.figure.plots.waveform.waveform_curve import (
|
from bec_widgets.widgets.containers.figure.plots.waveform.waveform_curve import (
|
||||||
BECCurve,
|
BECCurve,
|
||||||
CurveConfig,
|
CurveConfig,
|
||||||
Signal,
|
Signal,
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Any, Literal, Optional
|
from typing import TYPE_CHECKING, Literal, Optional
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pyqtgraph as pg
|
import pyqtgraph as pg
|
||||||
@ -11,7 +11,7 @@ from qtpy import QtCore
|
|||||||
from bec_widgets.utils import BECConnector, Colors, ConnectionConfig
|
from bec_widgets.utils import BECConnector, Colors, ConnectionConfig
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from bec_widgets.widgets.figure.plots.waveform import BECWaveform1D
|
from bec_widgets.widgets.containers.figure.plots.waveform import BECWaveform1D
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.button_abort.button_abort import AbortButton
|
from bec_widgets.widgets.control.buttons.button_abort.button_abort import AbortButton
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -9,6 +9,7 @@ from bec_widgets.utils.bec_widget import BECWidget
|
|||||||
class AbortButton(BECWidget, QWidget):
|
class AbortButton(BECWidget, QWidget):
|
||||||
"""A button that abort the scan."""
|
"""A button that abort the scan."""
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "cancel"
|
ICON_NAME = "cancel"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.button_abort.abort_button_plugin import AbortButtonPlugin
|
from bec_widgets.widgets.control.buttons.button_abort.abort_button_plugin import (
|
||||||
|
AbortButtonPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(AbortButtonPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(AbortButtonPlugin())
|
||||||
|
|
@ -9,6 +9,7 @@ from bec_widgets.utils.bec_widget import BECWidget
|
|||||||
class ResetButton(BECWidget, QWidget):
|
class ResetButton(BECWidget, QWidget):
|
||||||
"""A button that resets the scan queue."""
|
"""A button that resets the scan queue."""
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "restart_alt"
|
ICON_NAME = "restart_alt"
|
||||||
|
|
||||||
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.button_reset.reset_button_plugin import ResetButtonPlugin
|
from bec_widgets.widgets.control.buttons.button_reset.reset_button_plugin import (
|
||||||
|
ResetButtonPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(ResetButtonPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(ResetButtonPlugin())
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.button_reset.button_reset import ResetButton
|
from bec_widgets.widgets.control.buttons.button_reset.button_reset import ResetButton
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -9,6 +9,7 @@ from bec_widgets.utils.bec_widget import BECWidget
|
|||||||
class ResumeButton(BECWidget, QWidget):
|
class ResumeButton(BECWidget, QWidget):
|
||||||
"""A button that continue scan queue."""
|
"""A button that continue scan queue."""
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "resume"
|
ICON_NAME = "resume"
|
||||||
|
|
||||||
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.button_resume.resume_button_plugin import ResumeButtonPlugin
|
from bec_widgets.widgets.control.buttons.button_resume.resume_button_plugin import (
|
||||||
|
ResumeButtonPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(ResumeButtonPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(ResumeButtonPlugin())
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.button_resume.button_resume import ResumeButton
|
from bec_widgets.widgets.control.buttons.button_resume.button_resume import ResumeButton
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,7 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.stop_button.stop_button_plugin import StopButtonPlugin
|
from bec_widgets.widgets.control.buttons.stop_button.stop_button_plugin import StopButtonPlugin
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(StopButtonPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(StopButtonPlugin())
|
||||||
|
|
@ -9,6 +9,7 @@ from bec_widgets.utils.bec_widget import BECWidget
|
|||||||
class StopButton(BECWidget, QWidget):
|
class StopButton(BECWidget, QWidget):
|
||||||
"""A button that stops the current scan."""
|
"""A button that stops the current scan."""
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "dangerous"
|
ICON_NAME = "dangerous"
|
||||||
|
|
||||||
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
def __init__(self, parent=None, client=None, config=None, gui_id=None, toolbar=False):
|
@ -6,7 +6,7 @@ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
|||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.stop_button.stop_button import StopButton
|
from bec_widgets.widgets.control.buttons.stop_button.stop_button import StopButton
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -9,7 +9,7 @@ from bec_widgets.utils.colors import get_accent_colors, get_theme_palette
|
|||||||
|
|
||||||
class PositionIndicator(BECWidget, QWidget):
|
class PositionIndicator(BECWidget, QWidget):
|
||||||
USER_ACCESS = ["set_value", "set_range", "vertical", "indicator_width", "rounded_corners"]
|
USER_ACCESS = ["set_value", "set_range", "vertical", "indicator_width", "rounded_corners"]
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "horizontal_distribute"
|
ICON_NAME = "horizontal_distribute"
|
||||||
|
|
||||||
def __init__(self, parent=None, client=None, config=None, gui_id=None):
|
def __init__(self, parent=None, client=None, config=None, gui_id=None):
|
@ -6,7 +6,9 @@ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
|||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.position_indicator.position_indicator import PositionIndicator
|
from bec_widgets.widgets.control.device_control.position_indicator.position_indicator import (
|
||||||
|
PositionIndicator,
|
||||||
|
)
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,7 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.position_indicator.position_indicator_plugin import (
|
from bec_widgets.widgets.control.device_control.position_indicator.position_indicator_plugin import (
|
||||||
PositionIndicatorPlugin,
|
PositionIndicatorPlugin,
|
||||||
)
|
)
|
||||||
|
|
@ -12,14 +12,16 @@ from bec_lib.messages import ScanQueueMessage
|
|||||||
from bec_qthemes import material_icon
|
from bec_qthemes import material_icon
|
||||||
from qtpy.QtCore import Property, Signal, Slot
|
from qtpy.QtCore import Property, Signal, Slot
|
||||||
from qtpy.QtGui import QDoubleValidator
|
from qtpy.QtGui import QDoubleValidator
|
||||||
from qtpy.QtWidgets import QDialog, QDoubleSpinBox, QPushButton, QVBoxLayout, QWidget
|
from qtpy.QtWidgets import QDialog, QDoubleSpinBox, QPushButton, QVBoxLayout
|
||||||
|
|
||||||
from bec_widgets.qt_utils.compact_popup import CompactPopupWidget
|
from bec_widgets.qt_utils.compact_popup import CompactPopupWidget
|
||||||
from bec_widgets.utils import UILoader
|
from bec_widgets.utils import UILoader
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
from bec_widgets.utils.colors import get_accent_colors, set_theme
|
from bec_widgets.utils.colors import get_accent_colors, set_theme
|
||||||
from bec_widgets.widgets.base_classes.device_input_base import BECDeviceFilter
|
from bec_widgets.widgets.control.device_input.base_classes.device_input_base import BECDeviceFilter
|
||||||
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
|
from bec_widgets.widgets.control.device_input.device_line_edit.device_line_edit import (
|
||||||
|
DeviceLineEdit,
|
||||||
|
)
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
||||||
@ -32,6 +34,7 @@ class PositionerBox(BECWidget, CompactPopupWidget):
|
|||||||
ui_file = "positioner_box.ui"
|
ui_file = "positioner_box.ui"
|
||||||
dimensions = (234, 224)
|
dimensions = (234, 224)
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "switch_right"
|
ICON_NAME = "switch_right"
|
||||||
USER_ACCESS = ["set_positioner"]
|
USER_ACCESS = ["set_positioner"]
|
||||||
device_changed = Signal(str, str)
|
device_changed = Signal(str, str)
|
@ -6,7 +6,7 @@ import os
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -1,6 +1,6 @@
|
|||||||
from bec_lib.device import Positioner
|
from bec_lib.device import Positioner
|
||||||
|
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox
|
||||||
|
|
||||||
|
|
||||||
class PositionerControlLine(PositionerBox):
|
class PositionerControlLine(PositionerBox):
|
||||||
@ -9,6 +9,7 @@ class PositionerControlLine(PositionerBox):
|
|||||||
ui_file = "positioner_control_line.ui"
|
ui_file = "positioner_control_line.ui"
|
||||||
dimensions = (60, 600) # height, width
|
dimensions = (60, 600) # height, width
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "switch_left"
|
ICON_NAME = "switch_left"
|
||||||
|
|
||||||
def __init__(self, parent=None, device: Positioner = None, *args, **kwargs):
|
def __init__(self, parent=None, device: Positioner = None, *args, **kwargs):
|
@ -6,7 +6,9 @@ import os
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.positioner_box.positioner_control_line import PositionerControlLine
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line import (
|
||||||
|
PositionerControlLine,
|
||||||
|
)
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box_plugin import PositionerBoxPlugin
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box_plugin import (
|
||||||
|
PositionerBoxPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(PositionerBoxPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(PositionerBoxPlugin())
|
||||||
|
|
@ -6,7 +6,7 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.positioner_box.positioner_control_line_plugin import (
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line_plugin import (
|
||||||
PositionerControlLinePlugin,
|
PositionerControlLinePlugin,
|
||||||
)
|
)
|
||||||
|
|
@ -5,16 +5,16 @@ from __future__ import annotations
|
|||||||
from bec_lib.device import Positioner
|
from bec_lib.device import Positioner
|
||||||
from bec_lib.logger import bec_logger
|
from bec_lib.logger import bec_logger
|
||||||
from qtpy.QtCore import Property, QSize, Signal, Slot
|
from qtpy.QtCore import Property, QSize, Signal, Slot
|
||||||
from qtpy.QtWidgets import QGridLayout, QGroupBox, QSizePolicy, QVBoxLayout, QWidget
|
from qtpy.QtWidgets import QGridLayout, QGroupBox, QVBoxLayout, QWidget
|
||||||
|
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox
|
||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
||||||
|
|
||||||
class PositionerGroupBox(QGroupBox):
|
class PositionerGroupBox(QGroupBox):
|
||||||
|
PLUGIN = True
|
||||||
position_update = Signal(float)
|
position_update = Signal(float)
|
||||||
|
|
||||||
def __init__(self, parent, dev_name):
|
def __init__(self, parent, dev_name):
|
@ -6,7 +6,9 @@ import os
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.positioner_group.positioner_group import PositionerGroup
|
from bec_widgets.widgets.control.device_control.positioner_group.positioner_group import (
|
||||||
|
PositionerGroup,
|
||||||
|
)
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.positioner_group.positioner_group_plugin import PositionerGroupPlugin
|
from bec_widgets.widgets.control.device_control.positioner_group.positioner_group_plugin import (
|
||||||
|
PositionerGroupPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(PositionerGroupPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(PositionerGroupPlugin())
|
||||||
|
|
@ -6,7 +6,7 @@ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
|||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import DeviceComboBox
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -5,7 +5,7 @@ from qtpy.QtGui import QPainter, QPaintEvent, QPen
|
|||||||
from qtpy.QtWidgets import QComboBox, QSizePolicy
|
from qtpy.QtWidgets import QComboBox, QSizePolicy
|
||||||
|
|
||||||
from bec_widgets.utils.colors import get_accent_colors
|
from bec_widgets.utils.colors import get_accent_colors
|
||||||
from bec_widgets.widgets.base_classes.device_input_base import (
|
from bec_widgets.widgets.control.device_input.base_classes.device_input_base import (
|
||||||
BECDeviceFilter,
|
BECDeviceFilter,
|
||||||
DeviceInputBase,
|
DeviceInputBase,
|
||||||
DeviceInputConfig,
|
DeviceInputConfig,
|
||||||
@ -27,6 +27,7 @@ class DeviceComboBox(DeviceInputBase, QComboBox):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
ICON_NAME = "list_alt"
|
ICON_NAME = "list_alt"
|
||||||
|
PLUGIN = True
|
||||||
|
|
||||||
device_selected = Signal(str)
|
device_selected = Signal(str)
|
||||||
device_config_update = Signal()
|
device_config_update = Signal()
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.device_combobox.device_combo_box_plugin import DeviceComboBoxPlugin
|
from bec_widgets.widgets.control.device_input.device_combobox.device_combo_box_plugin import (
|
||||||
|
DeviceComboBoxPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceComboBoxPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceComboBoxPlugin())
|
||||||
|
|
@ -6,7 +6,7 @@ from qtpy.QtGui import QPainter, QPaintEvent, QPen
|
|||||||
from qtpy.QtWidgets import QApplication, QCompleter, QLineEdit, QSizePolicy
|
from qtpy.QtWidgets import QApplication, QCompleter, QLineEdit, QSizePolicy
|
||||||
|
|
||||||
from bec_widgets.utils.colors import get_accent_colors
|
from bec_widgets.utils.colors import get_accent_colors
|
||||||
from bec_widgets.widgets.base_classes.device_input_base import (
|
from bec_widgets.widgets.control.device_input.base_classes.device_input_base import (
|
||||||
BECDeviceFilter,
|
BECDeviceFilter,
|
||||||
DeviceInputBase,
|
DeviceInputBase,
|
||||||
DeviceInputConfig,
|
DeviceInputConfig,
|
||||||
@ -32,6 +32,7 @@ class DeviceLineEdit(DeviceInputBase, QLineEdit):
|
|||||||
device_selected = Signal(str)
|
device_selected = Signal(str)
|
||||||
device_config_update = Signal()
|
device_config_update = Signal()
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "edit_note"
|
ICON_NAME = "edit_note"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -156,7 +157,9 @@ if __name__ == "__main__": # pragma: no cover
|
|||||||
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
||||||
|
|
||||||
from bec_widgets.utils.colors import set_theme
|
from bec_widgets.utils.colors import set_theme
|
||||||
from bec_widgets.widgets.signal_combobox.signal_combobox import SignalComboBox
|
from bec_widgets.widgets.control.device_input.signal_combobox.signal_combobox import (
|
||||||
|
SignalComboBox,
|
||||||
|
)
|
||||||
|
|
||||||
app = QApplication([])
|
app = QApplication([])
|
||||||
set_theme("dark")
|
set_theme("dark")
|
@ -6,7 +6,9 @@ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
|||||||
|
|
||||||
import bec_widgets
|
import bec_widgets
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
|
from bec_widgets.widgets.control.device_input.device_line_edit.device_line_edit import (
|
||||||
|
DeviceLineEdit,
|
||||||
|
)
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.device_line_edit.device_line_edit_plugin import DeviceLineEditPlugin
|
from bec_widgets.widgets.control.device_input.device_line_edit.device_line_edit_plugin import (
|
||||||
|
DeviceLineEditPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceLineEditPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceLineEditPlugin())
|
||||||
|
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.signal_combobox.signal_combobox_plugin import SignalComboBoxPlugin
|
from bec_widgets.widgets.control.device_input.signal_combobox.signal_combobox_plugin import (
|
||||||
|
SignalComboBoxPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(SignalComboBoxPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(SignalComboBoxPlugin())
|
||||||
|
|
@ -4,7 +4,9 @@ from qtpy.QtWidgets import QComboBox, QSizePolicy
|
|||||||
|
|
||||||
from bec_widgets.utils.filter_io import ComboBoxFilterHandler, FilterIO
|
from bec_widgets.utils.filter_io import ComboBoxFilterHandler, FilterIO
|
||||||
from bec_widgets.utils.ophyd_kind_util import Kind
|
from bec_widgets.utils.ophyd_kind_util import Kind
|
||||||
from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
|
from bec_widgets.widgets.control.device_input.base_classes.device_signal_input_base import (
|
||||||
|
DeviceSignalInputBase,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SignalComboBox(DeviceSignalInputBase, QComboBox):
|
class SignalComboBox(DeviceSignalInputBase, QComboBox):
|
||||||
@ -22,6 +24,7 @@ class SignalComboBox(DeviceSignalInputBase, QComboBox):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
ICON_NAME = "list_alt"
|
ICON_NAME = "list_alt"
|
||||||
|
PLUGIN = True
|
||||||
|
|
||||||
device_signal_changed = Signal(str)
|
device_signal_changed = Signal(str)
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.signal_combobox.signal_combobox import SignalComboBox
|
from bec_widgets.widgets.control.device_input.signal_combobox.signal_combobox import SignalComboBox
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
@ -6,7 +6,9 @@ def main(): # pragma: no cover
|
|||||||
return
|
return
|
||||||
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
||||||
|
|
||||||
from bec_widgets.widgets.signal_line_edit.signal_line_edit_plugin import SignalLineEditPlugin
|
from bec_widgets.widgets.control.device_input.signal_line_edit.signal_line_edit_plugin import (
|
||||||
|
SignalLineEditPlugin,
|
||||||
|
)
|
||||||
|
|
||||||
QPyDesignerCustomWidgetCollection.addCustomWidget(SignalLineEditPlugin())
|
QPyDesignerCustomWidgetCollection.addCustomWidget(SignalLineEditPlugin())
|
||||||
|
|
@ -5,7 +5,9 @@ from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy
|
|||||||
|
|
||||||
from bec_widgets.utils.colors import get_accent_colors
|
from bec_widgets.utils.colors import get_accent_colors
|
||||||
from bec_widgets.utils.ophyd_kind_util import Kind
|
from bec_widgets.utils.ophyd_kind_util import Kind
|
||||||
from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
|
from bec_widgets.widgets.control.device_input.base_classes.device_signal_input_base import (
|
||||||
|
DeviceSignalInputBase,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SignalLineEdit(DeviceSignalInputBase, QLineEdit):
|
class SignalLineEdit(DeviceSignalInputBase, QLineEdit):
|
||||||
@ -24,6 +26,7 @@ class SignalLineEdit(DeviceSignalInputBase, QLineEdit):
|
|||||||
|
|
||||||
device_signal_changed = Signal(str)
|
device_signal_changed = Signal(str)
|
||||||
|
|
||||||
|
PLUGIN = True
|
||||||
ICON_NAME = "vital_signs"
|
ICON_NAME = "vital_signs"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
@ -4,7 +4,9 @@
|
|||||||
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
||||||
|
|
||||||
from bec_widgets.utils.bec_designer import designer_material_icon
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
||||||
from bec_widgets.widgets.signal_line_edit.signal_line_edit import SignalLineEdit
|
from bec_widgets.widgets.control.device_input.signal_line_edit.signal_line_edit import (
|
||||||
|
SignalLineEdit,
|
||||||
|
)
|
||||||
|
|
||||||
DOM_XML = """
|
DOM_XML = """
|
||||||
<ui language='c++'>
|
<ui language='c++'>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user