eric7/Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.py

branch
eric7
changeset 9068
d5b274508a0f
parent 8881
54e42bc2437a
child 9108
19a57544f32c
equal deleted inserted replaced
9067:abad8563ee7d 9068:d5b274508a0f
30 @param parent parent widget (QWidget) 30 @param parent parent widget (QWidget)
31 """ 31 """
32 super().__init__(parent) 32 super().__init__(parent)
33 self.setupUi(self) 33 self.setupUi(self)
34 34
35 # set the validators for the double line edots 35 # set the validators for the double line edits
36 self.eDoubleDefault.setValidator( 36 self.eDoubleDefault.setValidator(
37 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleDefault)) 37 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleDefault))
38 self.eDoubleFrom.setValidator( 38 self.eDoubleFrom.setValidator(
39 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleFrom)) 39 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleFrom))
40 self.eDoubleTo.setValidator( 40 self.eDoubleTo.setValidator(
41 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleTo)) 41 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleTo))
42 42
43 self.rText.toggled.connect(self.__typeSelectButtonToggled)
44 self.rMultiLineText.toggled.connect(self.__typeSelectButtonToggled)
45 self.rInteger.toggled.connect(self.__typeSelectButtonToggled)
46 self.rDouble.toggled.connect(self.__typeSelectButtonToggled)
47 self.rItem.toggled.connect(self.__typeSelectButtonToggled)
48
43 self.bTest = self.buttonBox.addButton( 49 self.bTest = self.buttonBox.addButton(
44 self.tr("Test"), QDialogButtonBox.ButtonRole.ActionRole) 50 self.tr("Test"), QDialogButtonBox.ButtonRole.ActionRole)
45 51
52 # simulate a dialog type selection
53 self.__typeSelectButtonToggled(True)
54
46 msh = self.minimumSizeHint() 55 msh = self.minimumSizeHint()
47 self.resize(max(self.width(), msh.width()), msh.height()) 56 self.resize(max(self.width(), msh.width()), msh.height())
48 57
49 @pyqtSlot(bool) 58 @pyqtSlot(bool)
50 def on_rItem_toggled(self, checked): 59 def __typeSelectButtonToggled(self, checked):
51 """ 60 """
52 Private slot to perform actions dependant on the item type selection. 61 Private slot to modify the dialog according to the selected type.
53 62
54 @param checked flag indicating the checked state (boolean) 63 Note: This is a multiplexed slot. Therefore it just reacts upon a
55 """ 64 positive check state (i.e. checked == True).
56 self.bTest.setEnabled(not checked) 65
57 66 @param checked flag indicating the checked state
67 @type bool
68 """
69 self.bTest.setEnabled(True)
70 if checked:
71 if self.rText.isChecked():
72 self.specificsStack.setCurrentWidget(self.textPage)
73 elif self.rMultiLineText.isChecked():
74 self.specificsStack.setCurrentWidget(self.multiLineTextPage)
75 elif self.rInteger.isChecked():
76 self.specificsStack.setCurrentWidget(self.integerPage)
77 elif self.rDouble.isChecked():
78 self.specificsStack.setCurrentWidget(self.doublePage)
79 elif self.rItem.isChecked():
80 self.specificsStack.setCurrentWidget(self.itemPage)
81 self.bTest.setEnabled(False)
82
58 def on_buttonBox_clicked(self, button): 83 def on_buttonBox_clicked(self, button):
59 """ 84 """
60 Private slot called by a button of the button box clicked. 85 Private slot called by a button of the button box clicked.
61 86
62 @param button button that was clicked (QAbstractButton) 87 @param button button that was clicked (QAbstractButton)
80 None, 105 None,
81 self.eCaption.text(), 106 self.eCaption.text(),
82 self.eLabel.text(), 107 self.eLabel.text(),
83 echomode, 108 echomode,
84 self.eTextDefault.text()) 109 self.eTextDefault.text())
110 elif self.rMultiLineText.isChecked():
111 QInputDialog.getMultiLineText(
112 None,
113 self.eCaption.text(),
114 self.eLabel.text(),
115 self.eMultiTextDefault.toPlainText())
85 elif self.rInteger.isChecked(): 116 elif self.rInteger.isChecked():
86 QInputDialog.getInt( 117 QInputDialog.getInt(
87 None, 118 None,
88 self.eCaption.text(), 119 self.eCaption.text(),
89 self.eLabel.text(), 120 self.eLabel.text(),
152 elif self.rEchoNoEcho.isChecked(): 183 elif self.rEchoNoEcho.isChecked():
153 code += 'QLineEdit.EchoMode.NoEcho' 184 code += 'QLineEdit.EchoMode.NoEcho'
154 else: 185 else:
155 code += 'QLineEdit.EchoMode.Password' 186 code += 'QLineEdit.EchoMode.Password'
156 if self.eTextDefault.text(): 187 if self.eTextDefault.text():
157 code += ',{0}{1}self.tr("{2}")'.format( 188 if self.cTranslateTextDefault.isChecked():
158 os.linesep, istring, self.eTextDefault.text()) 189 code += ',{0}{1}self.tr("{2}")'.format(
190 os.linesep, istring, self.eTextDefault.text())
191 else:
192 code += ',{0}{1}"{2}"'.format(
193 os.linesep, istring, self.eTextDefault.text())
194 code += '{0}){0}'.format(estring)
195 elif self.rMultiLineText.isChecked():
196 code +='getMultiLineText({0}{1}'.format(os.linesep, istring)
197 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
198 code += 'self.tr("{0}"),{1}{2}'.format(
199 self.eCaption.text(), os.linesep, istring)
200 code += 'self.tr("{0}")'.format(self.eLabel.text())
201 if self.eMultiTextDefault.toPlainText():
202 defTxt = "\\n".join(
203 self.eMultiTextDefault.toPlainText().splitlines()
204 )
205 if self.cTranslateMultiTextDefault.isChecked():
206 code += ',{0}{1}self.tr("{2}")'.format(
207 os.linesep, istring,
208 defTxt)
209 else:
210 code += ',{0}{1}"{2}"'.format(
211 os.linesep, istring,
212 defTxt)
159 code += '{0}){0}'.format(estring) 213 code += '{0}){0}'.format(estring)
160 elif self.rInteger.isChecked(): 214 elif self.rInteger.isChecked():
161 code += 'getInt({0}{1}'.format(os.linesep, istring) 215 code += 'getInt({0}{1}'.format(os.linesep, istring)
162 code += '{0},{1}{2}'.format(parent, os.linesep, istring) 216 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
163 code += 'self.tr("{0}"),{1}{2}'.format( 217 code += 'self.tr("{0}"),{1}{2}'.format(

eric ide

mercurial