import sys from PyQt5 import QtWidgets import json from os import path from src.gui.mainGui import MainWindow from src.controller.monitor import DirectoryMonitor from src.controller.mediator import Mediator from src.controller.converter import DataConverter from src.controller.ideal_data_builder import idealDataBuilder from src.gui.plotter import PlotWidget from src.controller.controller import Controller from src.utils.json_tools import read_json def main(): app = QtWidgets.QApplication(sys.argv) operator_params = read_json("params/operator_params.json") system_params = read_json("params/system_params.json") monitor = DirectoryMonitor(system_params['trace_storage_path'], system_params['monitor_update_period']) data_converter = DataConverter() ideal_data_builder = idealDataBuilder(operator_params, system_params) plot_widget_builder = PlotWidget(idealDataBuilder=ideal_data_builder) controller = Controller() mediator = Mediator(monitor, data_converter, plot_widget_builder, controller) monitor.start() window = MainWindow() window.show() controller.signal_widgets.connect(window.show_plot_tabs) sys.exit(app.exec_()) if __name__ == '__main__': main()