Sun, 17 Feb 2013 19:07:15 +0100
Updated to Pygments 1.6.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
2302
f29e9405c851
Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
3 | # Copyright (c) 2009 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a palette widget for the icon editor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
10 | from PyQt4.QtCore import pyqtSignal, Qt |
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
11 | from PyQt4.QtGui import QWidget, QColor, QPainter, QBoxLayout, QLabel, QFrame, \ |
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
12 | QPushButton, QSpinBox, QGroupBox, QVBoxLayout, QRadioButton, QSpacerItem, \ |
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
13 | QSizePolicy, QPixmap, QColorDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
15 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class IconEditorPalette(QWidget): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Class implementing a palette widget for the icon editor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | @signal colorSelected(QColor) emitted after a new color has been selected |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
21 | @signal compositingChanged(QPainter.CompositionMode) emitted to signal a change |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
22 | of the compositing mode |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
495
b31b0bffa5b0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
24 | colorSelected = pyqtSignal(QColor) |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
25 | compositingChanged = pyqtSignal(QPainter.CompositionMode) |
495
b31b0bffa5b0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
26 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
27 | def __init__(self, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | @param parent reference to the parent widget (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
33 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | if self.layoutDirection == Qt.Horizontal: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | direction = QBoxLayout.LeftToRight |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | direction = QBoxLayout.TopToBottom |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | self.__layout = QBoxLayout(direction, self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | self.setLayout(self.__layout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.__preview = QLabel(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.__preview.setFrameStyle(QFrame.Panel | QFrame.Sunken) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | self.__preview.setFixedHeight(64) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.__preview.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.__preview.setWhatsThis(self.trUtf8( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """<b>Preview</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """<p>This is a 1:1 preview of the current icon.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | )) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.__layout.addWidget(self.__preview) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.__color = QLabel(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.__color.setFrameStyle(QFrame.Panel | QFrame.Sunken) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.__color.setFixedHeight(24) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.__color.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__color.setWhatsThis(self.trUtf8( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """<b>Current Color</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """<p>This is the currently selected color used for drawing.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | )) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.__layout.addWidget(self.__color) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.__colorTxt = QLabel(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.__colorTxt.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | self.__colorTxt.setWhatsThis(self.trUtf8( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """<b>Current Color Value</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """<p>This is the currently selected color value used for drawing.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | )) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.__layout.addWidget(self.__colorTxt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | self.__colorButton = QPushButton(self.trUtf8("Select Color"), self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | self.__colorButton.setWhatsThis(self.trUtf8( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | """<b>Select Color</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """<p>Select the current drawing color via a color selection dialog.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | )) |
464
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
414
diff
changeset
|
75 | self.__colorButton.clicked[()].connect(self.__selectColor) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.__layout.addWidget(self.__colorButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.__colorAlpha = QSpinBox(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.__colorAlpha.setRange(0, 255) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.__colorAlpha.setWhatsThis(self.trUtf8( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """<b>Select alpha channel value</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | """<p>Select the value for the alpha channel of the current color.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | )) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.__layout.addWidget(self.__colorAlpha) |
495
b31b0bffa5b0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
85 | self.__colorAlpha.valueChanged[int].connect(self.__alphaChanged) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
87 | self.__compositingGroup = QGroupBox(self.trUtf8("Compositing"), self) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
88 | self.__compositingGroupLayout = QVBoxLayout(self.__compositingGroup) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
89 | self.__compositingGroup.setLayout(self.__compositingGroupLayout) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
90 | self.__sourceButton = QRadioButton(self.trUtf8("Replace"), |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
91 | self.__compositingGroup) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
92 | self.__sourceButton.setWhatsThis(self.trUtf8( |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
93 | """<b>Replace</b>""" |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
94 | """<p>Replace the existing pixel with a new color.</p>""" |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
95 | )) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
96 | self.__sourceButton.clicked[bool].connect(self.__compositingChanged) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
97 | self.__compositingGroupLayout.addWidget(self.__sourceButton) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
98 | self.__sourceOverButton = QRadioButton(self.trUtf8("Blend"), |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
99 | self.__compositingGroup) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
100 | self.__sourceOverButton.setWhatsThis(self.trUtf8( |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
101 | """<b>Blend</b>""" |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
102 | """<p>Blend the new color over the existing pixel.</p>""" |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
103 | )) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
104 | self.__sourceOverButton.setChecked(True) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
105 | self.__sourceOverButton.clicked[bool].connect(self.__compositingChanged) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
106 | self.__compositingGroupLayout.addWidget(self.__sourceOverButton) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
107 | self.__layout.addWidget(self.__compositingGroup) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
108 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | spacer = QSpacerItem(10, 10, QSizePolicy.Minimum, QSizePolicy.Expanding) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.__layout.addItem(spacer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def previewChanged(self, pixmap): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | Public slot to update the preview. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.__preview.setPixmap(pixmap) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | def colorChanged(self, color): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | Public slot to update the color preview. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | self.__currentColor = color |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.__currentAlpha = color.alpha() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | pm = QPixmap(90, 18) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | pm.fill(color) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | self.__color.setPixmap(pm) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.__colorTxt.setText( |
414
8c91e942d2da
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
130 | "{0:d}, {1:d}, {2:d}, {3:d}".format( |
8c91e942d2da
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
131 | color.red(), color.green(), color.blue(), color.alpha())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | self.__colorAlpha.setValue(self.__currentAlpha) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | def __selectColor(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | Private slot to select a new drawing color. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | col = QColorDialog.getColor(self.__currentColor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | col.setAlpha(self.__currentAlpha) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | if col.isValid(): |
495
b31b0bffa5b0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
143 | self.colorSelected.emit(col) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | def __alphaChanged(self, val): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | Private slot to track changes of the alpha channel. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | @param val value of the alpha channel |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | if val != self.__currentAlpha: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
152 | col = QColor(self.__currentColor) |
826
2e3e2055e715
Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
153 | col.setAlpha(val) |
2e3e2055e715
Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
154 | self.colorSelected.emit(col) |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
155 | |
619
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
156 | def setCompositingMode(self, mode): |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
157 | """ |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
158 | Public method to set the compositing mode. |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
159 | |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
160 | @param mode compositing mode to set (QPainter.CompositionMode) |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
161 | """ |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
162 | if mode == QPainter.CompositionMode_Source: |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
163 | self.__sourceButton.setChecked(True) |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
164 | elif mode == QPainter.CompositionMode_SourceOver: |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
165 | self.__sourceOverButton.setChecked(True) |
52f88b8fe8b2
Fixed a forgotten initialisation statement and supporting method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
618
diff
changeset
|
166 | |
618
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
167 | def __compositingChanged(self, on): |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
168 | """ |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
169 | Private slot to handle a change of the compositing mode. |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
170 | |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
171 | @param on flag indicating the checked state of the compositing button (boolean) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
172 | """ |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
173 | if on: |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
174 | if self.__sourceButton.isChecked(): |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
175 | self.compositingChanged.emit(QPainter.CompositionMode_Source) |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
176 | elif self.__sourceOverButton.isChecked(): |
42580bfc0777
Added use of compositing modes to the icon editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
177 | self.compositingChanged.emit(QPainter.CompositionMode_SourceOver) |