fix: исправлено взаимодействие с новыми типами данных
This commit is contained in:
parent
4dfd9a5a8f
commit
b7a190ec54
@ -12,6 +12,13 @@ from OptAlgorithm import OptAlgorithm
|
||||
from utils.qt_settings import dark_style
|
||||
|
||||
|
||||
@dataclass
|
||||
class PlotItems:
|
||||
regions: dict
|
||||
curves: dict
|
||||
qt_items: dict
|
||||
|
||||
|
||||
@dataclass
|
||||
class PointPassport:
|
||||
timeframe: list
|
||||
@ -20,11 +27,18 @@ class PointPassport:
|
||||
useful_data: dict
|
||||
|
||||
|
||||
@dataclass
|
||||
class UsefulGraphData:
|
||||
client_time: float
|
||||
range_ME: float
|
||||
k_hardness: float
|
||||
|
||||
|
||||
@dataclass
|
||||
class GraphicPassport:
|
||||
dataframe: pd.DataFrame
|
||||
points_pocket: list[PointPassport]
|
||||
useful_data: dict
|
||||
useful_data: UsefulGraphData
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -127,8 +141,10 @@ class BasePlotWidget:
|
||||
mediator: Optional[BaseMediator] = None,
|
||||
controller: BaseController = None):
|
||||
super().__init__()
|
||||
self._mediator = mediator
|
||||
self._controller = controller
|
||||
self._mediator: BaseMediator = mediator
|
||||
self._controller: BaseController = controller
|
||||
self._datalen: int = 0
|
||||
self._datastep: int = 0
|
||||
|
||||
self._stage_colors = {
|
||||
"Closing": [220, 20, 60, 100], # Crimson
|
||||
|
||||
@ -6,7 +6,7 @@ import numpy as np
|
||||
import pandas as pd
|
||||
from loguru import logger
|
||||
|
||||
from base.base import BasePointPassportFormer, BaseIdealDataBuilder, PointPassport, GraphicPassport, Settings
|
||||
from base.base import BasePointPassportFormer, BaseIdealDataBuilder, PointPassport, GraphicPassport, Settings, UsefulGraphData
|
||||
|
||||
|
||||
class PassportFormer(BasePointPassportFormer):
|
||||
@ -115,31 +115,27 @@ class PassportFormer(BasePointPassportFormer):
|
||||
key = list(self._settings.operator.keys())[0]
|
||||
point_quantity = len(self._settings.operator[key])
|
||||
|
||||
graphic_passport = GraphicPassport()
|
||||
graphic_passport.dataframe = dataframe
|
||||
graphic_passport.points_pocket = []
|
||||
system_settings = {key: value[0] for key, value in self._settings.system.items()}
|
||||
graphic_passport.useful_data = self._form_graphic_useful_data(system_settings)
|
||||
graphic_passport = GraphicPassport(dataframe, [], self._form_graphic_useful_data(system_settings))
|
||||
|
||||
for i in range(point_quantity):
|
||||
point_settings = Settings()
|
||||
point_settings.operator = self._get_operator_settings_part(i)
|
||||
point_settings.system = system_settings
|
||||
point_settings = Settings(self._get_operator_settings_part(i), system_settings)
|
||||
|
||||
point_passport = PointPassport()
|
||||
point_passport.ideal_data = self._form_point_ideal_data(point_settings)
|
||||
point_passport.useful_data = self._form_point_useful_data(point_settings.operator)
|
||||
point_passport.timeframe, point_passport.events = self._form_point_events(events, i)
|
||||
timeframe, po_events = self._form_point_events(events, i)
|
||||
ideal_data = self._form_point_ideal_data(point_settings)
|
||||
useful_data = self._form_point_useful_data(point_settings.operator)
|
||||
point_passport = PointPassport(timeframe, po_events, ideal_data, useful_data)
|
||||
|
||||
graphic_passport.points_pocket.append(point_passport)
|
||||
return graphic_passport
|
||||
|
||||
def _form_graphic_useful_data(self, system_settings:dict) -> dict:
|
||||
tesla_time = sum(self._settings.operator.get("Tesla summary time", []))
|
||||
useful_data = {"tesla_time": tesla_time,
|
||||
"range_ME": system_settings["Range ME, mm"],
|
||||
"k_hardness": system_settings["k_hardness_1"]
|
||||
}
|
||||
useful_data = UsefulGraphData(
|
||||
tesla_time,
|
||||
system_settings["Range ME, mm"],
|
||||
system_settings["k_hardness_1"]
|
||||
)
|
||||
return useful_data
|
||||
|
||||
def _form_point_useful_data(self, operator_settings:dict) -> dict:
|
||||
@ -151,7 +147,7 @@ class PassportFormer(BasePointPassportFormer):
|
||||
def _form_point_ideal_data(self, point_settings:Settings) -> dict:
|
||||
cache_key = self._generate_cache_key(point_settings)
|
||||
ideal_data = self._ideal_data_cashe.get(cache_key,
|
||||
self._build_ideal_data(idealDataBuilder=IdealDataBuilder, params=point_settings))
|
||||
self._build_ideal_data(idealDataBuilder=IdealDataBuilder, point_settings=point_settings))
|
||||
self._ideal_data_cashe[cache_key] = ideal_data
|
||||
return ideal_data
|
||||
|
||||
@ -218,7 +214,7 @@ class IdealDataBuilder(BaseIdealDataBuilder):
|
||||
]
|
||||
return ideal_timings
|
||||
|
||||
def _get_data(self, end_timestamp:float, func:function) -> pd.DataFrame:
|
||||
def _get_data(self, end_timestamp:float, func) -> pd.DataFrame:
|
||||
data = []
|
||||
for i in range (0, int(end_timestamp*self.mul)+1):
|
||||
time = i/self.mul
|
||||
|
||||
@ -116,10 +116,8 @@ class MainWindow(BaseMainWindow):
|
||||
self.signal_mode.emit(2)
|
||||
|
||||
def _transfer_settings(self) -> None:
|
||||
settings = Settings()
|
||||
settings.operator = self.operSettings.getParams()
|
||||
settings.system = self.sysSettings.getParams()
|
||||
self.signal_settings.emit(Settings)
|
||||
settings = Settings(self.operSettings.getParams(), self.sysSettings.getParams())
|
||||
self.signal_settings.emit(settings)
|
||||
|
||||
def _upd_settings(self) -> None:
|
||||
self._transfer_settings()
|
||||
|
||||
@ -12,6 +12,7 @@ from PyQt5.QtWidgets import QSizePolicy as QSP
|
||||
|
||||
from gui.settings_window import SystemSettings, OperatorSettings
|
||||
from gui.report_gui import ReportSettings
|
||||
from base.base import PlotItems
|
||||
|
||||
|
||||
class StartWidget(QWidget):
|
||||
@ -124,13 +125,13 @@ class CustomTabWidget(QTabWidget):
|
||||
|
||||
#TODO: переписать обмен данными, засунуть ссылки куда-то еще
|
||||
def create_tab(self, plot_widget:QWidget) -> None:
|
||||
widget, reg_items, curve_items, qt_items = plot_widget
|
||||
plot_items:PlotItems = plot_widget.property("plot_items")
|
||||
tab = QWidget()
|
||||
tab.setProperty("reg_items", reg_items)
|
||||
tab.setProperty("curve_items", curve_items)
|
||||
tab.setProperty("qt_items", qt_items)
|
||||
tab.setProperty("reg_items", plot_items.regions)
|
||||
tab.setProperty("curve_items", plot_items.curves)
|
||||
tab.setProperty("qt_items", plot_items.qt_items)
|
||||
grid = QGridLayout()
|
||||
grid.addWidget(widget)
|
||||
grid.addWidget(plot_widget)
|
||||
tab.setLayout(grid)
|
||||
self.addTab(tab, "SF_trace_" + dt.now().strftime('%Y_%m_%d-%H_%M_%S'))
|
||||
self.setCurrentWidget(tab)
|
||||
|
||||
@ -9,7 +9,7 @@ from controller.mediator import Mediator
|
||||
from controller.converter import DataConverter
|
||||
from gui.plotter import PlotWidget
|
||||
from controller.controller import Controller
|
||||
from src.controller.passport_former import PassportFormer
|
||||
from controller.passport_former import PassportFormer
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
Loading…
Reference in New Issue
Block a user