Sat, 13 May 2017 16:32:54 +0200
Prepared the code for Qt > 5.9.99.
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 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
3 | # Copyright (c) 2004 - 2017 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 the QRegExp wizard dialog. |
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 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3056
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2407
diff
changeset
|
11 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
14 | from PyQt5.QtCore import QFileInfo, QRegExp, Qt, pyqtSlot |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
15 | from PyQt5.QtGui import QClipboard, QTextCursor |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
16 | from PyQt5.QtWidgets import QWidget, QDialog, QApplication, QDialogButtonBox, \ |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
17 | QVBoxLayout, QTableWidgetItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
19 | from E5Gui import E5MessageBox, E5FileDialog |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1818
diff
changeset
|
20 | from E5Gui.E5MainWindow import E5MainWindow |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
465
diff
changeset
|
21 | |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
22 | from .Ui_QRegExpWizardDialog import Ui_QRegExpWizardWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import Utilities |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1818
diff
changeset
|
27 | import Preferences |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
28 | from Globals import qVersionTuple |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
30 | |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
31 | class QRegExpWizardWidget(QWidget, Ui_QRegExpWizardWidget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | Class implementing the QRegExp wizard dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
35 | def __init__(self, parent=None, fromEric=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | @param parent parent widget (QWidget) |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
40 | @param fromEric flag indicating a call from within eric6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2407
diff
changeset
|
42 | super(QRegExpWizardWidget, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | # initialize icons of the tool buttons |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
46 | # regexp tool buttons |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.charButton.setIcon(UI.PixmapCache.getIcon("characters.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.anycharButton.setIcon(UI.PixmapCache.getIcon("anychar.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.repeatButton.setIcon(UI.PixmapCache.getIcon("repeat.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.nonGroupButton.setIcon(UI.PixmapCache.getIcon("nongroup.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.groupButton.setIcon(UI.PixmapCache.getIcon("group.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.altnButton.setIcon(UI.PixmapCache.getIcon("altn.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.beglineButton.setIcon(UI.PixmapCache.getIcon("begline.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.endlineButton.setIcon(UI.PixmapCache.getIcon("endline.png")) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
55 | self.wordboundButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
56 | UI.PixmapCache.getIcon("wordboundary.png")) |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
57 | self.nonwordboundButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
58 | UI.PixmapCache.getIcon("nonwordboundary.png")) |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
59 | self.poslookaheadButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
60 | UI.PixmapCache.getIcon("poslookahead.png")) |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
61 | self.neglookaheadButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
62 | UI.PixmapCache.getIcon("neglookahead.png")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.undoButton.setIcon(UI.PixmapCache.getIcon("editUndo.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | self.redoButton.setIcon(UI.PixmapCache.getIcon("editRedo.png")) |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
65 | # wildcard tool buttons |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
66 | self.wildcardCharButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
67 | UI.PixmapCache.getIcon("characters.png")) |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
68 | self.wildcardAnycharButton.setIcon( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
69 | UI.PixmapCache.getIcon("anychar.png")) |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
70 | self.wildcardRepeatButton.setIcon(UI.PixmapCache.getIcon("repeat.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
71 | # W3C tool buttons |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
72 | self.w3cCharButton.setIcon(UI.PixmapCache.getIcon("characters.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
73 | self.w3cAnycharButton.setIcon(UI.PixmapCache.getIcon("anychar.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
74 | self.w3cRepeatButton.setIcon(UI.PixmapCache.getIcon("repeat.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
75 | self.w3cGroupButton.setIcon(UI.PixmapCache.getIcon("group.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
76 | self.w3cAltnButton.setIcon(UI.PixmapCache.getIcon("altn.png")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
77 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
78 | # initialize the syntax pattern combo |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
79 | self.syntaxCombo.addItem("RegExp", QRegExp.RegExp) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
80 | self.syntaxCombo.addItem("RegExp2", QRegExp.RegExp2) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
81 | self.syntaxCombo.addItem("Wildcard", QRegExp.Wildcard) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
82 | self.syntaxCombo.addItem("Unix Wildcard", QRegExp.WildcardUnix) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
83 | self.syntaxCombo.addItem("Fixed String", QRegExp.FixedString) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
84 | self.syntaxCombo.addItem("W3C XML Schema 1.1", QRegExp.W3CXmlSchema11) |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
85 | if qVersionTuple() >= (5, 0, 0): |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
86 | self.syntaxCombo.setCurrentIndex(1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
88 | self.saveButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
89 | self.tr("Save"), QDialogButtonBox.ActionRole) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
90 | self.saveButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
91 | self.tr("Save the regular expression to a file")) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
92 | self.loadButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
93 | self.tr("Load"), QDialogButtonBox.ActionRole) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
94 | self.loadButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
95 | self.tr("Load a regular expression from a file")) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
96 | self.validateButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
97 | self.tr("Validate"), QDialogButtonBox.ActionRole) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
98 | self.validateButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
99 | self.tr("Validate the regular expression")) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
100 | self.executeButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
101 | self.tr("Execute"), QDialogButtonBox.ActionRole) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
102 | self.executeButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
103 | self.tr("Execute the regular expression")) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
104 | self.nextButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
105 | self.tr("Next match"), QDialogButtonBox.ActionRole) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
106 | self.nextButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
107 | self.tr("Show the next match of the regular expression")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | self.nextButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | if fromEric: |
2752
5d556f9040e3
Fixed an issue with the py regexp dialog and the QRegExp dialog. They showed too many buttons when called as a stand-alone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2407
diff
changeset
|
111 | self.buttonBox.setStandardButtons( |
5d556f9040e3
Fixed an issue with the py regexp dialog and the QRegExp dialog. They showed too many buttons when called as a stand-alone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2407
diff
changeset
|
112 | QDialogButtonBox.Cancel | QDialogButtonBox.Ok) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | self.copyButton = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | else: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
115 | self.copyButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
116 | self.tr("Copy"), QDialogButtonBox.ActionRole) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
117 | self.copyButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
118 | self.tr("Copy the regular expression to the clipboard")) |
2752
5d556f9040e3
Fixed an issue with the py regexp dialog and the QRegExp dialog. They showed too many buttons when called as a stand-alone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2407
diff
changeset
|
119 | self.buttonBox.setStandardButtons(QDialogButtonBox.Close) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | self.variableLabel.hide() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | self.variableLineEdit.hide() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | self.variableLine.hide() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.regexpLineEdit.setFocus() |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
124 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
125 | @pyqtSlot(int) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
126 | def on_syntaxCombo_currentIndexChanged(self, index): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
127 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
128 | Private slot handling the selection of a pattern syntax. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
129 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
130 | @param index index of the selected entry (integer) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
131 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
132 | syntax = self.syntaxCombo.itemData(index) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
133 | self.regexpButtonsFrame.setVisible(syntax in [ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
134 | QRegExp.RegExp, QRegExp.RegExp2]) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
135 | self.regexpButtonsFrame.setEnabled(syntax in [ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
136 | QRegExp.RegExp, QRegExp.RegExp2]) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
137 | self.wildcardButtonsFrame.setVisible(syntax in [ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
138 | QRegExp.Wildcard, QRegExp.WildcardUnix]) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
139 | self.wildcardButtonsFrame.setEnabled(syntax in [ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
140 | QRegExp.Wildcard, QRegExp.WildcardUnix]) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
141 | self.w3cButtonsFrame.setVisible(syntax in [QRegExp.W3CXmlSchema11]) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
142 | self.w3cButtonsFrame.setEnabled(syntax in [QRegExp.W3CXmlSchema11]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | def __insertString(self, s, steps=0): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | Private method to insert a string into line edit and move cursor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | @param s string to be inserted into the regexp line edit |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | @param steps number of characters to move the cursor (integer). |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | Negative steps moves cursor back, positives forward. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | self.regexpLineEdit.insert(s) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.regexpLineEdit.cursorForward(False, steps) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | def on_anycharButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | Private slot to handle the any character toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.__insertString(".") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | def on_nonGroupButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | Private slot to handle the non group toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | self.__insertString("(?:)", -1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | def on_groupButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | Private slot to handle the group toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | self.__insertString("()", -1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | def on_altnButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | Private slot to handle the alternatives toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | self.__insertString("(|)", -2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | def on_beglineButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | Private slot to handle the begin line toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | self.__insertString("^") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | def on_endlineButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | Private slot to handle the end line toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | self.__insertString("$") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | def on_wordboundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | Private slot to handle the word boundary toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | self.__insertString("\\b") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | def on_nonwordboundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | Private slot to handle the non word boundary toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self.__insertString("\\B") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | def on_poslookaheadButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | Private slot to handle the positive lookahead toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | self.__insertString("(?=)", -1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | def on_neglookaheadButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | Private slot to handle the negative lookahead toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | self.__insertString("(?!)", -1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | def on_repeatButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | Private slot to handle the repeat toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | """ |
2407
b98cc8ee1142
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
231 | from .QRegExpWizardRepeatDialog import QRegExpWizardRepeatDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | dlg = QRegExpWizardRepeatDialog(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | if dlg.exec_() == QDialog.Accepted: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | self.__insertString(dlg.getRepeat()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | def on_charButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | Private slot to handle the characters toolbutton. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | """ |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
241 | from .QRegExpWizardCharactersDialog import \ |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
242 | QRegExpWizardCharactersDialog |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
243 | dlg = QRegExpWizardCharactersDialog( |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
244 | mode=QRegExpWizardCharactersDialog.RegExpMode, parent=self) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
245 | if dlg.exec_() == QDialog.Accepted: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
246 | self.__insertString(dlg.getCharacters()) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
247 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
248 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
249 | def on_wildcardCharButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
250 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
251 | Private slot to handle the wildcard characters toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
252 | """ |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
253 | from .QRegExpWizardCharactersDialog import \ |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
254 | QRegExpWizardCharactersDialog |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
255 | dlg = QRegExpWizardCharactersDialog( |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
256 | mode=QRegExpWizardCharactersDialog.WildcardMode, parent=self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | if dlg.exec_() == QDialog.Accepted: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | self.__insertString(dlg.getCharacters()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
260 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
261 | def on_wildcardAnycharButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
262 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
263 | Private slot to handle the wildcard any character toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
264 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
265 | self.__insertString("?") |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
266 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
267 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
268 | def on_wildcardRepeatButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
269 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
270 | Private slot to handle the wildcard multiple characters toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
271 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
272 | self.__insertString("*") |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
273 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
274 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
275 | def on_w3cCharButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
276 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
277 | Private slot to handle the wildcard characters toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
278 | """ |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
279 | from .QRegExpWizardCharactersDialog import \ |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
280 | QRegExpWizardCharactersDialog |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
281 | dlg = QRegExpWizardCharactersDialog( |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
282 | mode=QRegExpWizardCharactersDialog.W3CMode, parent=self) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
283 | if dlg.exec_() == QDialog.Accepted: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
284 | self.__insertString(dlg.getCharacters()) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
285 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
286 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
287 | def on_w3cAnycharButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
288 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
289 | Private slot to handle the W3C any character toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
290 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
291 | self.__insertString(".") |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
292 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
293 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
294 | def on_w3cRepeatButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
295 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
296 | Private slot to handle the W3C repeat toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
297 | """ |
2407
b98cc8ee1142
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
298 | from .QRegExpWizardRepeatDialog import QRegExpWizardRepeatDialog |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
299 | dlg = QRegExpWizardRepeatDialog(self) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
300 | if dlg.exec_() == QDialog.Accepted: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
301 | self.__insertString(dlg.getRepeat()) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
302 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
303 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
304 | def on_w3cGroupButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
305 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
306 | Private slot to handle the W3C group toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
307 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
308 | self.__insertString("()", -1) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
309 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
310 | @pyqtSlot() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
311 | def on_w3cAltnButton_clicked(self): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
312 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
313 | Private slot to handle the alternatives toolbutton. |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
314 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
315 | self.__insertString("(|)", -2) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
316 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | def on_buttonBox_clicked(self, button): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | Private slot called by a button of the button box clicked. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | @param button button that was clicked (QAbstractButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | if button == self.validateButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | self.on_validateButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | elif button == self.executeButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | self.on_executeButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | elif button == self.saveButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | self.on_saveButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | elif button == self.loadButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | self.on_loadButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | elif button == self.nextButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | self.on_nextButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | elif self.copyButton and button == self.copyButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | self.on_copyButton_clicked() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | def on_saveButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | Private slot to save the regexp to a file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
341 | fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
343 | self.tr("Save regular expression"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | "", |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
345 | self.tr("RegExp Files (*.rx);;All Files (*)"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | None, |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
347 | E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | if fname: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | ext = QFileInfo(fname).suffix() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | if not ext: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | ex = selectedFilter.split("(*")[1].split(")")[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | if ex: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | fname += ex |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | if QFileInfo(fname).exists(): |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
355 | res = E5MessageBox.yesNo( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
356 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
357 | self.tr("Save regular expression"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
358 | self.tr("<p>The file <b>{0}</b> already exists." |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
359 | " Overwrite it?</p>").format(fname), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
360 | icon=E5MessageBox.Warning) |
546
c3e7bf5648be
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
539
diff
changeset
|
361 | if not res: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
364 | syntax = self.syntaxCombo.itemData(self.syntaxCombo.currentIndex()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | try: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
366 | f = open( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
367 | Utilities.toNativeSeparators(fname), "w", encoding="utf-8") |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
368 | f.write("syntax={0}\n".format(syntax)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | f.write(self.regexpLineEdit.text()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | f.close() |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
371 | except IOError as err: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
372 | E5MessageBox.information( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
373 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
374 | self.tr("Save regular expression"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
375 | self.tr("""<p>The regular expression could not""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
376 | """ be saved.</p><p>Reason: {0}</p>""") |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
377 | .format(str(err))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | def on_loadButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | Private slot to load a regexp from a file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
384 | fname = E5FileDialog.getOpenFileName( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
386 | self.tr("Load regular expression"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | "", |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
388 | self.tr("RegExp Files (*.rx);;All Files (*)")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | if fname: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | try: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
391 | f = open( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
392 | Utilities.toNativeSeparators(fname), "r", encoding="utf-8") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | regexp = f.read() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | f.close() |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
395 | if regexp.startswith("syntax="): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
396 | lines = regexp.splitlines() |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
397 | syntax = int(lines[0].replace("syntax=", "")) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
398 | index = self.syntaxCombo.findData(syntax) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
399 | self.syntaxCombo.setCurrentIndex(index) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
400 | regexp = lines[1] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | self.regexpLineEdit.setText(regexp) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
402 | except IOError as err: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
403 | E5MessageBox.information( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
404 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
405 | self.tr("Save regular expression"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
406 | self.tr("""<p>The regular expression could not""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
407 | """ be saved.</p><p>Reason: {0}</p>""") |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
408 | .format(str(err))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | def on_copyButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | Private slot to copy the regexp string into the clipboard. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
415 | This slot is only available, if not called from within eric6. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | escaped = self.regexpLineEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | if escaped: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | escaped = escaped.replace("\\", "\\\\") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | cb = QApplication.clipboard() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | cb.setText(escaped, QClipboard.Clipboard) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | if cb.supportsSelection(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | cb.setText(escaped, QClipboard.Selection) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | def on_validateButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | Private slot to validate the entered regexp. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | regex = self.regexpLineEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | if regex: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | re = QRegExp(regex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | if self.caseSensitiveCheckBox.isChecked(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | re.setCaseSensitivity(Qt.CaseSensitive) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | re.setCaseSensitivity(Qt.CaseInsensitive) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | re.setMinimal(self.minimalCheckBox.isChecked()) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
438 | re.setPatternSyntax( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
439 | self.syntaxCombo.itemData(self.syntaxCombo.currentIndex())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | if re.isValid(): |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
441 | E5MessageBox.information( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
442 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
443 | self.tr("Validation"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
444 | self.tr("""The regular expression is valid.""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | else: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
446 | E5MessageBox.critical( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
447 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
448 | self.tr("Error"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
449 | self.tr("""Invalid regular expression: {0}""") |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
450 | .format(re.errorString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | else: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
453 | E5MessageBox.critical( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
454 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
455 | self.tr("Error"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
456 | self.tr("""A regular expression must be given.""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
459 | def on_executeButton_clicked(self, startpos=0): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | Private slot to execute the entered regexp on the test text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | This slot will execute the entered regexp on the entered test |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | data and will display the result in the table part of the dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | @param startpos starting position for the regexp matching |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | regex = self.regexpLineEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | text = self.textTextEdit.toPlainText() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | if regex and text: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | re = QRegExp(regex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | if self.caseSensitiveCheckBox.isChecked(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | re.setCaseSensitivity(Qt.CaseSensitive) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | re.setCaseSensitivity(Qt.CaseInsensitive) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | re.setMinimal(self.minimalCheckBox.isChecked()) |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
477 | syntax = self.syntaxCombo.itemData(self.syntaxCombo.currentIndex()) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
478 | wildcard = syntax in [QRegExp.Wildcard, QRegExp.WildcardUnix] |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
479 | re.setPatternSyntax(syntax) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | if not re.isValid(): |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
481 | E5MessageBox.critical( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
482 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
483 | self.tr("Error"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
484 | self.tr("""Invalid regular expression: {0}""") |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
485 | .format(re.errorString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | offset = re.indexIn(text, startpos) |
2104
671c38b34bef
Fixed an issue with the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2101
diff
changeset
|
488 | captures = re.captureCount() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | row = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | OFFSET = 5 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | self.resultTable.setColumnCount(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | self.resultTable.setColumnCount(3) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | self.resultTable.setRowCount(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | self.resultTable.setRowCount(OFFSET) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
496 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
497 | row, 0, QTableWidgetItem(self.tr("Regexp"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | self.resultTable.setItem(row, 1, QTableWidgetItem(regex)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | if offset != -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | self.lastMatchEnd = offset + re.matchedLength() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | self.nextButton.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | row += 1 |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
504 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
505 | row, 0, QTableWidgetItem(self.tr("Offset"))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
506 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
507 | row, 1, QTableWidgetItem("{0:d}".format(offset))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | if not wildcard: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | row += 1 |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
511 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
512 | row, 0, QTableWidgetItem(self.tr("Captures"))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
513 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
514 | row, 1, QTableWidgetItem("{0:d}".format(captures))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | row += 1 |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
516 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
517 | row, 1, QTableWidgetItem(self.tr("Text"))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
518 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
519 | row, 2, QTableWidgetItem(self.tr("Characters"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | row += 1 |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
522 | self.resultTable.setItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
523 | row, 0, QTableWidgetItem(self.tr("Match"))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
524 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
525 | row, 1, QTableWidgetItem(re.cap(0))) |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
526 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
527 | row, 2, |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
528 | QTableWidgetItem("{0:d}".format(re.matchedLength()))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | if not wildcard: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | for i in range(1, captures + 1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | if len(re.cap(i)) > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | row += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | self.resultTable.insertRow(row) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
535 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
536 | row, 0, |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
537 | QTableWidgetItem( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
538 | self.tr("Capture #{0}").format(i))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
539 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
540 | row, 1, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | QTableWidgetItem(re.cap(i))) |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
542 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
543 | row, 2, |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
544 | QTableWidgetItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
545 | "{0:d}".format(len(re.cap(i))))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | self.resultTable.setRowCount(3) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | # highlight the matched text |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | tc = self.textTextEdit.textCursor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | tc.setPosition(offset) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | tc.setPosition(self.lastMatchEnd, QTextCursor.KeepAnchor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | self.textTextEdit.setTextCursor(tc) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | self.nextButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | self.resultTable.setRowCount(2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | row += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | if startpos > 0: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
559 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
560 | row, 0, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
561 | QTableWidgetItem(self.tr("No more matches"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | else: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
563 | self.resultTable.setItem( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
564 | row, 0, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
565 | QTableWidgetItem(self.tr("No matches"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | # remove the highlight |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | tc = self.textTextEdit.textCursor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | tc.setPosition(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | self.textTextEdit.setTextCursor(tc) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | self.resultTable.resizeColumnsToContents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | self.resultTable.resizeRowsToContents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | self.resultTable.verticalHeader().hide() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | self.resultTable.horizontalHeader().hide() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | else: |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
577 | E5MessageBox.critical( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
578 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
579 | self.tr("Error"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
580 | self.tr("""A regular expression and a text must""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3189
diff
changeset
|
581 | """ be given.""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | def on_nextButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | Private slot to find the next match. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | self.on_executeButton_clicked(self.lastMatchEnd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | def on_regexpLineEdit_textChanged(self, txt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | Private slot called when the regexp changes. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | @param txt the new text of the line edit (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | self.nextButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
598 | def __getPatternSyntaxCode(self, syntaxValue): |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
599 | """ |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
600 | Private method to convert a pattern syntax value into a |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
601 | pattern syntax string. |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
602 | |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
603 | @param syntaxValue pattern syntax value (integer) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
604 | @return pattern syntax string (string) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
605 | """ |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
606 | syntax = "QRegExp." |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
607 | if syntaxValue == QRegExp.RegExp: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
608 | syntax += "RegExp" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
609 | elif syntaxValue == QRegExp.RegExp2: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
610 | syntax += "RegExp2" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
611 | elif syntaxValue == QRegExp.Wildcard: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
612 | syntax += "Wildcard" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
613 | elif syntaxValue == QRegExp.WildcardUnix: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
614 | syntax += "WildcardUnix" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
615 | elif syntaxValue == QRegExp.FixedString: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
616 | syntax += "FixedString" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
617 | elif syntaxValue == QRegExp.W3CXmlSchema11: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
618 | syntax += "W3CXmlSchema11" |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
619 | return syntax |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
620 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | def getCode(self, indLevel, indString): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | Public method to get the source code. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | @param indLevel indentation level (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | @param indString string used for indentation (space or tab) (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | @return generated code (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | # calculate the indentation string |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | istring = indLevel * indString |
446
69aac6eeba9b
Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
425
diff
changeset
|
631 | estring = os.linesep + indLevel * indString |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
632 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
633 | # now generate the code |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
634 | reVar = self.variableLineEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | if not reVar: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | reVar = "regexp" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | regexp = self.regexpLineEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
640 | code = '{0} = QRegExp(r"""{1}"""){2}'.format( |
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
641 | reVar, regexp.replace('"', '\\"'), os.linesep) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | if not self.caseSensitiveCheckBox.isChecked(): |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
643 | code += '{0}{1}.setCaseSensitivity(Qt.CaseInsensitive){2}'.format( |
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
644 | istring, reVar, os.linesep) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | if self.minimalCheckBox.isChecked(): |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
646 | code += '{0}{1}.setMinimal(True){2}'.format( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
647 | istring, reVar, os.linesep) |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
648 | syntax = self.syntaxCombo.itemData(self.syntaxCombo.currentIndex()) |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
649 | needPatternSyntax = True |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
650 | if qVersionTuple() < (5, 0, 0) and syntax == QRegExp.RegExp or \ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
651 | qVersionTuple() >= (5, 0, 0) and syntax == QRegExp.RegExp2: |
1818
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
652 | # default value selected |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
653 | needPatternSyntax = False |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
654 | if needPatternSyntax: |
a5e4cb4bed43
Added support for the various pattern syntaxes to the QRegExp wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
655 | code += '{0}{1}.setPatternSyntax({2}){3}'.format( |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
656 | istring, reVar, self.__getPatternSyntaxCode(syntax), |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
657 | estring) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | return code |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
660 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | class QRegExpWizardDialog(QDialog): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | Class for the dialog variant. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
664 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
665 | def __init__(self, parent=None, fromEric=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | @param parent parent widget (QWidget) |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
670 | @param fromEric flag indicating a call from within eric6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2407
diff
changeset
|
672 | super(QRegExpWizardDialog, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | self.setModal(fromEric) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | self.setSizeGripEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | self.__layout = QVBoxLayout(self) |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2752
diff
changeset
|
677 | self.__layout.setContentsMargins(0, 0, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | self.setLayout(self.__layout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | self.cw = QRegExpWizardWidget(self, fromEric) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | size = self.cw.size() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | self.__layout.addWidget(self.cw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | self.resize(size) |
3189
9a21c547de5f
Fixed issues showing the correct window title for some dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
684 | self.setWindowTitle(self.cw.windowTitle()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
686 | self.cw.buttonBox.accepted.connect(self.accept) |
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
687 | self.cw.buttonBox.rejected.connect(self.reject) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | def getCode(self, indLevel, indString): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | Public method to get the source code. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
692 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | @param indLevel indentation level (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | @param indString string used for indentation (space or tab) (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | @return generated code (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
696 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
697 | return self.cw.getCode(indLevel, indString) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
699 | |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1818
diff
changeset
|
700 | class QRegExpWizardWindow(E5MainWindow): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | Main window class for the standalone dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
703 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
704 | def __init__(self, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | @param parent reference to the parent widget (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2407
diff
changeset
|
710 | super(QRegExpWizardWindow, self).__init__(parent) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
711 | self.cw = QRegExpWizardWidget(self, fromEric=False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | size = self.cw.size() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | self.setCentralWidget(self.cw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | self.resize(size) |
3189
9a21c547de5f
Fixed issues showing the correct window title for some dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
715 | self.setWindowTitle(self.cw.windowTitle()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | |
2893
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
717 | self.setStyle( |
150de635fa29
Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
718 | Preferences.getUI("Style"), Preferences.getUI("StyleSheet")) |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1818
diff
changeset
|
719 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
720 | self.cw.buttonBox.accepted.connect(self.close) |
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
721 | self.cw.buttonBox.rejected.connect(self.close) |