From 3abd955465551c1cddc5832e2aa44fbc8870d3bd Mon Sep 17 00:00:00 2001 From: wyzula-jan <133381102+wyzula-jan@users.noreply.github.com> Date: Tue, 12 Dec 2023 11:05:33 +0100 Subject: [PATCH] refactor: repo reorganization --- bec_widgets/config_plotter.py | 127 ------------------ bec_widgets/display_ui_file.py | 33 ----- bec_widgets/examples/extreme/extreme.py | 6 +- .../examples/modular_app/modular_app.py | 6 +- .../examples/motor_movement/motor_example.py | 2 +- bec_widgets/examples/oneplot/oneplot.py | 6 +- .../examples/plotting/crosshair_example.py | 2 +- .../examples/stream_plot/stream_plot.py | 12 +- .../qtdesigner_plugins/scan2d_plot_plugin.py | 2 +- .../qtdesigner_plugins/scan_plot_plugin.py | 2 +- bec_widgets/readme.md | 12 -- bec_widgets/{qt_utils => utils}/__init__.py | 0 bec_widgets/{ => utils}/bec_dispatcher.py | 0 bec_widgets/{qt_utils => utils}/bec_table.py | 0 bec_widgets/{qt_utils => utils}/colors.py | 0 bec_widgets/{qt_utils => utils}/crosshair.py | 0 bec_widgets/{ => utils}/ctrl_c.py | 0 .../{qt_utils => utils}/validator_delegate.py | 0 bec_widgets/{qt_utils => utils}/widget_io.py | 0 .../{qt_utils => utils}/yaml_dialog.py | 0 bec_widgets/widgets/monitor/config_dialog.py | 2 +- bec_widgets/widgets/monitor/monitor.py | 11 +- .../widgets/scan_control/scan_control.py | 4 +- bec_widgets/widgets/scan_plot/__init__.py | 0 .../{ => widgets/scan_plot}/scan2d_plot.py | 2 +- .../{ => widgets/scan_plot}/scan_plot.py | 2 +- tests/test_bec_dispatcher.py | 2 +- tests/test_config_plotter.py | 45 ------- tests/test_crosshair.py | 2 +- tests/test_scan_control.py | 2 +- tests/test_scan_plot.py | 4 +- tests/test_widget_io.py | 2 +- tests/test_yaml_dialog.py | 2 +- 33 files changed, 33 insertions(+), 257 deletions(-) delete mode 100644 bec_widgets/config_plotter.py delete mode 100644 bec_widgets/display_ui_file.py delete mode 100644 bec_widgets/readme.md rename bec_widgets/{qt_utils => utils}/__init__.py (100%) rename bec_widgets/{ => utils}/bec_dispatcher.py (100%) rename bec_widgets/{qt_utils => utils}/bec_table.py (100%) rename bec_widgets/{qt_utils => utils}/colors.py (100%) rename bec_widgets/{qt_utils => utils}/crosshair.py (100%) rename bec_widgets/{ => utils}/ctrl_c.py (100%) rename bec_widgets/{qt_utils => utils}/validator_delegate.py (100%) rename bec_widgets/{qt_utils => utils}/widget_io.py (100%) rename bec_widgets/{qt_utils => utils}/yaml_dialog.py (100%) create mode 100644 bec_widgets/widgets/scan_plot/__init__.py rename bec_widgets/{ => widgets/scan_plot}/scan2d_plot.py (98%) rename bec_widgets/{ => widgets/scan_plot}/scan_plot.py (98%) delete mode 100644 tests/test_config_plotter.py diff --git a/bec_widgets/config_plotter.py b/bec_widgets/config_plotter.py deleted file mode 100644 index 19b53451..00000000 --- a/bec_widgets/config_plotter.py +++ /dev/null @@ -1,127 +0,0 @@ -import numpy as np -import pyqtgraph as pg -from pyqtgraph import mkPen -from pyqtgraph.Qt import QtCore, QtWidgets - - -class ConfigPlotter(pg.GraphicsWidget): - """ - ConfigPlotter is a widget that can be used to plot data from multiple channels - in a grid layout. The layout is specified by a list of dicts, where each dict - specifies the position of the plot in the grid, the channels to plot, and the - type of plot to use. The plot type is specified by the name of the pyqtgraph - item to use. For example, to plot a single channel in a PlotItem, the config - would look like this: - - config = [ - { - "cols": 1, - "rows": 1, - "y": 0, - "x": 0, - "config": {"channels": ["a"], "label_xy": ["", "a"], "item": "PlotItem"}, - } - ] - - """ - - def __init__(self, configs: list[dict], parent=None): - super().__init__(parent) - self.configs = configs - self.plots = {} - self._init_ui() - self._init_plots() - - def _init_ui(self): - pg.setConfigOption("background", "w") - pg.setConfigOption("foreground", "k") - - # pylint: disable=no-member - self.pen = mkPen(color=(56, 76, 107), width=4, style=QtCore.Qt.SolidLine) - - self.view = pg.GraphicsView() - self.view.setAntialiasing(True) - self.view.show() - - self.layout = pg.GraphicsLayout() - self.view.setCentralWidget(self.layout) - - def _init_plots(self): - for config in self.configs: - channels = config["config"]["channels"] - for channel in channels: - item = pg.PlotItem() - self.layout.addItem( - item, - row=config["y"], - col=config["x"], - rowspan=config["rows"], - colspan=config["cols"], - ) - - # call the corresponding init function, e.g. init_plotitem - init_func = getattr(self, f"init_{config['config']['item']}") - init_func(channel, config["config"], item) - - # self.init_ImageItem(channel, config["config"], item) - - def init_PlotItem(self, channel: str, config: dict, item: pg.GraphicsItem): - """ - Initialize a PlotItem - - Args: - channel(str): channel to plot - config(dict): config dict for the channel - item(pg.GraphicsItem): PlotItem to plot the data - """ - # pylint: disable=invalid-name - plot_data = item.plot(np.random.rand(100), pen=self.pen) - item.setLabel("left", channel) - self.plots[channel] = {"item": item, "plot_data": plot_data} - - def init_ImageItem(self, channel: str, config: dict, item: pg.GraphicsItem): - """ - Initialize an ImageItem - - Args: - channel(str): channel to plot - config(dict): config dict for the channel - item(pg.GraphicsItem): ImageItem to plot the data - """ - # pylint: disable=invalid-name - img = pg.ImageItem() - item.addItem(img) - img.setImage(np.random.rand(100, 100)) - self.plots[channel] = {"item": item, "plot_data": img} - - -if __name__ == "__main__": - import sys - - CONFIG = [ - { - "cols": 1, - "rows": 1, - "y": 0, - "x": 0, - "config": {"channels": ["a"], "label_xy": ["", "a"], "item": "PlotItem"}, - }, - { - "cols": 1, - "rows": 1, - "y": 1, - "x": 0, - "config": {"channels": ["b"], "label_xy": ["", "b"], "item": "PlotItem"}, - }, - { - "cols": 1, - "rows": 2, - "y": 0, - "x": 1, - "config": {"channels": ["c"], "label_xy": ["", "c"], "item": "ImageItem"}, - }, - ] - - app = QtWidgets.QApplication(sys.argv) - win = ConfigPlotter(CONFIG) - pg.exec() diff --git a/bec_widgets/display_ui_file.py b/bec_widgets/display_ui_file.py deleted file mode 100644 index 1717c957..00000000 --- a/bec_widgets/display_ui_file.py +++ /dev/null @@ -1,33 +0,0 @@ -import os -import sys - -from qtpy import QtWidgets, uic - - -class UI(QtWidgets.QWidget): - def __init__(self, uipath): - super().__init__() - - self.ui = uic.loadUi(uipath, self) - - _, fname = os.path.split(uipath) - self.setWindowTitle(fname) - - self.show() - - -def main(): - """A basic script to display UI file - - Run the script, passing UI file path as an argument, e.g. - $ python bec_widgets/display_ui_file.py bec_widgets/line_plot.ui - """ - app = QtWidgets.QApplication(sys.argv) - - UI(sys.argv[1]) - - sys.exit(app.exec()) - - -if __name__ == "__main__": - main() diff --git a/bec_widgets/examples/extreme/extreme.py b/bec_widgets/examples/extreme/extreme.py index 8b0fb29c..053ce067 100644 --- a/bec_widgets/examples/extreme/extreme.py +++ b/bec_widgets/examples/extreme/extreme.py @@ -22,7 +22,7 @@ from pyqtgraph.Qt import QtCore, uic from pyqtgraph.Qt import QtWidgets from bec_lib import MessageEndpoints -from bec_widgets.qt_utils import Crosshair, Colors +from bec_widgets.utils import Crosshair, Colors # TODO implement: @@ -570,7 +570,7 @@ class PlotApp(QWidget): except Exception as e: print(f"An error occurred while saving the settings to {file_path}: {e}") - def load_settings_from_yaml(self) -> dict: # TODO can be replace by the qt_utils function + def load_settings_from_yaml(self) -> dict: # TODO can be replace by the utils function """Load settings from a .yaml file using a file dialog and update the current settings.""" options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog @@ -692,7 +692,7 @@ if __name__ == "__main__": import argparse # from bec_widgets import ctrl_c - from bec_widgets.bec_dispatcher import bec_dispatcher + from bec_widgets.utils.bec_dispatcher import bec_dispatcher parser = argparse.ArgumentParser(description="Plotting App") parser.add_argument( diff --git a/bec_widgets/examples/modular_app/modular_app.py b/bec_widgets/examples/modular_app/modular_app.py index 7ce48bbe..f8a3edf5 100644 --- a/bec_widgets/examples/modular_app/modular_app.py +++ b/bec_widgets/examples/modular_app/modular_app.py @@ -1,9 +1,7 @@ import os from qtpy import uic -from qtpy.QtWidgets import QMainWindow, QApplication, QVBoxLayout - -from bec_widgets.widgets.monitor import BECMonitor +from qtpy.QtWidgets import QMainWindow, QApplication # some default configs for demonstration purposes config_1 = { @@ -197,7 +195,7 @@ class ModularApp(QMainWindow): if __name__ == "__main__": - from bec_widgets.bec_dispatcher import bec_dispatcher + from bec_widgets.utils.bec_dispatcher import bec_dispatcher # BECclient global variables client = bec_dispatcher.client diff --git a/bec_widgets/examples/motor_movement/motor_example.py b/bec_widgets/examples/motor_movement/motor_example.py index bc46bc88..bd858950 100644 --- a/bec_widgets/examples/motor_movement/motor_example.py +++ b/bec_widgets/examples/motor_movement/motor_example.py @@ -25,7 +25,7 @@ from qtpy.QtWidgets import QShortcut from pyqtgraph.Qt import QtWidgets, uic, QtCore from bec_lib import MessageEndpoints, messages -from bec_widgets.qt_utils import DoubleValidationDelegate +from bec_widgets.utils import DoubleValidationDelegate # TODO - General features diff --git a/bec_widgets/examples/oneplot/oneplot.py b/bec_widgets/examples/oneplot/oneplot.py index 81053d97..2c4a745f 100644 --- a/bec_widgets/examples/oneplot/oneplot.py +++ b/bec_widgets/examples/oneplot/oneplot.py @@ -9,7 +9,8 @@ from qtpy.QtWidgets import QApplication, QTableWidgetItem, QWidget from pyqtgraph import mkBrush, mkColor, mkPen from pyqtgraph.Qt import QtCore, uic -from bec_widgets.qt_utils import Crosshair +from bec_widgets.utils import Crosshair, ctrl_c + # TODO implement: # - implement scanID database for visualizing previous scans @@ -238,8 +239,7 @@ class PlotApp(QWidget): if __name__ == "__main__": import yaml - from bec_widgets import ctrl_c - from bec_widgets.bec_dispatcher import bec_dispatcher + from bec_widgets.utils.bec_dispatcher import bec_dispatcher with open("config_noworker.yaml", "r") as file: config = yaml.safe_load(file) diff --git a/bec_widgets/examples/plotting/crosshair_example.py b/bec_widgets/examples/plotting/crosshair_example.py index da31a879..06f87174 100644 --- a/bec_widgets/examples/plotting/crosshair_example.py +++ b/bec_widgets/examples/plotting/crosshair_example.py @@ -12,7 +12,7 @@ from qtpy.QtWidgets import ( ) from pyqtgraph import mkPen from pyqtgraph.Qt import QtCore -from bec_widgets.qt_utils import Crosshair +from bec_widgets.utils import Crosshair class ExampleApp(QWidget): diff --git a/bec_widgets/examples/stream_plot/stream_plot.py b/bec_widgets/examples/stream_plot/stream_plot.py index 3a27f358..97ad9ced 100644 --- a/bec_widgets/examples/stream_plot/stream_plot.py +++ b/bec_widgets/examples/stream_plot/stream_plot.py @@ -1,21 +1,19 @@ import os import threading import time -import warnings -from typing import Any import numpy as np import pyqtgraph import pyqtgraph as pg from bec_lib import messages, MessageEndpoints -from bec_lib.redis_connector import MessageObject, RedisConnector +from bec_lib.redis_connector import RedisConnector from qtpy.QtCore import Slot as pyqtSlot -from qtpy.QtWidgets import QCheckBox, QTableWidgetItem -from pyqtgraph import mkBrush, mkColor, mkPen +from qtpy.QtWidgets import QTableWidgetItem +from pyqtgraph import mkBrush, mkPen from pyqtgraph.Qt import QtCore, QtWidgets, uic from pyqtgraph.Qt.QtCore import pyqtSignal -from bec_widgets.qt_utils import Crosshair, Colors -from bec_widgets.bec_dispatcher import bec_dispatcher +from bec_widgets.utils import Crosshair, Colors +from bec_widgets.utils.bec_dispatcher import bec_dispatcher # client = bec_dispatcher.client diff --git a/bec_widgets/qtdesigner_plugins/scan2d_plot_plugin.py b/bec_widgets/qtdesigner_plugins/scan2d_plot_plugin.py index 9adbbd40..52e66126 100644 --- a/bec_widgets/qtdesigner_plugins/scan2d_plot_plugin.py +++ b/bec_widgets/qtdesigner_plugins/scan2d_plot_plugin.py @@ -1,7 +1,7 @@ from qtpy.QtDesigner import QPyDesignerCustomWidgetPlugin from qtpy.QtGui import QIcon -from bec_widgets.scan2d_plot import BECScanPlot2D +from bec_widgets.widgets.scan_plot.scan2d_plot import BECScanPlot2D class BECScanPlot2DPlugin(QPyDesignerCustomWidgetPlugin): diff --git a/bec_widgets/qtdesigner_plugins/scan_plot_plugin.py b/bec_widgets/qtdesigner_plugins/scan_plot_plugin.py index 3757b9cc..d27c40ee 100644 --- a/bec_widgets/qtdesigner_plugins/scan_plot_plugin.py +++ b/bec_widgets/qtdesigner_plugins/scan_plot_plugin.py @@ -1,7 +1,7 @@ from qtpy.QtDesigner import QPyDesignerCustomWidgetPlugin from qtpy.QtGui import QIcon -from bec_widgets.scan_plot import BECScanPlot +from bec_widgets.widgets.scan_plot.scan_plot import BECScanPlot class BECScanPlotPlugin(QPyDesignerCustomWidgetPlugin): diff --git a/bec_widgets/readme.md b/bec_widgets/readme.md deleted file mode 100644 index aed334a1..00000000 --- a/bec_widgets/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -Add/modify the path in the following variable to make the plugin avaiable in Qt Designer: -``` -$ export PYQTDESIGNERPATH=//bec_widgets/qtdesigner_plugins -``` - -It can be done when activating a conda environment (run with the corresponding env already activated): -``` -$ conda env config vars set PYQTDESIGNERPATH=//bec_widgets/qtdesigner_plugins -``` - -All the available conda-forge `pyqt >=5.15` packages don't seem to support loading Qt Designer -python plugins at the time of writing. Use `pyqt =5.12` to solve the issue for now. diff --git a/bec_widgets/qt_utils/__init__.py b/bec_widgets/utils/__init__.py similarity index 100% rename from bec_widgets/qt_utils/__init__.py rename to bec_widgets/utils/__init__.py diff --git a/bec_widgets/bec_dispatcher.py b/bec_widgets/utils/bec_dispatcher.py similarity index 100% rename from bec_widgets/bec_dispatcher.py rename to bec_widgets/utils/bec_dispatcher.py diff --git a/bec_widgets/qt_utils/bec_table.py b/bec_widgets/utils/bec_table.py similarity index 100% rename from bec_widgets/qt_utils/bec_table.py rename to bec_widgets/utils/bec_table.py diff --git a/bec_widgets/qt_utils/colors.py b/bec_widgets/utils/colors.py similarity index 100% rename from bec_widgets/qt_utils/colors.py rename to bec_widgets/utils/colors.py diff --git a/bec_widgets/qt_utils/crosshair.py b/bec_widgets/utils/crosshair.py similarity index 100% rename from bec_widgets/qt_utils/crosshair.py rename to bec_widgets/utils/crosshair.py diff --git a/bec_widgets/ctrl_c.py b/bec_widgets/utils/ctrl_c.py similarity index 100% rename from bec_widgets/ctrl_c.py rename to bec_widgets/utils/ctrl_c.py diff --git a/bec_widgets/qt_utils/validator_delegate.py b/bec_widgets/utils/validator_delegate.py similarity index 100% rename from bec_widgets/qt_utils/validator_delegate.py rename to bec_widgets/utils/validator_delegate.py diff --git a/bec_widgets/qt_utils/widget_io.py b/bec_widgets/utils/widget_io.py similarity index 100% rename from bec_widgets/qt_utils/widget_io.py rename to bec_widgets/utils/widget_io.py diff --git a/bec_widgets/qt_utils/yaml_dialog.py b/bec_widgets/utils/yaml_dialog.py similarity index 100% rename from bec_widgets/qt_utils/yaml_dialog.py rename to bec_widgets/utils/yaml_dialog.py diff --git a/bec_widgets/widgets/monitor/config_dialog.py b/bec_widgets/widgets/monitor/config_dialog.py index 51063b65..0e67fee8 100644 --- a/bec_widgets/widgets/monitor/config_dialog.py +++ b/bec_widgets/widgets/monitor/config_dialog.py @@ -12,7 +12,7 @@ from qtpy.QtWidgets import ( QLineEdit, ) -from bec_widgets.qt_utils.yaml_dialog import load_yaml, save_yaml +from bec_widgets.utils.yaml_dialog import load_yaml, save_yaml current_path = os.path.dirname(__file__) Ui_Form, BaseClass = uic.loadUiType(os.path.join(current_path, "config_dialog.ui")) diff --git a/bec_widgets/widgets/monitor/monitor.py b/bec_widgets/widgets/monitor/monitor.py index 2d51b45b..57666393 100644 --- a/bec_widgets/widgets/monitor/monitor.py +++ b/bec_widgets/widgets/monitor/monitor.py @@ -5,14 +5,13 @@ import pyqtgraph as pg from bec_lib import MessageEndpoints from pydantic import ValidationError from pyqtgraph import mkBrush, mkPen -from qtpy import QtCore, uic +from qtpy import QtCore from qtpy.QtCore import Signal as pyqtSignal from qtpy.QtCore import Slot as pyqtSlot -from qtpy.QtWidgets import QApplication, QMessageBox, QTableWidgetItem, QWidget +from qtpy.QtWidgets import QApplication, QMessageBox -from bec_widgets.bec_dispatcher import bec_dispatcher -from bec_widgets.qt_utils import Colors, Crosshair -from bec_widgets.qt_utils.yaml_dialog import load_yaml +from bec_widgets.utils import Colors, Crosshair +from bec_widgets.utils.yaml_dialog import load_yaml from bec_widgets.validation import MonitorConfigValidator # just for demonstration purposes if script run directly @@ -590,7 +589,7 @@ if __name__ == "__main__": # pragma: no cover import json import sys - from bec_widgets.bec_dispatcher import bec_dispatcher + from bec_widgets.utils.bec_dispatcher import bec_dispatcher parser = argparse.ArgumentParser() parser.add_argument("--config_file", help="Path to the config file.") diff --git a/bec_widgets/widgets/scan_control/scan_control.py b/bec_widgets/widgets/scan_control/scan_control.py index a445ed37..f5fc130c 100644 --- a/bec_widgets/widgets/scan_control/scan_control.py +++ b/bec_widgets/widgets/scan_control/scan_control.py @@ -21,7 +21,7 @@ from qtpy.QtWidgets import ( ) from bec_lib import MessageEndpoints -from bec_widgets.qt_utils.widget_io import WidgetIO +from bec_widgets.utils.widget_io import WidgetIO class ScanArgType: @@ -425,7 +425,7 @@ class ScanControl(QWidget): # Application example if __name__ == "__main__": # pragma: no cover - from bec_widgets.bec_dispatcher import bec_dispatcher + from bec_widgets.utils.bec_dispatcher import bec_dispatcher # BECclient global variables client = bec_dispatcher.client diff --git a/bec_widgets/widgets/scan_plot/__init__.py b/bec_widgets/widgets/scan_plot/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bec_widgets/scan2d_plot.py b/bec_widgets/widgets/scan_plot/scan2d_plot.py similarity index 98% rename from bec_widgets/scan2d_plot.py rename to bec_widgets/widgets/scan_plot/scan2d_plot.py index b6065a55..7e09b78f 100644 --- a/bec_widgets/scan2d_plot.py +++ b/bec_widgets/widgets/scan_plot/scan2d_plot.py @@ -6,7 +6,7 @@ from bec_lib import MessageEndpoints from bec_lib.logger import bec_logger from qtpy.QtCore import Property as pyqtProperty, Slot as pyqtSlot -from bec_widgets.bec_dispatcher import bec_dispatcher +from bec_widgets.utils.bec_dispatcher import bec_dispatcher logger = bec_logger.logger diff --git a/bec_widgets/scan_plot.py b/bec_widgets/widgets/scan_plot/scan_plot.py similarity index 98% rename from bec_widgets/scan_plot.py rename to bec_widgets/widgets/scan_plot/scan_plot.py index 94eccf59..36a973c4 100644 --- a/bec_widgets/scan_plot.py +++ b/bec_widgets/widgets/scan_plot/scan_plot.py @@ -6,7 +6,7 @@ from bec_lib import MessageEndpoints from bec_lib.logger import bec_logger from qtpy.QtCore import Property as pyqtProperty, Slot as pyqtSlot -from bec_widgets.bec_dispatcher import bec_dispatcher +from bec_widgets.utils.bec_dispatcher import bec_dispatcher logger = bec_logger.logger diff --git a/tests/test_bec_dispatcher.py b/tests/test_bec_dispatcher.py index 075a17d2..dd2d904b 100644 --- a/tests/test_bec_dispatcher.py +++ b/tests/test_bec_dispatcher.py @@ -5,7 +5,7 @@ from bec_lib.messages import ScanMessage from bec_lib.connector import MessageObject # TODO: find a better way to mock singletons -from bec_widgets.bec_dispatcher import _BECDispatcher +from bec_widgets.utils.bec_dispatcher import _BECDispatcher msg = MessageObject(topic="", value=ScanMessage(point_id=0, scanID=0, data={}).dumps()) diff --git a/tests/test_config_plotter.py b/tests/test_config_plotter.py deleted file mode 100644 index 87f4b1e8..00000000 --- a/tests/test_config_plotter.py +++ /dev/null @@ -1,45 +0,0 @@ -import pyqtgraph as pg -from pytestqt import qtbot - -from bec_widgets import config_plotter - - -def test_config_plotter(qtbot): - """Test ConfigPlotter""" - - config = [ - { - "cols": 1, - "rows": 1, - "y": 0, - "x": 0, - "config": {"channels": ["a"], "label_xy": ["", "a"], "item": "PlotItem"}, - } - ] - plotter = config_plotter.ConfigPlotter(config) - - assert isinstance(plotter.plots["a"]["item"], pg.PlotItem) - - -def test_config_plotter_image(qtbot): - """Test ConfigPlotter""" - - config = [ - { - "cols": 1, - "rows": 1, - "y": 0, - "x": 0, - "config": {"channels": ["a"], "label_xy": ["", "a"], "item": "PlotItem"}, - }, - { - "cols": 1, - "rows": 1, - "y": 1, - "x": 0, - "config": {"channels": ["b"], "label_xy": ["", "b"], "item": "ImageItem"}, - }, - ] - plotter = config_plotter.ConfigPlotter(config) - - assert isinstance(plotter.plots["a"]["item"], pg.PlotItem) diff --git a/tests/test_crosshair.py b/tests/test_crosshair.py index 7b63bb7e..6f62d5f4 100644 --- a/tests/test_crosshair.py +++ b/tests/test_crosshair.py @@ -2,7 +2,7 @@ import numpy as np import pyqtgraph as pg from qtpy.QtCore import QPointF -from bec_widgets.qt_utils import Crosshair +from bec_widgets.utils import Crosshair def test_mouse_moved_lines(qtbot): diff --git a/tests/test_scan_control.py b/tests/test_scan_control.py index 3375d24c..c8a1189d 100644 --- a/tests/test_scan_control.py +++ b/tests/test_scan_control.py @@ -7,7 +7,7 @@ import pytest from qtpy.QtWidgets import QLineEdit from bec_widgets.widgets import ScanControl -from bec_widgets.qt_utils.widget_io import WidgetIO +from bec_widgets.utils.widget_io import WidgetIO # TODO there has to be a better way to mock messages than this, in this case I just took the msg from bec diff --git a/tests/test_scan_plot.py b/tests/test_scan_plot.py index 8978e9d1..91cca516 100644 --- a/tests/test_scan_plot.py +++ b/tests/test_scan_plot.py @@ -1,6 +1,4 @@ -from pytestqt import qtbot - -from bec_widgets import scan_plot +from bec_widgets.widgets.scan_plot import scan_plot def test_scan_plot(qtbot): diff --git a/tests/test_widget_io.py b/tests/test_widget_io.py index a60842bf..93cdaeaa 100644 --- a/tests/test_widget_io.py +++ b/tests/test_widget_io.py @@ -8,7 +8,7 @@ from qtpy.QtWidgets import ( QSpinBox, ) -from bec_widgets.qt_utils.widget_io import WidgetHierarchy +from bec_widgets.utils.widget_io import WidgetHierarchy @pytest.fixture(scope="function") diff --git a/tests/test_yaml_dialog.py b/tests/test_yaml_dialog.py index fdaf2caa..cd922246 100644 --- a/tests/test_yaml_dialog.py +++ b/tests/test_yaml_dialog.py @@ -5,7 +5,7 @@ import pytest import yaml from qtpy.QtWidgets import QWidget, QVBoxLayout, QPushButton -from bec_widgets.qt_utils.yaml_dialog import load_yaml, save_yaml +from bec_widgets.utils.yaml_dialog import load_yaml, save_yaml @pytest.fixture(scope="function")