dev: перестройка графиков при изменении настроек перенесена в контроллер
This commit is contained in:
parent
72b002dea3
commit
67e4a9ea70
@ -10,3 +10,6 @@ class Controller(BaseController):
|
|||||||
|
|
||||||
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._mediator.push_settings(settings)
|
||||||
|
|||||||
@ -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, data: list[dict]):
|
def push_settings(self, settings: list[dict]):
|
||||||
self._monitor.update_settings(data)
|
self._monitor.update_settings(settings)
|
||||||
self._plot.update_settings(data)
|
self._plot.update_settings(settings)
|
||||||
self._monitor.force_all_dir()
|
self._monitor.force_all_dir()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -47,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._mediator.push_settings(data=[operator_params, system_params])
|
self._controller.push_settings([operator_params, system_params])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,7 @@ def main():
|
|||||||
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)
|
||||||
|
|
||||||
|
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
|||||||
@ -15,8 +15,7 @@ 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
|
||||||
@ -24,8 +23,7 @@ class BaseMediator:
|
|||||||
self._plot = plot
|
self._plot = plot
|
||||||
self._plot.mediator = self
|
self._plot.mediator = self
|
||||||
self._controller = controller
|
self._controller = controller
|
||||||
self._window = window
|
self._controller.mediator = self
|
||||||
self._window.mediator = self
|
|
||||||
|
|
||||||
def notify(self,
|
def notify(self,
|
||||||
source: Union[BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BaseMainWindow],
|
source: Union[BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BaseMainWindow],
|
||||||
@ -232,10 +230,27 @@ class BasePlotWidget:
|
|||||||
...
|
...
|
||||||
|
|
||||||
class BaseController(QObject):
|
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:
|
def send_widgets(self, widgets: list[QWidget]) -> None:
|
||||||
...
|
...
|
||||||
|
|
||||||
|
def push_settings(self, settings: list[dict]) -> None:
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
# FIXME: WeldingDF показывает только 1 секунду
|
# FIXME: WeldingDF показывает только 1 секунду
|
||||||
@ -276,17 +291,17 @@ class BaseIdealDataBuilder(OptAlgorithm):
|
|||||||
|
|
||||||
class BaseMainWindow(QWidget):
|
class BaseMainWindow(QWidget):
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
mediator: Optional[BaseMediator] = None):
|
controller: Optional[BaseController] = None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self._mediator = mediator
|
self._controller = controller
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def mediator(self) -> BaseMediator:
|
def controller(self) -> BaseController:
|
||||||
return self._mediator
|
return self._controller
|
||||||
|
|
||||||
@mediator.setter
|
@controller.setter
|
||||||
def mediator(self, mediator: BaseMediator) -> None:
|
def controller(self, controller: BaseController) -> None:
|
||||||
self._mediator = mediator
|
self._controller = controller
|
||||||
|
|
||||||
def set_style(self, object: Union[QTabWidget, QWidget]) -> None:
|
def set_style(self, object: Union[QTabWidget, QWidget]) -> None:
|
||||||
object.setStyleSheet("""
|
object.setStyleSheet("""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user