Compare commits
2 Commits
72b002dea3
...
056d9fedb8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
056d9fedb8 | ||
|
|
67e4a9ea70 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,6 +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.signal_settings.emit(settings)
|
||||
|
||||
@ -20,9 +20,9 @@ class Mediator(BaseMediator):
|
||||
if issubclass(source.__class__, BasePlotWidget):
|
||||
self._controller.send_widgets(data)
|
||||
|
||||
def push_settings(self, data: list[dict]):
|
||||
self._monitor.update_settings(data)
|
||||
self._plot.update_settings(data)
|
||||
def push_settings(self, settings: list[dict]):
|
||||
self._monitor.update_settings(settings)
|
||||
self._plot.update_settings(settings)
|
||||
self._monitor.force_all_dir()
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@ -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)
|
||||
@ -47,7 +50,7 @@ class MainWindow(BaseMainWindow):
|
||||
self.tabWidget.clear()
|
||||
operator_params = self.operSettings.getParams()
|
||||
system_params = self.sysSettings.getParams()
|
||||
self._mediator.push_settings(data=[operator_params, system_params])
|
||||
self._controller.push_settings([operator_params, system_params])
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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,13 +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_())
|
||||
|
||||
|
||||
Binary file not shown.
@ -15,8 +15,7 @@ class BaseMediator:
|
||||
monitor: BaseDirectoryMonitor,
|
||||
converter: BaseDataConverter,
|
||||
plot: BasePlotWidget,
|
||||
controller: BaseController,
|
||||
window: BaseMainWindow):
|
||||
controller: BaseController):
|
||||
self._monitor = monitor
|
||||
self._monitor.mediator = self
|
||||
self._converter = converter
|
||||
@ -24,8 +23,7 @@ class BaseMediator:
|
||||
self._plot = plot
|
||||
self._plot.mediator = self
|
||||
self._controller = controller
|
||||
self._window = window
|
||||
self._window.mediator = self
|
||||
self._controller.mediator = self
|
||||
|
||||
def notify(self,
|
||||
source: Union[BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BaseMainWindow],
|
||||
@ -236,6 +234,8 @@ class BaseController(QObject):
|
||||
def send_widgets(self, widgets: list[QWidget]) -> None:
|
||||
...
|
||||
|
||||
def push_settings(self, settings: list[dict]) -> None:
|
||||
...
|
||||
|
||||
|
||||
# FIXME: WeldingDF показывает только 1 секунду
|
||||
@ -276,17 +276,18 @@ class BaseIdealDataBuilder(OptAlgorithm):
|
||||
|
||||
class BaseMainWindow(QWidget):
|
||||
def __init__(self,
|
||||
mediator: Optional[BaseMediator] = None):
|
||||
controller: Optional[BaseController] = None):
|
||||
super().__init__()
|
||||
self._mediator = mediator
|
||||
self._controller = controller
|
||||
...
|
||||
|
||||
@property
|
||||
def mediator(self) -> BaseMediator:
|
||||
return self._mediator
|
||||
def controller(self) -> BaseController:
|
||||
return self._controller
|
||||
|
||||
@mediator.setter
|
||||
def mediator(self, mediator: BaseMediator) -> None:
|
||||
self._mediator = mediator
|
||||
@controller.setter
|
||||
def controller(self, controller: BaseController) -> None:
|
||||
self._controller = controller
|
||||
|
||||
def set_style(self, object: Union[QTabWidget, QWidget]) -> None:
|
||||
object.setStyleSheet("""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user