Добавлена функция передачи данных калькулятора в расчёт полнофакторного анализа
This commit is contained in:
@@ -4,11 +4,13 @@ from PyQt5.QtGui import QColor
|
||||
import json
|
||||
from ..models.medium_model import MediumModel
|
||||
from ..models.reagent import Reagent
|
||||
from ..views.experiment_view import ExperimentDesignWindow
|
||||
|
||||
class MediumController:
|
||||
def __init__(self, view):
|
||||
self.model = MediumModel()
|
||||
self.view = view
|
||||
self.doe_window = None
|
||||
self._connect_signals()
|
||||
self._setup_initial_data()
|
||||
|
||||
@@ -18,6 +20,7 @@ class MediumController:
|
||||
self.view.calculate_btn.clicked.connect(self._perform_calculation)
|
||||
self.view.save_btn.clicked.connect(self.save_composition)
|
||||
self.view.load_btn.clicked.connect(self.load_composition)
|
||||
self.view.to_doe_btn.clicked.connect(self.send_to_doe)
|
||||
self.view.solvent_input.textChanged.connect(self.view.update_solvent_name)
|
||||
|
||||
def _setup_initial_data(self):
|
||||
@@ -66,6 +69,28 @@ class MediumController:
|
||||
except ValueError as e:
|
||||
raise ValueError(f"Ошибка в строке {row + 1}: {str(e)}")
|
||||
|
||||
def send_to_doe(self):
|
||||
"""Передаёт данные о реагентах в окно планирования эксперимента"""
|
||||
reagents = self.view.get_reagents_data()
|
||||
|
||||
if len(reagents) == 0:
|
||||
self.view.show_error("Нет реагентов для передачи в планировщик эксперимента!")
|
||||
return
|
||||
|
||||
# Создаём или показываем существующее окно DoE
|
||||
if self.doe_window is None:
|
||||
self.doe_window = ExperimentDesignWindow()
|
||||
|
||||
# Передаём данные в окно DoE
|
||||
self.doe_window.load_factors_from_reagents(reagents)
|
||||
self.doe_window.show()
|
||||
self.doe_window.raise_()
|
||||
self.doe_window.activateWindow()
|
||||
|
||||
self.view.show_info(f"Передано {len(reagents)} реагентов в планировщик эксперимента\n"
|
||||
f"Каждый реагент добавлен как фактор.\n"
|
||||
f"Его концентрация (%) установлена как нулевой уровень.")
|
||||
|
||||
def save_composition(self):
|
||||
filename, _ = QFileDialog.getSaveFileName(self.view, "Сохранить состав среды", "", "JSON Files (*.json);;All Files (*)")
|
||||
if filename:
|
||||
|
||||
Reference in New Issue
Block a user