aboutsummaryrefslogtreecommitdiffstats
path: root/Lib/defconQt/objects/colorWidgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/defconQt/objects/colorWidgets.py')
-rw-r--r--Lib/defconQt/objects/colorWidgets.py15
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)