0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

feat(qt_utils): added warning utility with simple API to setup warning message

This commit is contained in:
2024-07-16 17:34:35 +02:00
committed by Mathias Guijarro
parent 196ef7afe1
commit 787f74949b

View File

@ -29,6 +29,37 @@ def SafeSlot(*slot_args, **slot_kwargs):
return error_managed
class WarningPopupUtility(QObject):
"""
Utility class to show warning popups in the application.
"""
def __init__(self, parent=None):
super().__init__(parent)
@Slot(str, str, str, QWidget)
def show_warning_message(self, title, message, detailed_text, widget):
msg = QMessageBox(widget)
msg.setIcon(QMessageBox.Warning)
msg.setWindowTitle(title)
msg.setText(message)
msg.setStandardButtons(QMessageBox.Ok)
msg.setDetailedText(detailed_text)
msg.exec_()
def show_warning(self, title: str, message: str, detailed_text: str, widget: QWidget = None):
"""
Show a warning message with the given title, message, and detailed text.
Args:
title (str): The title of the warning message.
message (str): The main text of the warning message.
detailed_text (str): The detailed text to show when the user expands the message.
widget (QWidget): The parent widget for the message box.
"""
self.show_warning_message(title, message, detailed_text, widget)
class ErrorPopupUtility(QObject):
"""
Utility class to manage error popups in the application to show error messages to the users.
@ -145,6 +176,7 @@ class ExampleWidget(QWidget): # pragma: no cover
def __init__(self, parent=None):
super().__init__(parent=parent)
self.init_ui()
self.warning_utility = WarningPopupUtility(self)
def init_ui(self):
self.layout = QVBoxLayout(self)