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