Sat, 22 May 2021 19:58:24 +0200
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
3 | # Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
7 | Module implementing specialized line edits. |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
10 | import enum |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
11 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
12 | from PyQt6.QtCore import pyqtSignal, Qt, QEvent |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
13 | from PyQt6.QtWidgets import ( |
7252
c5e3705073eb
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
14 | QLineEdit, QWidget, QHBoxLayout, QBoxLayout, QLayout, QApplication, |
c5e3705073eb
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
15 | QSpacerItem, QSizePolicy |
c5e3705073eb
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
16 | ) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
17 | |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
18 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
19 | class EricLineEditSideWidget(QWidget): |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
20 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
21 | Class implementing the side widgets for the line edit class. |
5726
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
22 | |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
23 | @signal sizeHintChanged() emitted to indicate a change of the size hint |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
24 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
25 | sizeHintChanged = pyqtSignal() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
26 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
27 | def __init__(self, parent=None): |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
28 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
29 | Constructor |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
30 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
31 | @param parent reference to the parent widget (QWidget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
32 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
33 | super().__init__(parent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
34 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
35 | def event(self, evt): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
36 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
37 | Public method to handle events. |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
38 | |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
39 | @param evt reference to the event (QEvent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
40 | @return flag indicating, whether the event was recognized (boolean) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
41 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
42 | if evt.type() == QEvent.Type.LayoutRequest: |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
43 | self.sizeHintChanged.emit() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
44 | return QWidget.event(self, evt) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
46 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
47 | class EricLineEditSide(enum.Enum): |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
48 | """ |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
49 | Class defining the line edit sides. |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
50 | """ |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
51 | LEFT = 0 |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
52 | RIGHT = 1 |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
53 | |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
54 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
55 | class EricLineEdit(QLineEdit): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | Class implementing a line edit widget showing some inactive text. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """ |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
59 | def __init__(self, parent=None, placeholderText=""): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | Constructor |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
63 | @param parent reference to the parent widget |
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
64 | @type QWidget |
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
65 | @param placeholderText text to be shown on inactivity |
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
66 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
68 | super().__init__(parent) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
70 | self.setMinimumHeight(22) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
71 | |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
72 | self.setPlaceholderText(placeholderText) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
73 | |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
74 | self.__mainLayout = QHBoxLayout(self) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
75 | self.__mainLayout.setContentsMargins(0, 0, 0, 0) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
76 | self.__mainLayout.setSpacing(0) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
77 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
78 | self.__leftMargin = 0 |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
79 | self.__leftWidget = EricLineEditSideWidget(self) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
80 | self.__leftWidget.resize(0, 0) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
81 | self.__leftLayout = QHBoxLayout(self.__leftWidget) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
82 | self.__leftLayout.setContentsMargins(0, 0, 2, 0) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
83 | if QApplication.isRightToLeft(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
84 | self.__leftLayout.setDirection(QBoxLayout.Direction.RightToLeft) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
85 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
86 | self.__leftLayout.setDirection(QBoxLayout.Direction.LeftToRight) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
87 | self.__leftLayout.setSizeConstraint( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
88 | QLayout.SizeConstraint.SetFixedSize) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
89 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
90 | self.__rightWidget = EricLineEditSideWidget(self) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
91 | self.__rightWidget.resize(0, 0) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
92 | self.__rightLayout = QHBoxLayout(self.__rightWidget) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
93 | self.__rightLayout.setContentsMargins(0, 0, 2, 0) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
94 | if self.isRightToLeft(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
95 | self.__rightLayout.setDirection(QBoxLayout.Direction.RightToLeft) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
96 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
97 | self.__rightLayout.setDirection(QBoxLayout.Direction.LeftToRight) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
98 | |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
99 | horizontalSpacer = QSpacerItem( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
100 | 0, 0, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
101 | self.__mainLayout.addWidget( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
102 | self.__leftWidget, 0, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
103 | Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignLeft) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
104 | self.__mainLayout.addItem(horizontalSpacer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
105 | self.__mainLayout.addWidget( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
106 | self.__rightWidget, 0, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
107 | Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignRight) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
108 | if self.isRightToLeft(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
109 | self.__mainLayout.setDirection(QBoxLayout.Direction.RightToLeft) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
110 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
111 | self.__mainLayout.setDirection(QBoxLayout.Direction.LeftToRight) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
112 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
113 | self.setWidgetSpacing(3) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
114 | self.__leftWidget.sizeHintChanged.connect(self._updateTextMargins) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
115 | self.__rightWidget.sizeHintChanged.connect(self._updateTextMargins) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
116 | |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
117 | def setLeftMargin(self, margin): |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
118 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
119 | Public method to set the left margin. |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
120 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
121 | @param margin left margin in pixel (integer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
122 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
123 | self.__leftMargin = margin |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
124 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
125 | def leftMargin(self): |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
126 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
127 | Public method to get the size of the left margin. |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
128 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
129 | @return left margin in pixel (integer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
130 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
131 | return self.__leftMargin |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
132 | |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
133 | def event(self, evt): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
134 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
135 | Public method to handle events. |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
136 | |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
137 | @param evt reference to the event (QEvent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
138 | @return flag indicating, whether the event was recognized (boolean) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
139 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
140 | if evt.type() == QEvent.Type.LayoutDirectionChange: |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
141 | if self.isRightToLeft(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
142 | self.__mainLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
143 | QBoxLayout.Direction.RightToLeft) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
144 | self.__leftLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
145 | QBoxLayout.Direction.RightToLeft) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
146 | self.__rightLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
147 | QBoxLayout.Direction.RightToLeft) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
148 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
149 | self.__mainLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
150 | QBoxLayout.Direction.LeftToRight) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
151 | self.__leftLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
152 | QBoxLayout.Direction.LeftToRight) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
153 | self.__rightLayout.setDirection( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
154 | QBoxLayout.Direction.LeftToRight) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
155 | return QLineEdit.event(self, evt) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
156 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
157 | def _updateTextMargins(self): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
158 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
159 | Protected slot to update the text margins. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
160 | """ |
8257
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
161 | left = ( |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
162 | self.__leftWidget.sizeHint().width() |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
163 | if self.__leftMargin == 0 else |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
164 | self.__leftMargin |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
165 | ) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
166 | right = self.__rightWidget.sizeHint().width() |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
167 | top = 0 |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
168 | bottom = 0 |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
169 | self.setTextMargins(left, top, right, bottom) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
170 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
171 | def addWidget(self, widget, position): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
172 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
173 | Public method to add a widget to a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
174 | |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
175 | @param widget reference to the widget to add |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
176 | @type QWidget |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
177 | @param position position to add to |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
178 | @type EricLineEditSide |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
179 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
180 | if widget is None: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
181 | return |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
182 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
183 | if self.isRightToLeft(): |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
184 | if position == EricLineEditSide.LEFT: |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
185 | position = EricLineEditSide.RIGHT |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
186 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
187 | position = EricLineEditSide.LEFT |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
188 | if position == EricLineEditSide.LEFT: |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
189 | self.__leftLayout.addWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
190 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
191 | self.__rightLayout.insertWidget(1, widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
192 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
193 | def removeWidget(self, widget): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
194 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
195 | Public method to remove a widget from a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
196 | |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
197 | @param widget reference to the widget to remove |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
198 | @type QWidget |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
199 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
200 | if widget is None: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
201 | return |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
202 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
203 | self.__leftLayout.removeWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
204 | self.__rightLayout.removeWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
205 | widget.hide() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
206 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
207 | def widgetSpacing(self): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
208 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
209 | Public method to get the side widget spacing. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
210 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
211 | @return side widget spacing (integer) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
212 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
213 | return self.__leftLayout.spacing() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
214 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
215 | def setWidgetSpacing(self, spacing): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
216 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
217 | Public method to set the side widget spacing. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
218 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
219 | @param spacing side widget spacing (integer) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
220 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
221 | self.__leftLayout.setSpacing(spacing) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
222 | self.__rightLayout.setSpacing(spacing) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
223 | self._updateTextMargins() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
224 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
225 | def textMargin(self, position): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
226 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
227 | Public method to get the text margin for a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
228 | |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
229 | @param position side to get margin for |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
230 | @type EricLineEditSide |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
231 | @return text margin |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
232 | @rtype int |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
233 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
234 | spacing = self.__rightLayout.spacing() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
235 | w = 0 |
8257
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
236 | w = ( |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
237 | self.__leftWidget.sizeHint().width() |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
238 | if position == EricLineEditSide.LEFT else |
8257
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
239 | self.__rightWidget.sizeHint().width() |
28146736bbfc
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
240 | ) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
241 | if w == 0: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
242 | return 0 |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
243 | return w + spacing * 2 |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
244 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
245 | class EricClearableLineEdit(EricLineEdit): |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
246 | """ |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
247 | Class implementing a line edit widget showing some inactive text and a |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
248 | clear button, if it has some contents. |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
249 | """ |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
250 | def __init__(self, parent=None, placeholderText="", |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
251 | side=EricLineEditSide.RIGHT): |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
252 | """ |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
253 | Constructor |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
254 | |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
255 | @param parent reference to the parent widget |
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
256 | @type QWidget |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
257 | @param placeholderText text to be shown on inactivity |
8268
6b8128e0c9d1
Modernized some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8257
diff
changeset
|
258 | @type str |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
259 | @param side side the clear button should be shown at |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
260 | @type EricLineEditSide |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
261 | """ |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
262 | super().__init__(parent, placeholderText) |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
263 | |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
264 | self.setClearButtonEnabled(True) |