Compare commits

..

No commits in common. "056d9fedb8aef7bb650149f8a5ed78ef77952506" and "72b002dea3723233a7c23a804a45436c03b7eefa" have entirely different histories.

11 changed files with 21 additions and 29 deletions

Binary file not shown.

View File

@ -7,10 +7,6 @@ from src.utils.base.base import BaseController
class Controller(BaseController): class Controller(BaseController):
signal_widgets = pyqtSignal(list) signal_widgets = pyqtSignal(list)
signal_settings = pyqtSignal(list)
def send_widgets(self, widgets: list[QWidget]) -> None: def send_widgets(self, widgets: list[QWidget]) -> None:
self.signal_widgets.emit(widgets) self.signal_widgets.emit(widgets)
def push_settings(self, settings: list[dict]) -> None:
self.signal_settings.emit(settings)

View File

@ -20,9 +20,9 @@ class Mediator(BaseMediator):
if issubclass(source.__class__, BasePlotWidget): if issubclass(source.__class__, BasePlotWidget):
self._controller.send_widgets(data) self._controller.send_widgets(data)
def push_settings(self, settings: list[dict]): def push_settings(self, data: list[dict]):
self._monitor.update_settings(settings) self._monitor.update_settings(data)
self._plot.update_settings(settings) self._plot.update_settings(data)
self._monitor.force_all_dir() self._monitor.force_all_dir()

View File

@ -1,16 +1,13 @@
from datetime import datetime as dt from datetime import datetime as dt
from typing import Optional
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt
from src.utils.base.base import BaseMainWindow, BaseController from src.utils.base.base import BaseMainWindow
from src.gui.settings_window import settingsWindow from src.gui.settings_window import settingsWindow
class MainWindow(BaseMainWindow): class MainWindow(BaseMainWindow):
def __init__(self, def __init__(self):
controller: Optional[BaseController] = None):
super().__init__() super().__init__()
self._controller = controller
self.initUI() self.initUI()
self.set_style(self) self.set_style(self)
self.settings_button.clicked.connect(self._show_settings) self.settings_button.clicked.connect(self._show_settings)
@ -50,7 +47,7 @@ class MainWindow(BaseMainWindow):
self.tabWidget.clear() self.tabWidget.clear()
operator_params = self.operSettings.getParams() operator_params = self.operSettings.getParams()
system_params = self.sysSettings.getParams() system_params = self.sysSettings.getParams()
self._controller.push_settings([operator_params, system_params]) self._mediator.push_settings(data=[operator_params, system_params])

View File

@ -9,6 +9,7 @@ from src.controller.mediator import Mediator
from src.controller.converter import DataConverter from src.controller.converter import DataConverter
from src.gui.plotter import PlotWidget from src.gui.plotter import PlotWidget
from src.controller.controller import Controller from src.controller.controller import Controller
from src.utils.json_tools import read_json
def main(): def main():
@ -17,14 +18,13 @@ def main():
data_converter = DataConverter() data_converter = DataConverter()
plot_widget_builder = PlotWidget() plot_widget_builder = PlotWidget()
controller = Controller() controller = Controller()
window = MainWindow(controller) window = MainWindow()
mediator = Mediator(monitor, data_converter, plot_widget_builder, controller) mediator = Mediator(monitor, data_converter, plot_widget_builder, controller, window)
window.push_settings()
window.show() window.show()
controller.signal_widgets.connect(window.show_plot_tabs) controller.signal_widgets.connect(window.show_plot_tabs)
controller.signal_settings.connect(mediator.push_settings)
window.push_settings()
sys.exit(app.exec_()) sys.exit(app.exec_())

View File

@ -15,7 +15,8 @@ class BaseMediator:
monitor: BaseDirectoryMonitor, monitor: BaseDirectoryMonitor,
converter: BaseDataConverter, converter: BaseDataConverter,
plot: BasePlotWidget, plot: BasePlotWidget,
controller: BaseController): controller: BaseController,
window: BaseMainWindow):
self._monitor = monitor self._monitor = monitor
self._monitor.mediator = self self._monitor.mediator = self
self._converter = converter self._converter = converter
@ -23,7 +24,8 @@ class BaseMediator:
self._plot = plot self._plot = plot
self._plot.mediator = self self._plot.mediator = self
self._controller = controller self._controller = controller
self._controller.mediator = self self._window = window
self._window.mediator = self
def notify(self, def notify(self,
source: Union[BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BaseMainWindow], source: Union[BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BaseMainWindow],
@ -234,8 +236,6 @@ class BaseController(QObject):
def send_widgets(self, widgets: list[QWidget]) -> None: def send_widgets(self, widgets: list[QWidget]) -> None:
... ...
def push_settings(self, settings: list[dict]) -> None:
...
# FIXME: WeldingDF показывает только 1 секунду # FIXME: WeldingDF показывает только 1 секунду
@ -276,18 +276,17 @@ class BaseIdealDataBuilder(OptAlgorithm):
class BaseMainWindow(QWidget): class BaseMainWindow(QWidget):
def __init__(self, def __init__(self,
controller: Optional[BaseController] = None): mediator: Optional[BaseMediator] = None):
super().__init__() super().__init__()
self._controller = controller self._mediator = mediator
...
@property @property
def controller(self) -> BaseController: def mediator(self) -> BaseMediator:
return self._controller return self._mediator
@controller.setter @mediator.setter
def controller(self, controller: BaseController) -> None: def mediator(self, mediator: BaseMediator) -> None:
self._controller = controller self._mediator = mediator
def set_style(self, object: Union[QTabWidget, QWidget]) -> None: def set_style(self, object: Union[QTabWidget, QWidget]) -> None:
object.setStyleSheet(""" object.setStyleSheet("""