eric6/E5Gui/E5ProgressDialog.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/E5Gui/E5ProgressDialog.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2013 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a progress dialog allowing a customized progress bar label.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt5.QtCore import Qt
+from PyQt5.QtWidgets import QProgressBar, QProgressDialog
+
+
+class E5ProgressDialog(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)
+        @keyparam labelFormat label format of the progress bar (string)
+        @keyparam parent reference to the parent widget (QWidget)
+        @keyparam flags window flags of the dialog (Qt.WindowFlags)
+        """
+        if flags is None:
+            flags = Qt.WindowFlags()
+        super(E5ProgressDialog, self).__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