Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardDialog.py

Fri, 26 Jul 2013 18:51:12 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 26 Jul 2013 18:51:12 +0200
changeset 2824
858412c29c34
parent 2752
5d556f9040e3
child 2847
1843ef6e2656
child 2893
150de635fa29
permissions
-rw-r--r--

Replaced the obsoleted method setMargin() with setContentsMargins().

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

eric ide

mercurial