RefactoringRope/ErrorDialog.py

Wed, 01 Jan 2020 11:59:01 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 01 Jan 2020 11:59:01 +0100
changeset 326
67bcde9c65b9
parent 302
2e853e2f2430
child 346
877cac2e8d94
permissions
-rw-r--r--

Updated copyright for 2020.

# -*- coding: utf-8 -*-

# Copyright (c) 2018 - 2020 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing a dialog to show an error message and optionally a
traceback.
"""

from __future__ import unicode_literals

from PyQt5.QtWidgets import QDialog

from .Ui_ErrorDialog import Ui_ErrorDialog


class ErrorDialog(QDialog, Ui_ErrorDialog):
    """
    Class implementing a dialog to show an error message and optionally a
    traceback.
    """
    def __init__(self, title, errorMessage, traceback=None, parent=None):
        """
        Constructor
        
        @param title title of the dialog
        @type str
        @param errorMessage error message to be shown
        @type str
        @param traceback list of traceback entries
        @type list of str
        @param parent reference to the parent widget
        @type QWidget
        """
        super(ErrorDialog, self).__init__(parent)
        self.setupUi(self)
        
        self.tracebackEdit.hide()
        
        self.setWindowTitle(title)
        self.errorMessageLabel.setText(errorMessage)
        if traceback:
            tbIntro = self.tr("Traceback (most recent call first):\n\n")
            self.tracebackEdit.setPlainText(
                tbIntro + "\n".join(reversed(traceback)))
        else:
            self.tracebackEdit.setEnabled(False)

eric ide

mercurial