--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/EricWidgets/EricProgressDialog.py Sat May 22 19:58:24 2021 +0200 @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a progress dialog allowing a customized progress bar label. +""" + +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QProgressBar, QProgressDialog + + +class EricProgressDialog(QProgressDialog): + """ + Class implementing a progress dialog allowing a customized progress bar + label. + """ + def __init__(self, labelText, cancelButtonText, minimum, maximum, + labelFormat=None, parent=None, flags=None): + """ + Constructor + + @param labelText text of the dialog label (string) + @param cancelButtonText text of the cancel button (string) + @param minimum minimum value (integer) + @param maximum maximum value (integer) + @param labelFormat label format of the progress bar (string) + @param parent reference to the parent widget (QWidget) + @param flags window flags of the dialog (Qt.WindowFlags) + """ + if flags is None: + flags = Qt.WindowType(0) + super().__init__( + labelText, cancelButtonText, minimum, maximum, parent, flags) + + self.__progressBar = QProgressBar(self) + self.__progressBar.setMinimum(minimum) + self.__progressBar.setMaximum(maximum) + if labelFormat: + self.__progressBar.setFormat(labelFormat) + + self.setBar(self.__progressBar) + + def format(self): + """ + Public method to get the progress bar format. + + @return progress bar format (string) + """ + return self.__progressBar.format() + + def setFormat(self, labelFormat): + """ + Public method to set the progress bar format. + + @param labelFormat progress bar format (string) + """ + self.__progressBar.setFormat(labelFormat)