8 """ |
8 """ |
9 |
9 |
10 from __future__ import unicode_literals |
10 from __future__ import unicode_literals |
11 |
11 |
12 import os |
12 import os |
|
13 import sys |
13 import xml.etree.ElementTree |
14 import xml.etree.ElementTree |
14 |
15 |
15 from PyQt5.QtCore import QMetaObject, QByteArray, QRegExp, Qt, pyqtSlot, \ |
16 from PyQt5.QtCore import QMetaObject, QByteArray, QRegExp, Qt, pyqtSlot, \ |
16 QMetaMethod, QSortFilterProxyModel |
17 QMetaMethod, QSortFilterProxyModel |
17 from PyQt5.QtGui import QStandardItemModel, QBrush, QStandardItem |
18 from PyQt5.QtGui import QStandardItemModel, QBrush, QStandardItem |
26 from .NewDialogClassDialog import NewDialogClassDialog |
27 from .NewDialogClassDialog import NewDialogClassDialog |
27 |
28 |
28 from eric6config import getConfig |
29 from eric6config import getConfig |
29 |
30 |
30 from Globals import qVersionTuple |
31 from Globals import qVersionTuple |
|
32 |
|
33 import Utilities |
31 |
34 |
32 |
35 |
33 pyqtSignatureRole = Qt.UserRole + 1 |
36 pyqtSignatureRole = Qt.UserRole + 1 |
34 pythonSignatureRole = Qt.UserRole + 2 |
37 pythonSignatureRole = Qt.UserRole + 2 |
35 rubySignatureRole = Qt.UserRole + 3 |
38 rubySignatureRole = Qt.UserRole + 3 |
140 |
143 |
141 @return flag indicating an initialzation error (boolean) |
144 @return flag indicating an initialzation error (boolean) |
142 """ |
145 """ |
143 return self.__initError |
146 return self.__initError |
144 |
147 |
|
148 def __loadUi(self, formFile, package=""): |
|
149 """ |
|
150 Private method to load a form file and instantiate the defined form. |
|
151 |
|
152 @param formFile path of the form file to be loaded |
|
153 @type str |
|
154 @param package base path to be used for relative imports |
|
155 @type str |
|
156 @return instantiated form |
|
157 @rtype QWidget |
|
158 """ |
|
159 oldSysPath = [] |
|
160 interpreter = self.project.getDebugProperty("INTERPRETER") |
|
161 if interpreter: |
|
162 oldSysPath = sys.path[:] |
|
163 sys.path = oldSysPath + Utilities.getSysPath(interpreter) |
|
164 |
|
165 dlg = uic.loadUi(formFile, package=package) |
|
166 |
|
167 if oldSysPath: |
|
168 sys.path = oldSysPath |
|
169 |
|
170 return dlg |
|
171 |
145 def __objectName(self): |
172 def __objectName(self): |
146 """ |
173 """ |
147 Private method to get the object name of the dialog. |
174 Private method to get the object name of the dialog. |
148 |
175 |
149 @return object name (string) |
176 @return object name (string) |
150 """ |
177 """ |
151 try: |
178 try: |
152 dlg = uic.loadUi( |
179 dlg = self.__loadUi( |
153 self.formFile, package=self.project.getProjectPath()) |
180 self.formFile, package=self.project.getProjectPath()) |
154 return dlg.objectName() |
181 return dlg.objectName() |
155 except (AttributeError, ImportError, |
182 except (AttributeError, ImportError, |
156 xml.etree.ElementTree.ParseError) as err: |
183 xml.etree.ElementTree.ParseError) as err: |
157 E5MessageBox.critical( |
184 E5MessageBox.critical( |
167 Private method to get the class name of the dialog. |
194 Private method to get the class name of the dialog. |
168 |
195 |
169 @return class name (sting) |
196 @return class name (sting) |
170 """ |
197 """ |
171 try: |
198 try: |
172 dlg = uic.loadUi( |
199 dlg = self.__loadUi( |
173 self.formFile, package=self.project.getProjectPath()) |
200 self.formFile, package=self.project.getProjectPath()) |
174 return dlg.metaObject().className() |
201 return dlg.metaObject().className() |
175 except (AttributeError, ImportError, |
202 except (AttributeError, ImportError, |
176 xml.etree.ElementTree.ParseError) as err: |
203 xml.etree.ElementTree.ParseError) as err: |
177 E5MessageBox.critical( |
204 E5MessageBox.critical( |
238 Private slot to update the slots tree display. |
265 Private slot to update the slots tree display. |
239 """ |
266 """ |
240 self.filterEdit.clear() |
267 self.filterEdit.clear() |
241 |
268 |
242 try: |
269 try: |
243 dlg = uic.loadUi( |
270 dlg = self.__loadUi( |
244 self.formFile, package=self.project.getProjectPath()) |
271 self.formFile, package=self.project.getProjectPath()) |
245 objects = dlg.findChildren(QWidget) + dlg.findChildren(QAction) |
272 objects = dlg.findChildren(QWidget) + dlg.findChildren(QAction) |
246 |
273 |
247 signatureList = self.__signatures() |
274 signatureList = self.__signatures() |
248 |
275 |