import sys import pyqtgraph as pg from PyQt5 import QtWidgets from gui.mainGui import MainWindow from controller.monitor import DirectoryMonitor from controller.mediator import Mediator from controller.converter import DataConverter from gui.plotter import PlotWidget from controller.controller import Controller from controller.passportFormer import PassportFormer # TODO: Актуализировать requirements.txt!!! Делать это регулярно после добавления новых библиотек! # TODO: Именование модулей: lowercase / snake_case. def main(): pg.setConfigOptions(useOpenGL=False, antialias=False) app = QtWidgets.QApplication(sys.argv) monitor = DirectoryMonitor() data_converter = DataConverter() plot_widget_builder = PlotWidget() controller = Controller() passport_former = PassportFormer() window = MainWindow(controller) mediator = Mediator(monitor, data_converter, passport_former, plot_widget_builder, controller) window.show() controller.signal_widgets.connect(window.show_plot_tabs) controller.signal_statusBar.connect(window.update_progressBar) controller.signal_statusText.connect(window.update_stateLabel) controller.signal_settings.connect(mediator.update_settings) controller.signal_open_file.connect(monitor.custom_csv_extract_only) controller.signal_raport_mode.connect(monitor.start_raport) controller.signal_seeking_mode.connect(monitor.start_seeking) controller.signal_update_plots.connect(monitor.update_plots) sys.exit(app.exec_()) if __name__ == '__main__': main()