Tue, 25 Jun 2013 18:50:45 +0200
Added PyQt5 support to the project resources and translations viewers and the code creation dialog.
2736
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the QRegularExpression wizard dialog. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import re |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt4.QtCore import QFileInfo, pyqtSlot, qVersion |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | try: |
2741
d0d7836d0c01
Added PyQt5 support to the project resources and translations viewers and the code creation dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2736
diff
changeset
|
15 | from PyQt5.QtCore import QRegularExpression |
2736
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | AVAILABLE = True |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | except ImportError: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | AVAILABLE = False |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | from PyQt4.QtGui import QWidget, QDialog, QInputDialog, QApplication, QClipboard, \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | QTextCursor, QDialogButtonBox, QVBoxLayout, QTableWidgetItem |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | from E5Gui import E5MessageBox, E5FileDialog |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | from E5Gui.E5MainWindow import E5MainWindow |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | from .Ui_QRegularExpressionWizardDialog import Ui_QRegularExpressionWizardDialog |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | import UI.PixmapCache |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import Utilities |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | import Preferences |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | class QRegularExpressionWizardWidget(QWidget, Ui_QRegularExpressionWizardDialog): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | Class implementing the QRegularExpression wizard dialog. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | def __init__(self, parent=None, fromEric=True): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | Constructor |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | @param parent parent widget (QWidget) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @param fromEric flag indicating a call from within eric5 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | super().__init__(parent) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.setupUi(self) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | # initialize icons of the tool buttons |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.commentButton.setIcon(UI.PixmapCache.getIcon("comment.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.charButton.setIcon(UI.PixmapCache.getIcon("characters.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.anycharButton.setIcon(UI.PixmapCache.getIcon("anychar.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.repeatButton.setIcon(UI.PixmapCache.getIcon("repeat.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.nonGroupButton.setIcon(UI.PixmapCache.getIcon("nongroup.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.atomicGroupButton.setIcon(UI.PixmapCache.getIcon("atomicgroup.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.groupButton.setIcon(UI.PixmapCache.getIcon("group.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.namedGroupButton.setIcon(UI.PixmapCache.getIcon("namedgroup.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.namedReferenceButton.setIcon(UI.PixmapCache.getIcon("namedreference.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.altnButton.setIcon(UI.PixmapCache.getIcon("altn.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.beglineButton.setIcon(UI.PixmapCache.getIcon("begline.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | self.endlineButton.setIcon(UI.PixmapCache.getIcon("endline.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.wordboundButton.setIcon(UI.PixmapCache.getIcon("wordboundary.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | self.nonwordboundButton.setIcon(UI.PixmapCache.getIcon("nonwordboundary.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.poslookaheadButton.setIcon(UI.PixmapCache.getIcon("poslookahead.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.neglookaheadButton.setIcon(UI.PixmapCache.getIcon("neglookahead.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | self.poslookbehindButton.setIcon(UI.PixmapCache.getIcon("poslookbehind.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | self.neglookbehindButton.setIcon(UI.PixmapCache.getIcon("neglookbehind.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | self.undoButton.setIcon(UI.PixmapCache.getIcon("editUndo.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.redoButton.setIcon(UI.PixmapCache.getIcon("editRedo.png")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.namedGroups = re.compile(r"""\(?P<([^>]+)>""").findall |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | self.saveButton = \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | self.buttonBox.addButton(self.trUtf8("Save"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | self.saveButton.setToolTip(self.trUtf8("Save the regular expression to a file")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self.loadButton = \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | self.buttonBox.addButton(self.trUtf8("Load"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.loadButton.setToolTip(self.trUtf8("Load a regular expression from a file")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | if qVersion() >= "5.0.0" and AVAILABLE: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.validateButton = self.buttonBox.addButton( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.trUtf8("Validate"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.validateButton.setToolTip(self.trUtf8("Validate the regular expression")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | self.executeButton = self.buttonBox.addButton( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.trUtf8("Execute"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | self.executeButton.setToolTip(self.trUtf8("Execute the regular expression")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.nextButton = self.buttonBox.addButton( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | self.trUtf8("Next match"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.nextButton.setToolTip( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.trUtf8("Show the next match of the regular expression")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | self.nextButton.setEnabled(False) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | self.validateButton = None |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self.executeButton = None |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.nextButton = None |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | if fromEric: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | self.buttonBox.button(QDialogButtonBox.Close).hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | self.copyButton = None |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | self.copyButton = \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | self.buttonBox.addButton(self.trUtf8("Copy"), QDialogButtonBox.ActionRole) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | self.copyButton.setToolTip( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.trUtf8("Copy the regular expression to the clipboard")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.buttonBox.button(QDialogButtonBox.Ok).hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.buttonBox.button(QDialogButtonBox.Cancel).hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | self.variableLabel.hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | self.variableLineEdit.hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | self.variableLine.hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.importCheckBox.hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | self.regexpTextEdit.setFocus() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | def __insertString(self, s, steps=0): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | Private method to insert a string into line edit and move cursor. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | @param s string to be inserted into the regexp line edit |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | (string) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | @param steps number of characters to move the cursor (integer). |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | Negative steps moves cursor back, positives forward. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | self.regexpTextEdit.insertPlainText(s) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | tc = self.regexpTextEdit.textCursor() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | if steps != 0: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | if steps < 0: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | act = QTextCursor.Left |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | steps = abs(steps) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | act = QTextCursor.Right |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | for i in range(steps): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | tc.movePosition(act) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.regexpTextEdit.setTextCursor(tc) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | def on_commentButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | Private slot to handle the comment toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | self.__insertString("(?#)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | def on_charButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | Private slot to handle the characters toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | from .QRegularExpressionWizardCharactersDialog import \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | QRegularExpressionWizardCharactersDialog |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | dlg = QRegularExpressionWizardCharactersDialog(self) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | if dlg.exec_() == QDialog.Accepted: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | self.__insertString(dlg.getCharacters()) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | def on_anycharButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | Private slot to handle the any character toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.__insertString(".") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | def on_repeatButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | Private slot to handle the repeat toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | from .QRegularExpressionWizardRepeatDialog import \ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | QRegularExpressionWizardRepeatDialog |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | dlg = QRegularExpressionWizardRepeatDialog(self) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | if dlg.exec_() == QDialog.Accepted: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | self.__insertString(dlg.getRepeat()) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | def on_nonGroupButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | Private slot to handle the non group toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | self.__insertString("(?:)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | def on_atomicGroupButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | Private slot to handle the atomic non group toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | self.__insertString("(?>)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | def on_groupButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | Private slot to handle the group toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | self.__insertString("()", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | def on_namedGroupButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | Private slot to handle the named group toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | self.__insertString("(?P<>)", -2) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | def on_namedReferenceButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | Private slot to handle the named reference toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | # determine cursor position as length into text |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | length = self.regexpTextEdit.textCursor().position() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | # only present group names that occur before the current cursor position |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | regex = self.regexpTextEdit.toPlainText()[:length] |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | names = self.namedGroups(regex) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | if not names: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | E5MessageBox.information(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | self.trUtf8("Named reference"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | self.trUtf8("""No named groups have been defined yet.""")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | groupName, ok = QInputDialog.getItem( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | self.trUtf8("Named reference"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | self.trUtf8("Select group name:"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | names, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | 0, True) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | if ok and groupName: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | self.__insertString("(?P={0})".format(groupName)) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | def on_altnButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | Private slot to handle the alternatives toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | self.__insertString("(|)", -2) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | def on_beglineButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | Private slot to handle the begin line toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | self.__insertString("^") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | def on_endlineButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | Private slot to handle the end line toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | self.__insertString("$") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | def on_wordboundButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | Private slot to handle the word boundary toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | self.__insertString("\\b") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | def on_nonwordboundButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | Private slot to handle the non word boundary toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | self.__insertString("\\B") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | def on_poslookaheadButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | Private slot to handle the positive lookahead toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | self.__insertString("(?=)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | def on_neglookaheadButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | Private slot to handle the negative lookahead toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | self.__insertString("(?!)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | def on_poslookbehindButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | Private slot to handle the positive lookbehind toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | self.__insertString("(?<=)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | def on_neglookbehindButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | Private slot to handle the negative lookbehind toolbutton. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | self.__insertString("(?<!)", -1) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | def on_undoButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | Private slot to handle the undo action. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | self.regexpTextEdit.document().undo() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | def on_redoButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | Private slot to handle the redo action. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.regexpTextEdit.document().redo() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | def on_buttonBox_clicked(self, button): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | Private slot called by a button of the button box clicked. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | @param button button that was clicked (QAbstractButton) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | if button == self.validateButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | self.on_validateButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | elif button == self.executeButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | self.on_executeButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | elif button == self.saveButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | self.on_saveButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | elif button == self.loadButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | self.on_loadButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | elif button == self.nextButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | self.on_nextButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | elif self.copyButton and button == self.copyButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | self.on_copyButton_clicked() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | def on_saveButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | Private slot to save the QRegularExpression to a file. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | self.trUtf8("Save regular expression"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | "", |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | self.trUtf8("RegExp Files (*.rx);;All Files (*)"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | None, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | if fname: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | ext = QFileInfo(fname).suffix() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | if not ext: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | ex = selectedFilter.split("(*")[1].split(")")[0] |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | if ex: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | fname += ex |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | if QFileInfo(fname).exists(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | res = E5MessageBox.yesNo(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | self.trUtf8("Save regular expression"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | self.trUtf8("<p>The file <b>{0}</b> already exists." |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | " Overwrite it?</p>").format(fname), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | icon=E5MessageBox.Warning) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | if not res: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | try: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | f = open(Utilities.toNativeSeparators(fname), "w", encoding="utf-8") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | f.write(self.regexpTextEdit.toPlainText()) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | f.close() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | except IOError as err: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | E5MessageBox.information(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | self.trUtf8("Save regular expression"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | self.trUtf8("""<p>The regular expression could not be saved.</p>""" |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | """<p>Reason: {0}</p>""").format(str(err))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | def on_loadButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | Private slot to load a QRegularExpression from a file. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | fname = E5FileDialog.getOpenFileName( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | self.trUtf8("Load regular expression"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | "", |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | self.trUtf8("RegExp Files (*.rx);;All Files (*)")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | if fname: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | try: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | f = open(Utilities.toNativeSeparators(fname), "r", encoding="utf-8") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | regexp = f.read() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | f.close() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | self.regexpTextEdit.setPlainText(regexp) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | except IOError as err: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | E5MessageBox.information(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | self.trUtf8("Save regular expression"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | self.trUtf8("""<p>The regular expression could not be saved.</p>""" |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | """<p>Reason: {0}</p>""").format(str(err))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | def on_copyButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | Private slot to copy the QRegularExpression string into the clipboard. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | This slot is only available, if not called from within eric5. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | escaped = self.regexpTextEdit.toPlainText() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | if escaped: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | escaped = escaped.replace("\\", "\\\\") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | cb = QApplication.clipboard() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | cb.setText(escaped, QClipboard.Clipboard) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | if cb.supportsSelection(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | cb.setText(escaped, QClipboard.Selection) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | def on_validateButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | Private slot to validate the entered QRegularExpression. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | if qVersion() < "5.0.0" or not AVAILABLE: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | # only available for Qt5 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | regex = self.regexpTextEdit.toPlainText() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | if regex: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | options = QRegularExpression.NoPatternOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | if self.caseInsensitiveCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | options |= QRegularExpression.CaseInsensitiveOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | if self.multilineCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | options |= QRegularExpression.MultilineOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | if self.dotallCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | options |= QRegularExpression.DotMatchesEverythingOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | if self.extendedCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | options |= QRegularExpression.ExtendedPatternSyntaxOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | if self.greedinessCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | options |= QRegularExpression.InvertedGreedinessOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | if self.unicodeCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | options |= QRegularExpression.UseUnicodePropertiesOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | if self.captureCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | options |= QRegularExpression.DontCaptureOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | re = QRegularExpression(regex, options) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | if re.isValid(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | E5MessageBox.information(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | self.trUtf8("Validation"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | self.trUtf8("""The regular expression is valid.""")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | E5MessageBox.critical(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | self.trUtf8("Error"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | self.trUtf8("""Invalid regular expression: {0}""") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | .format(re.errorString())) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | # move cursor to error offset |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | offset = re.errorPatternOffset() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | tc = self.regexpTextEdit.textCursor() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | tc.setPosition(offset) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | self.regexpTextEdit.setTextCursor(tc) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | E5MessageBox.critical(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | self.trUtf8("Error"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | self.trUtf8("""A regular expression must be given.""")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | def on_executeButton_clicked(self, startpos=0): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | Private slot to execute the entered QRegularExpression on the test text. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | This slot will execute the entered QRegularExpression on the entered test |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | data and will display the result in the table part of the dialog. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | @param startpos starting position for the QRegularExpression matching |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | if qVersion() < "5.0.0" or not AVAILABLE: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | # only available for Qt5 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | regex = self.regexpTextEdit.toPlainText() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | text = self.textTextEdit.toPlainText() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | if regex and text: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | options = QRegularExpression.NoPatternOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | if self.caseInsensitiveCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | options |= QRegularExpression.CaseInsensitiveOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | if self.multilineCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | options |= QRegularExpression.MultilineOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | if self.dotallCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | options |= QRegularExpression.DotMatchesEverythingOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | if self.extendedCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | options |= QRegularExpression.ExtendedPatternSyntaxOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | if self.greedinessCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | options |= QRegularExpression.InvertedGreedinessOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | if self.unicodeCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | options |= QRegularExpression.UseUnicodePropertiesOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | if self.captureCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | options |= QRegularExpression.DontCaptureOption |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | re = QRegularExpression(regex, options) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | if not re.isValid(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | E5MessageBox.critical(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | self.trUtf8("Error"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | self.trUtf8("""Invalid regular expression: {0}""") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | .format(re.errorString())) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | # move cursor to error offset |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | offset = re.errorPatternOffset() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | tc = self.regexpTextEdit.textCursor() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | tc.setPosition(offset) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | self.regexpTextEdit.setTextCursor(tc) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | return |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | match = re.match(text, startpos) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | if match.hasMatch(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | captures = match.lastCapturedIndex() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | captures = 0 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | row = 0 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | OFFSET = 5 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | self.resultTable.setColumnCount(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | self.resultTable.setColumnCount(3) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | self.resultTable.setRowCount(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | self.resultTable.setRowCount(OFFSET) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | self.resultTable.setItem(row, 0, QTableWidgetItem(self.trUtf8("Regexp"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | self.resultTable.setItem(row, 1, QTableWidgetItem(regex)) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | if match.hasMatch(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | # index 0 is the complete match |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | offset = match.capturedStart(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | self.lastMatchEnd = match.capturedEnd(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | self.nextButton.setEnabled(True) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | QTableWidgetItem(self.trUtf8("Offset"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | self.resultTable.setItem(row, 1, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | QTableWidgetItem("{0:d}".format(match.capturedStart(0)))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | QTableWidgetItem(self.trUtf8("Captures"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | self.resultTable.setItem(row, 1, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | QTableWidgetItem("{0:d}".format(captures))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | self.resultTable.setItem(row, 1, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | QTableWidgetItem(self.trUtf8("Text"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | self.resultTable.setItem(row, 2, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | QTableWidgetItem(self.trUtf8("Characters"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | QTableWidgetItem(self.trUtf8("Match"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | self.resultTable.setItem(row, 1, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | QTableWidgetItem(match.captured(0))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | self.resultTable.setItem(row, 2, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | QTableWidgetItem("{0:d}".format(match.capturedLength(0)))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | for i in range(1, captures + 1): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | if match.captured(i): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | self.resultTable.insertRow(row) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | QTableWidgetItem(self.trUtf8("Capture #{0}").format(i))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | self.resultTable.setItem(row, 1, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | QTableWidgetItem(match.captured(i))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | self.resultTable.setItem(row, 2, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | QTableWidgetItem("{0:d}".format(match.capturedLength(i)))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | # highlight the matched text |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | tc = self.textTextEdit.textCursor() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | tc.setPosition(offset) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | tc.setPosition(self.lastMatchEnd, QTextCursor.KeepAnchor) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | self.textTextEdit.setTextCursor(tc) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | self.nextButton.setEnabled(False) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | self.resultTable.setRowCount(2) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | row += 1 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | if startpos > 0: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | QTableWidgetItem(self.trUtf8("No more matches"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | self.resultTable.setItem(row, 0, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | QTableWidgetItem(self.trUtf8("No matches"))) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | # remove the highlight |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | tc = self.textTextEdit.textCursor() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | tc.setPosition(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | self.textTextEdit.setTextCursor(tc) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | self.resultTable.resizeColumnsToContents() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | self.resultTable.resizeRowsToContents() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | self.resultTable.verticalHeader().hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | self.resultTable.horizontalHeader().hide() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | else: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | E5MessageBox.critical(self, |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | self.trUtf8("Error"), |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | self.trUtf8("""A regular expression and a text must be given.""")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | def on_nextButton_clicked(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | Private slot to find the next match. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | self.on_executeButton_clicked(self.lastMatchEnd) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | @pyqtSlot() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | def on_regexpTextEdit_textChanged(self): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | Private slot called when the regexp changes. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | if self.nextButton: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | self.nextButton.setEnabled(False) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | def getCode(self, indLevel, indString): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | Public method to get the source code. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | @param indLevel indentation level (int) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | @param indString string used for indentation (space or tab) (string) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | @return generated code (string) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | # calculate the indentation string |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | i1string = (indLevel + 1) * indString |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | estring = os.linesep + indLevel * indString |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | # now generate the code |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | reVar = self.variableLineEdit.text() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | if not reVar: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | reVar = "regexp" |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | regexp = self.regexpTextEdit.toPlainText() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
604 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | options = [] |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | if self.caseInsensitiveCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
607 | options.append("QRegularExpression.CaseInsensitiveOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | if self.multilineCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | options.append("QRegularExpression.MultilineOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | if self.dotallCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | options.append("QRegularExpression.DotMatchesEverythingOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | if self.extendedCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | options.append("QRegularExpression.ExtendedPatternSyntaxOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | if self.greedinessCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | options.append("QRegularExpression.InvertedGreedinessOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | if self.unicodeCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | options.append("QRegularExpression.UseUnicodePropertiesOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | if self.captureCheckBox.isChecked(): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
619 | options.append("QRegularExpression.DontCaptureOption") |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
620 | options = " | \\{0}{1}".format(os.linesep, i1string).join(options) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | code = '{0} = QRegularExpression(r"""{1}"""'.format( |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | reVar, regexp.replace('"', '\\"')) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | if options: |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | code += ', {0}{1}{2}'.format(os.linesep, i1string, options) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | code += '){0}'.format(estring) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | return code |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | class QRegularExpressionWizardDialog(QDialog): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
632 | Class for the dialog variant. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
633 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
634 | def __init__(self, parent=None, fromEric=True): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | Constructor |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | @param parent parent widget (QWidget) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | @param fromEric flag indicating a call from within eric5 |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | super().__init__(parent) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | self.setModal(fromEric) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | self.setSizeGripEnabled(True) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | self.__layout = QVBoxLayout(self) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | self.__layout.setMargin(0) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | self.setLayout(self.__layout) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | self.cw = QRegularExpressionWizardWidget(self, fromEric) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | size = self.cw.size() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | self.__layout.addWidget(self.cw) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | self.resize(size) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
653 | self.setWindowTitle(self.cw.windowTitle()) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | self.cw.buttonBox.accepted[()].connect(self.accept) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | self.cw.buttonBox.rejected[()].connect(self.reject) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | def getCode(self, indLevel, indString): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | Public method to get the source code. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | @param indLevel indentation level (int) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | @param indString string used for indentation (space or tab) (string) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
664 | @return generated code (string) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | return self.cw.getCode(indLevel, indString) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | class QRegularExpressionWizardWindow(E5MainWindow): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | Main window class for the standalone dialog. |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | def __init__(self, parent=None): |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | Constructor |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
677 | @param parent reference to the parent widget (QWidget) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | """ |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | super().__init__(parent) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | self.cw = QRegularExpressionWizardWidget(self, fromEric=False) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | size = self.cw.size() |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | self.setCentralWidget(self.cw) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | self.resize(size) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | self.setWindowTitle(self.cw.windowTitle()) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet")) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | self.cw.buttonBox.accepted[()].connect(self.close) |
86cd4d14b58e
Added a wizard for the Qt5 QRegularExpression class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | self.cw.buttonBox.rejected[()].connect(self.close) |