diff options
Diffstat (limited to 'Lib/defconQt/objects/colorWidgets.py')
| -rw-r--r-- | Lib/defconQt/objects/colorWidgets.py | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/Lib/defconQt/objects/colorWidgets.py b/Lib/defconQt/objects/colorWidgets.py index f9708c7..f8b4010 100644 --- a/Lib/defconQt/objects/colorWidgets.py +++ b/Lib/defconQt/objects/colorWidgets.py @@ -1,4 +1,4 @@ -from PyQt5.QtCore import QSize, Qt +from PyQt5.QtCore import pyqtSignal, QSize, Qt  from PyQt5.QtWidgets import (QColorDialog, QStyle, QStyleOptionFrame,                               QStylePainter, QWidget) @@ -11,9 +11,12 @@ class ColorVignette(QWidget):      Inspired by ColorPreview and ColorSelector, by Mattia Basaglia.      """ +    colorChanged = pyqtSignal() +      def __init__(self, color, parent=None):          super().__init__(parent)          self._color = color +        self._margins = (0, 2, 0, -2)          self._readOnly = False      def color(self): @@ -31,6 +34,14 @@ class ColorVignette(QWidget):          ok = dialog.exec_()          if ok:              self.setColor(dialog.currentColor()) +            self.colorChanged.emit() + +    def margins(self): +        dx1, dy1, dx2, dy2 = self._margins +        return (dx1, dy1, -dx2, -dy2) + +    def setMargins(self, left, top, right, bottom): +        self._margins = (left, top, -right, -bottom)      def readOnly(self):          return self._readOnly @@ -43,7 +54,7 @@ class ColorVignette(QWidget):          panel.initFrom(self)          panel.lineWidth = 2          panel.midLineWidth = 0 -        panel.rect = panel.rect.adjusted(2, 2, -2, -2) +        panel.rect = panel.rect.adjusted(*self._margins)          panel.state = panel.state | QStyle.State_Sunken          self.style().drawPrimitive(QStyle.PE_Frame, panel, painter, self)          r = self.style().subElementRect(QStyle.SE_FrameContents, panel, self) | 
