eric7/E5Gui/EricSqueezeLabels.py

branch
eric7
changeset 8358
144a6b854f70
parent 8357
a081458cc57b
child 8359
0e29e54e9269
--- a/eric7/E5Gui/EricSqueezeLabels.py	Sat May 22 19:52:34 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing labels that squeeze their contents to fit the size of the
-label.
-"""
-
-from PyQt6.QtCore import Qt
-from PyQt6.QtWidgets import QLabel
-
-from Utilities import compactPath
-
-
-class EricSqueezeLabel(QLabel):
-    """
-    Class implementing a label that squeezes its contents to fit its size.
-    """
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent Widget (QWidget)
-        """
-        super().__init__(parent)
-        
-        self.__text = ''
-        self.__elided = ''
-    
-    def paintEvent(self, event):
-        """
-        Protected method called when some painting is required.
-        
-        @param event reference to the paint event (QPaintEvent)
-        """
-        fm = self.fontMetrics()
-        try:
-            pixelLength = fm.horizontalAdvance(self.__text)
-        except AttributeError:
-            pixelLength = fm.width(self.__text)
-        if pixelLength > self.contentsRect().width():
-            self.__elided = fm.elidedText(
-                self.text(), Qt.TextElideMode.ElideMiddle, self.width())
-            super().setText(self.__elided)
-        else:
-            super().setText(self.__text)
-        super().paintEvent(event)
-    
-    def setText(self, txt):
-        """
-        Public method to set the label's text.
-        
-        @param txt the text to be shown (string)
-        """
-        self.__text = txt
-        super().setText(self.__text)
-
-
-class EricSqueezeLabelPath(QLabel):
-    """
-    Class implementing a label showing a file path compacted to fit its size.
-    """
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent Widget (QWidget)
-        """
-        super().__init__(parent)
-        
-        self.__path = ''
-        self.__surrounding = "{0}"
-    
-    def setSurrounding(self, surrounding):
-        """
-        Public method to set the surrounding of the path string.
-        
-        @param surrounding the a string containg placeholders for the path
-            (string)
-        """
-        self.__surrounding = surrounding
-        super().setText(
-            self.__surrounding.format(self.__path))
-    
-    def setPath(self, path):
-        """
-        Public method to set the path of the label.
-        
-        @param path path to be shown (string)
-        """
-        self.__path = path
-        super().setText(
-            self.__surrounding.format(self.__path))
-    
-    def setTextPath(self, surrounding, path):
-        """
-        Public method to set the surrounding and the path of the label.
-        
-        @param surrounding the a string containg placeholders for the path
-            (string)
-        @param path path to be shown (string)
-        """
-        self.__surrounding = surrounding
-        self.__path = path
-        super().setText(
-            self.__surrounding.format(self.__path))
-    
-    def paintEvent(self, event):
-        """
-        Protected method called when some painting is required.
-        
-        @param event reference to the paint event (QPaintEvent)
-        """
-        if self.length(self.__path) > self.contentsRect().width():
-            super().setText(
-                self.__surrounding.format(compactPath(self.__path,
-                                          self.contentsRect().width(),
-                                          self.length))
-            )
-        else:
-            super().setText(
-                self.__surrounding.format(self.__path))
-        super().paintEvent(event)
-    
-    def length(self, txt):
-        """
-        Public method to return the length of a text in pixels.
-        
-        @param txt text to calculate the length for after wrapped (string)
-        @return length of the wrapped text in pixels (integer)
-        """
-        fm = self.fontMetrics()
-        try:
-            return fm.horizontalAdvance(self.__surrounding.format(txt))
-        except AttributeError:
-            return fm.width(self.__surrounding.format(txt))

eric ide

mercurial