eric7/EricWidgets/EricProgressDialog.py

branch
eric7
changeset 8358
144a6b854f70
parent 8356
68ec9c3d4de5
child 8881
54e42bc2437a
--- /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)

eric ide

mercurial