Skip to content
Snippets Groups Projects
Commit 9074665c authored by Andreas Bolin's avatar Andreas Bolin
Browse files

added close event

parent 93bf62c2
No related branches found
No related tags found
1 merge request!78Add scheduler GUI
......@@ -86,10 +86,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)))
# 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)
......@@ -107,6 +108,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self._settings = QSettings()
self.setupUi(self)
self.closeEvent = self._close_event
# Init signals/slots
self.pushbutton_add.clicked.connect(self.callback_pushButton)
......@@ -128,18 +130,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.splitter_center.setCollapsible(1, True)
def _init_graphics_view(self) -> None:
pass
#self.setCentralWidget(self.graphicsView)
# pass
"""Initialize the QGraphics"""
self.graphic_scene = QGraphicsScene(self)
self.graphic_view.setScene(self.graphic_scene)
#self.graphic_view = QGraphicsView(self.scene, self)
self.graphic_view.setRenderHint(QPainter.Antialiasing)
self.graphic_view.setGeometry(20, 20, self.width(), self.height())
self.graphic_view.setDragMode(QGraphicsView.RubberBandDrag)
# print(self.centralwidget.baseSize())
#self.setupUi(self) # Need to setup ui again
###############
......@@ -148,24 +145,25 @@ class MainWindow(QMainWindow, Ui_MainWindow):
@Slot()
def callback_pushButton(self) -> None:
#diagram = Diagram()
self.printButtonPressed('callback_pushButton')
self.printButtonPressed(self.tr('callback_pushButton'))
@Slot()
def open(self) -> None:
"""This method loads an SFG and create a base schedule in gui."""
#TODO: all
self.printButtonPressed('load_sfg()')
self.update_statusbar('SFG loaded successfully')
self.update_statusbar(self.tr('SFG loaded successfully'))
@Slot()
def save(self) -> None:
"""This method save an schedule."""
#TODO: all
self.printButtonPressed('save_schedule()')
self.update_statusbar('Schedule saved successfully')
self.update_statusbar(self.tr('Schedule saved successfully'))
@Slot(bool)
def _toggle_component_info(self, checked: bool) -> None:
"""This method toggles the right hand side info window."""
widths = list(self.splitter_center.sizes())
max_range = widths[0] + widths[1]
if checked:
......@@ -176,6 +174,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
@Slot(int, int)
def _splitter_center_moved(self, pos: int, index: int) -> None:
"""Callback method used to check if the right widget (info window)
has collapsed. Update the checkbutton accordingly."""
widths: list[int, int] = list(self.splitter_center.sizes())
#TODO: Custom move handler, save state on click-release?
if widths[1] == 0:
......@@ -187,14 +187,16 @@ class MainWindow(QMainWindow, Ui_MainWindow):
################
#### Events ####
################
# def closeEvent(self, event: QCloseEvent) -> None:
# """Overloads QMainWindow default closeEvent(QCloseEvent) event"""
# QMessageBox.StandardButton resBtn = QMessageBox::question( this, APP_NAME,
# self.tr("Are you sure?\n"),
# QMessageBox::Cancel | QMessageBox::No | QMessageBox::Yes,
# QMessageBox::Yes);
# pass
def _close_event(self, event: QCloseEvent) -> None:
"""Overloads QMainWindow default closeEvent(QCloseEvent) event"""
ret = QMessageBox.question(self, self.tr("Application"),
self.tr("Do you want to exit?"))
if ret == QMessageBox.StandardButton.Yes:
event.accept()
else:
event.ignore()
#################################
#### Helper member functions ####
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment