diff --git a/utils/gui/pyqt/error_popup/ErrorPopup.py b/utils/gui/pyqt/error_popup/ErrorPopup.py new file mode 100644 index 0000000000000000000000000000000000000000..50e52a39e9a397a0aea26e517e75518d8330b445 --- /dev/null +++ b/utils/gui/pyqt/error_popup/ErrorPopup.py @@ -0,0 +1,32 @@ +from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt5.QtWidgets import QMessageBox + +class ErrorPopup(object): + + def __init__(self,error_text,details = None,button_label = None,button_callback=None): + self.error_text = error_text + self.button_label = button_label + self.button_callback = button_callback + self.details = details + + + def show_popup(self): + msg = QMessageBox() + msg.setWindowTitle("Erreur") + msg.setText("Erreur: " + self.error_text) + msg.setIcon(QMessageBox.Critical) + + if self.button_label is not None and self.button_callback is not None: + msg.setStandardButtons(QMessageBox.Cancel|QMessageBox.Retry) + msg.setDefaultButton(QMessageBox.Cancel) + msg.button(QMessageBox.Cancel).clicked.connect(msg.close) + msg.button(QMessageBox.Retry).setText(self.button_label) + msg.button(QMessageBox.Retry).clicked.connect(self.button_callback) + else: + msg.setStandardButtons(QMessageBox.Ok) + msg.setDefaultButton(QMessageBox.Ok) + msg.button(QMessageBox.Ok).clicked.connect(msg.close) + msg.setInformativeText(self.error_text) + if self.details is not None: + msg.setDetailedText(self.details) + msg.exec_() \ No newline at end of file