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):
signal_widgets = pyqtSignal(list)
signal_settings = pyqtSignal(list)
def send_widgets(self, widgets: list[QWidget]) -> None:
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):
self._controller.send_widgets(data)
def push_settings(self, settings: list[dict]):
self._monitor.update_settings(settings)
self._plot.update_settings(settings)
def push_settings(self, data: list[dict]):
self._monitor.update_settings(data)
self._plot.update_settings(data)
self._monitor.force_all_dir()

View File

@ -1,16 +1,13 @@
from datetime import datetime as dt
from typing import Optional
from PyQt5 import QtWidgets
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
class MainWindow(BaseMainWindow):
def __init__(self,
controller: Optional[BaseController] = None):
def __init__(self):
super().__init__()
self._controller = controller
self.initUI()
self.set_style(self)
self.settings_button.clicked.connect(self._show_settings)
@ -50,7 +47,7 @@ class MainWindow(BaseMainWindow):
self.tabWidget.clear()
operator_params = self.operSettings.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.gui.plotter import PlotWidget
from src.controller.controller import Controller
from src.utils.json_tools import read_json
def main():
@ -17,14 +18,13 @@ def main():
data_converter = DataConverter()
plot_widget_builder = PlotWidget()
controller = Controller()
window = MainWindow(controller)
mediator = Mediator(monitor, data_converter, plot_widget_builder, controller)
window = MainWindow()
mediator = Mediator(monitor, data_converter, plot_widget_builder, controller, window)
window.push_settings()
window.show()
controller.signal_widgets.connect(window.show_plot_tabs)
controller.signal_settings.connect(mediator.push_settings)
window.push_settings()
sys.exit(app.exec_())

View File

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