diff --git a/.gitignore b/.gitignore index 6d5a7954d6090e11a7e8a76d383aa628a16a10d1..0d54c09f4a8eec136e8fae2a71833814ee04105f 100644 --- a/.gitignore +++ b/.gitignore @@ -111,4 +111,5 @@ _b_asic_debug_log.txt .qt_for_python/ *.pyproject.user *.pyproject -*/scheduler-gui/ui/ \ No newline at end of file +*/scheduler-gui/ui/ +TODO.txt \ No newline at end of file diff --git a/b_asic/scheduler-gui/main_window.py b/b_asic/scheduler-gui/main_window.py index 7afae02822f9920c71109679945a3abd2ccdb284..06be36575ea03847f35069667e6a3978c609d13f 100644 --- a/b_asic/scheduler-gui/main_window.py +++ b/b_asic/scheduler-gui/main_window.py @@ -7,23 +7,28 @@ Contains the scheduler-gui class for scheduling operations in an SFG. import os, sys -from pathlib import Path -from typing import Any +from pathlib import Path +from typing import Any #from matplotlib.pyplot import bar #from diagram import * -from qtpy import uic, QtCore, QtGui, QtWidgets import qtpy +from qtpy import uic, QtCore, QtGui, QtWidgets from qtpy.QtCore import Qt, Slot, QSettings from qtpy.QtGui import QCloseEvent from qtpy.QtWidgets import QApplication, QMainWindow, QMessageBox -# QPainter imports -from qtpy.QtWidgets import QGraphicsView, QGraphicsScene, QMessageBox -from qtpy.QtGui import ( +# QGraphics and QPainter imports +from qtpy.QtWidgets import ( + QGraphicsView, QGraphicsScene, + QGraphicsLayout, QGraphicsLinearLayout, QGraphicsGridLayout, QGraphicsLayoutItem, QGraphicsAnchorLayout, + QGraphicsItem, QGraphicsItemGroup, QGraphicsItemAnimation + ) +from qtpy.QtGui import ( QPaintEvent, QPainter, QPainterPath, QColor, QBrush, QPen, QFont, QPolygon, QLinearGradient) - +from qtpy.QtCore import ( + QRect) # Debug struff @@ -87,30 +92,11 @@ class MainWindow(QMainWindow, Ui_MainWindow): def _init_ui(self) -> None: """Initialize the ui""" - # self._ui = uic.loadUi("main_window.ui", None) # Load the .ui file - # #self._ui.setupUi(self) - # print('self:\t\t',str(type(self))) - # print('self._ui:\t',str(type(self._ui))) - # self._ui.pushbutton_add.clicked.connect(self.callback_pushButton) - # self._ui.menu_load_sfg.triggered.connect(self.load_sfg) - # self._ui.menu_save_schedule.triggered.connect(self.save_schedule) - # self._ui.menu_quit.triggered.connect(self._ui.close) - # self._ui.menu_node_info.triggered.connect(self.toggle_node_info) - # self._ui.show() - - # if __debug__: - # #self.ui = Ui_MainWindow() - # #self.ui.setupUi(self) - # self.setupUi(self) - # #print(type(self.ui)) - # else: - # uic.loadUi("main_window.ui", self) # Load the .ui file - + self._settings = QSettings() self.setupUi(self) - self.closeEvent = self._close_event - # Init signals/slots + # Connect signals to slots self.pushbutton_add.clicked.connect(self.callback_pushButton) self.menu_load_sfg.triggered.connect(self.open) self.menu_save_schedule.triggered.connect(self.save) @@ -118,6 +104,9 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.menu_node_info.triggered.connect(self._toggle_component_info) self.splitter_center.splitterMoved.connect(self._splitter_center_moved) + # Setup event member functions + self.closeEvent = self._close_event + # Init info sidebar for i in range(10): self.listWidget.addItem('this is a very very very very long string that says abolutly nothing' + str(i)) @@ -188,7 +177,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): #### Events #### ################ def _close_event(self, event: QCloseEvent) -> None: - """Overloads QMainWindow default closeEvent(QCloseEvent) event""" + """Replace QMainWindow default closeEvent(QCloseEvent) event""" ret = QMessageBox.question(self, self.tr("Application"), self.tr("Do you want to exit?")) if ret == QMessageBox.StandardButton.Yes: