Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.py

changeset 3005
3953ddfb991d
parent 2824
858412c29c34
child 3025
67064c71df21
child 3057
10516539f238
equal deleted inserted replaced
3004:c4bf32c791d0 3005:3953ddfb991d
6 """ 6 """
7 Module implementing a dialog for entering character classes. 7 Module implementing a dialog for entering character classes.
8 """ 8 """
9 9
10 from PyQt4.QtCore import QRegExp 10 from PyQt4.QtCore import QRegExp
11 from PyQt4.QtGui import QWidget, QDialog, QVBoxLayout, QHBoxLayout, QScrollArea, \ 11 from PyQt4.QtGui import QWidget, QDialog, QVBoxLayout, QHBoxLayout, \
12 QPushButton, QSpacerItem, QSizePolicy, QComboBox, QRegExpValidator, QLineEdit, QLabel 12 QScrollArea, QPushButton, QSpacerItem, QSizePolicy, QComboBox, \
13 QRegExpValidator, QLineEdit, QLabel
13 14
14 from .Ui_QRegularExpressionWizardCharactersDialog import \ 15 from .Ui_QRegularExpressionWizardCharactersDialog import \
15 Ui_QRegularExpressionWizardCharactersDialog 16 Ui_QRegularExpressionWizardCharactersDialog
16 17
17 18
88 hlayout0.setObjectName("hlayout0") 89 hlayout0.setObjectName("hlayout0")
89 self.moreSinglesButton = QPushButton(self.trUtf8("Additional Entries"), 90 self.moreSinglesButton = QPushButton(self.trUtf8("Additional Entries"),
90 self.singlesBox) 91 self.singlesBox)
91 self.moreSinglesButton.setObjectName("moreSinglesButton") 92 self.moreSinglesButton.setObjectName("moreSinglesButton")
92 hlayout0.addWidget(self.moreSinglesButton) 93 hlayout0.addWidget(self.moreSinglesButton)
93 hspacer0 = QSpacerItem(30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) 94 hspacer0 = QSpacerItem(
95 30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
94 hlayout0.addItem(hspacer0) 96 hlayout0.addItem(hspacer0)
95 self.singlesBoxLayout.addLayout(hlayout0) 97 self.singlesBoxLayout.addLayout(hlayout0)
96 self.moreSinglesButton.clicked[()].connect(self.__addSinglesLine) 98 self.moreSinglesButton.clicked[()].connect(self.__addSinglesLine)
97 99
98 # generate dialog part for character ranges 100 # generate dialog part for character ranges
122 hlayout1.setObjectName("hlayout1") 124 hlayout1.setObjectName("hlayout1")
123 self.moreRangesButton = QPushButton(self.trUtf8("Additional Entries"), 125 self.moreRangesButton = QPushButton(self.trUtf8("Additional Entries"),
124 self.rangesBox) 126 self.rangesBox)
125 self.moreSinglesButton.setObjectName("moreRangesButton") 127 self.moreSinglesButton.setObjectName("moreRangesButton")
126 hlayout1.addWidget(self.moreRangesButton) 128 hlayout1.addWidget(self.moreRangesButton)
127 hspacer1 = QSpacerItem(30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) 129 hspacer1 = QSpacerItem(
130 30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
128 hlayout1.addItem(hspacer1) 131 hlayout1.addItem(hspacer1)
129 self.rangesBoxLayout.addLayout(hlayout1) 132 self.rangesBoxLayout.addLayout(hlayout1)
130 self.moreRangesButton.clicked[()].connect(self.__addRangesLine) 133 self.moreRangesButton.clicked[()].connect(self.__addRangesLine)
131 134
132 def __initCharacterSelectors(self): 135 def __initCharacterSelectors(self):
174 (self.trUtf8("Other, Private Use"), "Co"), 177 (self.trUtf8("Other, Private Use"), "Co"),
175 (self.trUtf8("Other, Surrogat"), "Cn"), 178 (self.trUtf8("Other, Surrogat"), "Cn"),
176 ) 179 )
177 180
178 self.__specialCharacterCategories = ( 181 self.__specialCharacterCategories = (
179 # display name code 182 # display name code
180 (self.trUtf8("Alphanumeric"), "Xan"), 183 (self.trUtf8("Alphanumeric"), "Xan"),
181 (self.trUtf8("POSIX Space"), "Xps"), 184 (self.trUtf8("POSIX Space"), "Xps"),
182 (self.trUtf8("Perl Space"), "Xsp"), 185 (self.trUtf8("Perl Space"), "Xsp"),
183 (self.trUtf8("Universal Character"), "Xuc"), 186 (self.trUtf8("Universal Character"), "Xuc"),
184 (self.trUtf8("Perl Word"), "Xan"), 187 (self.trUtf8("Perl Word"), "Xan"),
185 ) 188 )
186 189
187 self.__characterBlocks = ( 190 self.__characterBlocks = (
188 # display name code 191 # display name code
189 (self.trUtf8("Arabic"), "Arabic"), 192 (self.trUtf8("Arabic"), "Arabic"),
190 (self.trUtf8("Armenian"), "Armenian"), 193 (self.trUtf8("Armenian"), "Armenian"),
191 (self.trUtf8("Avestan"), "Avestan"), 194 (self.trUtf8("Avestan"), "Avestan"),
192 (self.trUtf8("Balinese"), "Balinese"), 195 (self.trUtf8("Balinese"), "Balinese"),
193 (self.trUtf8("Bamum"), "Bamum"), 196 (self.trUtf8("Bamum"), "Bamum"),
194 (self.trUtf8("Batak"), "Batak"), 197 (self.trUtf8("Batak"), "Batak"),
195 (self.trUtf8("Bengali"), "Bengali"), 198 (self.trUtf8("Bengali"), "Bengali"),
196 (self.trUtf8("Bopomofo"), "Bopomofo"), 199 (self.trUtf8("Bopomofo"), "Bopomofo"),
197 (self.trUtf8("Brahmi"), "Brahmi"), 200 (self.trUtf8("Brahmi"), "Brahmi"),
198 (self.trUtf8("Braille"), "Braille"), 201 (self.trUtf8("Braille"), "Braille"),
199 (self.trUtf8("Buginese"), "Buginese"), 202 (self.trUtf8("Buginese"), "Buginese"),
200 (self.trUtf8("Buhid"), "Buhid"), 203 (self.trUtf8("Buhid"), "Buhid"),
201 (self.trUtf8("Canadian Aboriginal"), "Canadian_Aboriginal"), 204 (self.trUtf8("Canadian Aboriginal"), "Canadian_Aboriginal"),
202 (self.trUtf8("Carian"), "Carian"), 205 (self.trUtf8("Carian"), "Carian"),
203 (self.trUtf8("Chakma"), "Chakma"), 206 (self.trUtf8("Chakma"), "Chakma"),
204 (self.trUtf8("Cham"), "Cham"), 207 (self.trUtf8("Cham"), "Cham"),
205 (self.trUtf8("Cherokee"), "Cherokee"), 208 (self.trUtf8("Cherokee"), "Cherokee"),
206 (self.trUtf8("Common"), "Common"), 209 (self.trUtf8("Common"), "Common"),
207 (self.trUtf8("Coptic"), "Coptic"), 210 (self.trUtf8("Coptic"), "Coptic"),
208 (self.trUtf8("Cuneiform"), "Cuneiform"), 211 (self.trUtf8("Cuneiform"), "Cuneiform"),
209 (self.trUtf8("Cypriot"), "Cypriot"), 212 (self.trUtf8("Cypriot"), "Cypriot"),
210 (self.trUtf8("Cyrillic"), "Cyrillic"), 213 (self.trUtf8("Cyrillic"), "Cyrillic"),
211 (self.trUtf8("Deseret"), "Deseret,"), 214 (self.trUtf8("Deseret"), "Deseret,"),
212 (self.trUtf8("Devanagari"), "Devanagari"), 215 (self.trUtf8("Devanagari"), "Devanagari"),
213 (self.trUtf8("Egyptian Hieroglyphs"), "Egyptian_Hieroglyphs"), 216 (self.trUtf8("Egyptian Hieroglyphs"), "Egyptian_Hieroglyphs"),
214 (self.trUtf8("Ethiopic"), "Ethiopic"), 217 (self.trUtf8("Ethiopic"), "Ethiopic"),
215 (self.trUtf8("Georgian"), "Georgian"), 218 (self.trUtf8("Georgian"), "Georgian"),
216 (self.trUtf8("Glagolitic"), "Glagolitic"), 219 (self.trUtf8("Glagolitic"), "Glagolitic"),
217 (self.trUtf8("Gothic"), "Gothic"), 220 (self.trUtf8("Gothic"), "Gothic"),
218 (self.trUtf8("Greek"), "Greek"), 221 (self.trUtf8("Greek"), "Greek"),
219 (self.trUtf8("Gujarati"), "Gujarati"), 222 (self.trUtf8("Gujarati"), "Gujarati"),
220 (self.trUtf8("Gurmukhi"), "Gurmukhi"), 223 (self.trUtf8("Gurmukhi"), "Gurmukhi"),
221 (self.trUtf8("Han"), "Han"), 224 (self.trUtf8("Han"), "Han"),
222 (self.trUtf8("Hangul"), "Hangul"), 225 (self.trUtf8("Hangul"), "Hangul"),
223 (self.trUtf8("Hanunoo"), "Hanunoo"), 226 (self.trUtf8("Hanunoo"), "Hanunoo"),
224 (self.trUtf8("Hebrew"), "Hebrew"), 227 (self.trUtf8("Hebrew"), "Hebrew"),
225 (self.trUtf8("Hiragana"), "Hiragana"), 228 (self.trUtf8("Hiragana"), "Hiragana"),
226 (self.trUtf8("Imperial Aramaic"), "Imperial_Aramaic"), 229 (self.trUtf8("Imperial Aramaic"), "Imperial_Aramaic"),
227 (self.trUtf8("Inherited"), "Inherited"), 230 (self.trUtf8("Inherited"), "Inherited"),
228 (self.trUtf8("Inscriptional Pahlavi"), "Inscriptional_Pahlavi"), 231 (self.trUtf8("Inscriptional Pahlavi"), "Inscriptional_Pahlavi"),
229 (self.trUtf8("Inscriptional Parthian"), "Inscriptional_Parthian"), 232 (self.trUtf8("Inscriptional Parthian"), "Inscriptional_Parthian"),
230 (self.trUtf8("Javanese"), "Javanese"), 233 (self.trUtf8("Javanese"), "Javanese"),
231 (self.trUtf8("Kaithi"), "Kaithi"), 234 (self.trUtf8("Kaithi"), "Kaithi"),
232 (self.trUtf8("Kannada"), "Kannada"), 235 (self.trUtf8("Kannada"), "Kannada"),
233 (self.trUtf8("Katakana"), "Katakana"), 236 (self.trUtf8("Katakana"), "Katakana"),
234 (self.trUtf8("Kayah Li"), "Kayah_Li"), 237 (self.trUtf8("Kayah Li"), "Kayah_Li"),
235 (self.trUtf8("Kharoshthi"), "Kharoshthi"), 238 (self.trUtf8("Kharoshthi"), "Kharoshthi"),
236 (self.trUtf8("Khmer"), "Khmer"), 239 (self.trUtf8("Khmer"), "Khmer"),
237 (self.trUtf8("Lao"), "Lao"), 240 (self.trUtf8("Lao"), "Lao"),
238 (self.trUtf8("Latin"), "Latin"), 241 (self.trUtf8("Latin"), "Latin"),
239 (self.trUtf8("Lepcha"), "Lepcha"), 242 (self.trUtf8("Lepcha"), "Lepcha"),
240 (self.trUtf8("Limbu"), "Limbu"), 243 (self.trUtf8("Limbu"), "Limbu"),
241 (self.trUtf8("Linear B"), "Linear_B"), 244 (self.trUtf8("Linear B"), "Linear_B"),
242 (self.trUtf8("Lisu"), "Lisu"), 245 (self.trUtf8("Lisu"), "Lisu"),
243 (self.trUtf8("Lycian"), "Lycian"), 246 (self.trUtf8("Lycian"), "Lycian"),
244 (self.trUtf8("Lydian"), "Lydian"), 247 (self.trUtf8("Lydian"), "Lydian"),
245 (self.trUtf8("Malayalam"), "Malayalam"), 248 (self.trUtf8("Malayalam"), "Malayalam"),
246 (self.trUtf8("Mandaic"), "Mandaic"), 249 (self.trUtf8("Mandaic"), "Mandaic"),
247 (self.trUtf8("Meetei Mayek"), "Meetei_Mayek"), 250 (self.trUtf8("Meetei Mayek"), "Meetei_Mayek"),
248 (self.trUtf8("Meroitic Cursive"), "Meroitic_Cursive"), 251 (self.trUtf8("Meroitic Cursive"), "Meroitic_Cursive"),
249 (self.trUtf8("Meroitic Hieroglyphs"), "Meroitic_Hieroglyphs"), 252 (self.trUtf8("Meroitic Hieroglyphs"), "Meroitic_Hieroglyphs"),
250 (self.trUtf8("Miao"), "Miao"), 253 (self.trUtf8("Miao"), "Miao"),
251 (self.trUtf8("Mongolian"), "Mongolian"), 254 (self.trUtf8("Mongolian"), "Mongolian"),
252 (self.trUtf8("Myanmar"), "Myanmar"), 255 (self.trUtf8("Myanmar"), "Myanmar"),
253 (self.trUtf8("New Tai Lue"), "New_Tai_Lue"), 256 (self.trUtf8("New Tai Lue"), "New_Tai_Lue"),
254 (self.trUtf8("N'Ko"), "Nko"), 257 (self.trUtf8("N'Ko"), "Nko"),
255 (self.trUtf8("Ogham"), "Ogham"), 258 (self.trUtf8("Ogham"), "Ogham"),
256 (self.trUtf8("Old Italic"), "Old_Italic"), 259 (self.trUtf8("Old Italic"), "Old_Italic"),
257 (self.trUtf8("Old Persian"), "Old_Persian"), 260 (self.trUtf8("Old Persian"), "Old_Persian"),
258 (self.trUtf8("Old South Arabian"), "Old_South_Arabian"), 261 (self.trUtf8("Old South Arabian"), "Old_South_Arabian"),
259 (self.trUtf8("Old Turkic"), "Old_Turkic,"), 262 (self.trUtf8("Old Turkic"), "Old_Turkic,"),
260 (self.trUtf8("Ol Chiki"), "Ol_Chiki"), 263 (self.trUtf8("Ol Chiki"), "Ol_Chiki"),
261 (self.trUtf8("Oriya"), "Oriya"), 264 (self.trUtf8("Oriya"), "Oriya"),
262 (self.trUtf8("Osmanya"), "Osmanya"), 265 (self.trUtf8("Osmanya"), "Osmanya"),
263 (self.trUtf8("Phags-pa"), "Phags_Pa"), 266 (self.trUtf8("Phags-pa"), "Phags_Pa"),
264 (self.trUtf8("Phoenician"), "Phoenician"), 267 (self.trUtf8("Phoenician"), "Phoenician"),
265 (self.trUtf8("Rejang"), "Rejang"), 268 (self.trUtf8("Rejang"), "Rejang"),
266 (self.trUtf8("Runic"), "Runic"), 269 (self.trUtf8("Runic"), "Runic"),
267 (self.trUtf8("Samaritan"), "Samaritan"), 270 (self.trUtf8("Samaritan"), "Samaritan"),
268 (self.trUtf8("Saurashtra"), "Saurashtra"), 271 (self.trUtf8("Saurashtra"), "Saurashtra"),
269 (self.trUtf8("Sharada"), "Sharada"), 272 (self.trUtf8("Sharada"), "Sharada"),
270 (self.trUtf8("Shavian"), "Shavian"), 273 (self.trUtf8("Shavian"), "Shavian"),
271 (self.trUtf8("Sinhala"), "Sinhala"), 274 (self.trUtf8("Sinhala"), "Sinhala"),
272 (self.trUtf8("Sora Sompeng"), "Sora_Sompeng"), 275 (self.trUtf8("Sora Sompeng"), "Sora_Sompeng"),
273 (self.trUtf8("Sundanese"), "Sundanese"), 276 (self.trUtf8("Sundanese"), "Sundanese"),
274 (self.trUtf8("Syloti Nagri"), "Syloti_Nagri"), 277 (self.trUtf8("Syloti Nagri"), "Syloti_Nagri"),
275 (self.trUtf8("Syriac"), "Syriac"), 278 (self.trUtf8("Syriac"), "Syriac"),
276 (self.trUtf8("Tagalog"), "Tagalog"), 279 (self.trUtf8("Tagalog"), "Tagalog"),
277 (self.trUtf8("Tagbanwa"), "Tagbanwa"), 280 (self.trUtf8("Tagbanwa"), "Tagbanwa"),
278 (self.trUtf8("Tai Le"), "Tai_Le"), 281 (self.trUtf8("Tai Le"), "Tai_Le"),
279 (self.trUtf8("Tai Tham"), "Tai_Tham"), 282 (self.trUtf8("Tai Tham"), "Tai_Tham"),
280 (self.trUtf8("Tai Viet"), "Tai_Viet"), 283 (self.trUtf8("Tai Viet"), "Tai_Viet"),
281 (self.trUtf8("Takri"), "Takri"), 284 (self.trUtf8("Takri"), "Takri"),
282 (self.trUtf8("Tamil"), "Tamil"), 285 (self.trUtf8("Tamil"), "Tamil"),
283 (self.trUtf8("Telugu"), "Telugu"), 286 (self.trUtf8("Telugu"), "Telugu"),
284 (self.trUtf8("Thaana"), "Thaana"), 287 (self.trUtf8("Thaana"), "Thaana"),
285 (self.trUtf8("Thai"), "Thai"), 288 (self.trUtf8("Thai"), "Thai"),
286 (self.trUtf8("Tibetan"), "Tibetan"), 289 (self.trUtf8("Tibetan"), "Tibetan"),
287 (self.trUtf8("Tifinagh"), "Tifinagh"), 290 (self.trUtf8("Tifinagh"), "Tifinagh"),
288 (self.trUtf8("Ugaritic"), "Ugaritic"), 291 (self.trUtf8("Ugaritic"), "Ugaritic"),
289 (self.trUtf8("Vai"), "Vai"), 292 (self.trUtf8("Vai"), "Vai"),
290 (self.trUtf8("Yi"), "Yi"), 293 (self.trUtf8("Yi"), "Yi"),
291 ) 294 )
292 295
293 self.__posixNamedSets = ( 296 self.__posixNamedSets = (
294 # display name code 297 # display name code
295 (self.trUtf8("Alphanumeric"), "alnum"), 298 (self.trUtf8("Alphanumeric"), "alnum"),
442 lineedit.setValidator(self.charValidator) 445 lineedit.setValidator(self.charValidator)
443 elif format == "-h": 446 elif format == "-h":
444 lineedit.setValidator(self.hexValidator) 447 lineedit.setValidator(self.hexValidator)
445 elif format == "-o": 448 elif format == "-o":
446 lineedit.setValidator(self.octValidator) 449 lineedit.setValidator(self.octValidator)
447 elif format in ["-ccp", "-ccn", "-cbp", "-cbn", "-csp", "-csn", "-psp", "-psn"]: 450 elif format in ["-ccp", "-ccn", "-cbp", "-cbn", "-csp", "-csn",
451 "-psp", "-psn"]:
448 lineedit.setEnabled(False) 452 lineedit.setEnabled(False)
449 lineedit.hide() 453 lineedit.hide()
450 if combo is not None: 454 if combo is not None:
451 combo.show() 455 combo.show()
452 self.__populateCharacterCombo(combo, format) 456 self.__populateCharacterCombo(combo, format)
457 combo.hide() 461 combo.hide()
458 lineedit.clear() 462 lineedit.clear()
459 463
460 def __singlesCharTypeSelected(self, index): 464 def __singlesCharTypeSelected(self, index):
461 """ 465 """
462 Private slot to handle the activated(int) signal of the single chars combo boxes. 466 Private slot to handle the activated(int) signal of the single chars
467 combo boxes.
463 468
464 @param index selected list index (integer) 469 @param index selected list index (integer)
465 """ 470 """
466 combo = self.sender() 471 combo = self.sender()
467 for entriesList in self.singlesEntries: 472 for entriesList in self.singlesEntries:
468 if combo == entriesList[0]: 473 if combo == entriesList[0]:
469 format = combo.itemData(index) 474 format = combo.itemData(index)
470 self.__performSelectedAction(format, entriesList[1], entriesList[2]) 475 self.__performSelectedAction(
476 format, entriesList[1], entriesList[2])
471 break 477 break
472 478
473 def __rangesCharTypeSelected(self, index): 479 def __rangesCharTypeSelected(self, index):
474 """ 480 """
475 Private slot to handle the activated(int) signal of the char ranges combo boxes. 481 Private slot to handle the activated(int) signal of the char ranges
482 combo boxes.
476 483
477 @param index selected list index (integer) 484 @param index selected list index (integer)
478 """ 485 """
479 combo = self.sender() 486 combo = self.sender()
480 for entriesList in self.rangesEntries: 487 for entriesList in self.rangesEntries:
561 regexp += "\\V" 568 regexp += "\\V"
562 569
563 # single characters 570 # single characters
564 for entrieslist in self.singlesEntries: 571 for entrieslist in self.singlesEntries:
565 format = entrieslist[0].itemData(entrieslist[0].currentIndex()) 572 format = entrieslist[0].itemData(entrieslist[0].currentIndex())
566 if format in ["-ccp", "-ccn", "-cbp", "-cbn", "-csp", "-csn", "-psp", "-psn"]: 573 if format in ["-ccp", "-ccn", "-cbp", "-cbn", "-csp", "-csn",
574 "-psp", "-psn"]:
567 char = entrieslist[2].itemData(entrieslist[2].currentIndex()) 575 char = entrieslist[2].itemData(entrieslist[2].currentIndex())
568 else: 576 else:
569 char = entrieslist[1].text() 577 char = entrieslist[1].text()
570 regexp += self.__formatCharacter(char, format) 578 regexp += self.__formatCharacter(char, format)
571 579

eric ide

mercurial