fix: изменены взаимосвязи

This commit is contained in:
Andrew 2024-11-26 18:28:05 +03:00
parent 67e4a9ea70
commit 056d9fedb8
10 changed files with 11 additions and 22 deletions

Binary file not shown.

View File

@ -7,9 +7,10 @@ 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._mediator.push_settings(settings)
self.signal_settings.emit(settings)

View File

@ -1,13 +1,16 @@
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
from src.utils.base.base import BaseMainWindow, BaseController
from src.gui.settings_window import settingsWindow
class MainWindow(BaseMainWindow):
def __init__(self):
def __init__(self,
controller: Optional[BaseController] = None):
super().__init__()
self._controller = controller
self.initUI()
self.set_style(self)
self.settings_button.clicked.connect(self._show_settings)

View File

@ -9,7 +9,6 @@ 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():
@ -18,14 +17,14 @@ def main():
data_converter = DataConverter()
plot_widget_builder = PlotWidget()
controller = Controller()
window = MainWindow()
mediator = Mediator(monitor, data_converter, plot_widget_builder, controller, window)
window.push_settings()
window = MainWindow(controller)
mediator = Mediator(monitor, data_converter, plot_widget_builder, controller)
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

@ -230,21 +230,6 @@ class BasePlotWidget:
...
class BaseController(QObject):
def __init__(self,
window: Optional[BaseMainWindow] = None,
mediator: Optional[BaseMediator] = None):
super().__init__()
self._mediator = mediator
self._window = window
self._window.controller = self
@property
def mediator(self) -> BaseMediator:
return self._mediator
@mediator.setter
def mediator(self, mediator: BaseMediator) -> None:
self._mediator = mediator
def send_widgets(self, widgets: list[QWidget]) -> None:
...
@ -294,6 +279,7 @@ class BaseMainWindow(QWidget):
controller: Optional[BaseController] = None):
super().__init__()
self._controller = controller
...
@property
def controller(self) -> BaseController: