src/eric7/Project/ProjectInterfacesBrowser.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
18 from EricWidgets.EricApplication import ericApp 18 from EricWidgets.EricApplication import ericApp
19 from EricWidgets import EricMessageBox 19 from EricWidgets import EricMessageBox
20 from EricWidgets.EricProgressDialog import EricProgressDialog 20 from EricWidgets.EricProgressDialog import EricProgressDialog
21 21
22 from .ProjectBrowserModel import ( 22 from .ProjectBrowserModel import (
23 ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem, 23 ProjectBrowserFileItem,
24 ProjectBrowserDirectoryItem, ProjectBrowserInterfaceType 24 ProjectBrowserSimpleDirectoryItem,
25 ProjectBrowserDirectoryItem,
26 ProjectBrowserInterfaceType,
25 ) 27 )
26 from .ProjectBaseBrowser import ProjectBaseBrowser 28 from .ProjectBaseBrowser import ProjectBaseBrowser
27 29
28 from UI.BrowserModel import ( 30 from UI.BrowserModel import (
29 BrowserFileItem, BrowserClassItem, BrowserMethodItem, 31 BrowserFileItem,
30 BrowserClassAttributeItem 32 BrowserClassItem,
33 BrowserMethodItem,
34 BrowserClassAttributeItem,
31 ) 35 )
32 import UI.PixmapCache 36 import UI.PixmapCache
33 from UI.NotificationWidget import NotificationTypes 37 from UI.NotificationWidget import NotificationTypes
34 38
35 import Preferences 39 import Preferences
37 41
38 42
39 class ProjectInterfacesBrowser(ProjectBaseBrowser): 43 class ProjectInterfacesBrowser(ProjectBaseBrowser):
40 """ 44 """
41 A class used to display the interfaces (IDL) part of the project. 45 A class used to display the interfaces (IDL) part of the project.
42 46
43 @signal appendStdout(str) emitted after something was received from 47 @signal appendStdout(str) emitted after something was received from
44 a QProcess on stdout 48 a QProcess on stdout
45 @signal appendStderr(str) emitted after something was received from 49 @signal appendStderr(str) emitted after something was received from
46 a QProcess on stderr 50 a QProcess on stderr
47 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. 51 @signal showMenu(str, QMenu) emitted when a menu is about to be shown.
48 The name of the menu and a reference to the menu are given. 52 The name of the menu and a reference to the menu are given.
49 """ 53 """
54
50 appendStdout = pyqtSignal(str) 55 appendStdout = pyqtSignal(str)
51 appendStderr = pyqtSignal(str) 56 appendStderr = pyqtSignal(str)
52 showMenu = pyqtSignal(str, QMenu) 57 showMenu = pyqtSignal(str, QMenu)
53 58
54 def __init__(self, project, parent=None): 59 def __init__(self, project, parent=None):
55 """ 60 """
56 Constructor 61 Constructor
57 62
58 @param project reference to the project object 63 @param project reference to the project object
59 @param parent parent widget of this browser (QWidget) 64 @param parent parent widget of this browser (QWidget)
60 """ 65 """
61 self.omniidl = Preferences.getCorba("omniidl") 66 self.omniidl = Preferences.getCorba("omniidl")
62 if self.omniidl == "": 67 if self.omniidl == "":
63 self.omniidl = ( 68 self.omniidl = Utilities.isWindowsPlatform() and "omniidl.exe" or "omniidl"
64 Utilities.isWindowsPlatform() and
65 "omniidl.exe" or "omniidl"
66 )
67 if not Utilities.isinpath(self.omniidl): 69 if not Utilities.isinpath(self.omniidl):
68 self.omniidl = None 70 self.omniidl = None
69 71
70 ProjectBaseBrowser.__init__(self, project, 72 ProjectBaseBrowser.__init__(self, project, ProjectBrowserInterfaceType, parent)
71 ProjectBrowserInterfaceType, parent) 73
72 74 self.selectedItemsFilter = [
73 self.selectedItemsFilter = [ProjectBrowserFileItem, 75 ProjectBrowserFileItem,
74 ProjectBrowserSimpleDirectoryItem] 76 ProjectBrowserSimpleDirectoryItem,
75 77 ]
76 self.setWindowTitle(self.tr('Interfaces (IDL)')) 78
77 79 self.setWindowTitle(self.tr("Interfaces (IDL)"))
78 self.setWhatsThis(self.tr( 80
79 """<b>Project Interfaces Browser</b>""" 81 self.setWhatsThis(
80 """<p>This allows to easily see all interfaces (CORBA IDL files)""" 82 self.tr(
81 """ contained in the current project. Several actions can be""" 83 """<b>Project Interfaces Browser</b>"""
82 """ executed via the context menu.</p>""" 84 """<p>This allows to easily see all interfaces (CORBA IDL files)"""
83 )) 85 """ contained in the current project. Several actions can be"""
84 86 """ executed via the context menu.</p>"""
87 )
88 )
89
85 project.prepareRepopulateItem.connect(self._prepareRepopulateItem) 90 project.prepareRepopulateItem.connect(self._prepareRepopulateItem)
86 project.completeRepopulateItem.connect(self._completeRepopulateItem) 91 project.completeRepopulateItem.connect(self._completeRepopulateItem)
87 92
88 def _createPopupMenus(self): 93 def _createPopupMenus(self):
89 """ 94 """
90 Protected overloaded method to generate the popup menu. 95 Protected overloaded method to generate the popup menu.
91 """ 96 """
92 self.menuActions = [] 97 self.menuActions = []
93 self.multiMenuActions = [] 98 self.multiMenuActions = []
94 self.dirMenuActions = [] 99 self.dirMenuActions = []
95 self.dirMultiMenuActions = [] 100 self.dirMultiMenuActions = []
96 101
97 self.sourceMenu = QMenu(self) 102 self.sourceMenu = QMenu(self)
98 if self.omniidl is not None: 103 if self.omniidl is not None:
99 self.sourceMenu.addAction( 104 self.sourceMenu.addAction(
100 self.tr('Compile interface'), self.__compileInterface) 105 self.tr("Compile interface"), self.__compileInterface
106 )
101 self.sourceMenu.addAction( 107 self.sourceMenu.addAction(
102 self.tr('Compile all interfaces'), 108 self.tr("Compile all interfaces"), self.__compileAllInterfaces
103 self.__compileAllInterfaces) 109 )
104 self.sourceMenu.addSeparator() 110 self.sourceMenu.addSeparator()
105 self.sourceMenu.addAction( 111 self.sourceMenu.addAction(
106 self.tr('Configure IDL compiler'), 112 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
107 self.__configureIdlCompiler) 113 )
108 self.sourceMenu.addSeparator() 114 self.sourceMenu.addSeparator()
109 self.sourceMenu.addAction(self.tr('Open'), self._openItem) 115 self.sourceMenu.addAction(self.tr("Open"), self._openItem)
110 self.sourceMenu.addSeparator() 116 self.sourceMenu.addSeparator()
111 act = self.sourceMenu.addAction( 117 act = self.sourceMenu.addAction(self.tr("Rename file"), self._renameFile)
112 self.tr('Rename file'), self._renameFile)
113 self.menuActions.append(act) 118 self.menuActions.append(act)
114 act = self.sourceMenu.addAction( 119 act = self.sourceMenu.addAction(
115 self.tr('Remove from project'), self._removeFile) 120 self.tr("Remove from project"), self._removeFile
121 )
116 self.menuActions.append(act) 122 self.menuActions.append(act)
117 act = self.sourceMenu.addAction( 123 act = self.sourceMenu.addAction(self.tr("Delete"), self.__deleteFile)
118 self.tr('Delete'), self.__deleteFile)
119 self.menuActions.append(act) 124 self.menuActions.append(act)
120 self.sourceMenu.addSeparator() 125 self.sourceMenu.addSeparator()
121 self.sourceMenu.addAction( 126 self.sourceMenu.addAction(
122 self.tr('Add interfaces...'), self.__addInterfaceFiles) 127 self.tr("Add interfaces..."), self.__addInterfaceFiles
128 )
123 self.sourceMenu.addAction( 129 self.sourceMenu.addAction(
124 self.tr('Add interfaces directory...'), 130 self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
125 self.__addInterfacesDirectory) 131 )
126 self.sourceMenu.addSeparator() 132 self.sourceMenu.addSeparator()
127 self.sourceMenu.addAction( 133 self.sourceMenu.addAction(
128 self.tr('Copy Path to Clipboard'), self._copyToClipboard) 134 self.tr("Copy Path to Clipboard"), self._copyToClipboard
135 )
129 self.sourceMenu.addSeparator() 136 self.sourceMenu.addSeparator()
130 self.sourceMenu.addAction( 137 self.sourceMenu.addAction(
131 self.tr('Expand all directories'), self._expandAllDirs) 138 self.tr("Expand all directories"), self._expandAllDirs
139 )
132 self.sourceMenu.addAction( 140 self.sourceMenu.addAction(
133 self.tr('Collapse all directories'), self._collapseAllDirs) 141 self.tr("Collapse all directories"), self._collapseAllDirs
142 )
134 self.sourceMenu.addSeparator() 143 self.sourceMenu.addSeparator()
135 self.sourceMenu.addAction(self.tr('Configure...'), self._configure) 144 self.sourceMenu.addAction(self.tr("Configure..."), self._configure)
136 self.sourceMenu.addAction( 145 self.sourceMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
137 self.tr('Configure CORBA...'), self.__configureCorba)
138 146
139 self.menu = QMenu(self) 147 self.menu = QMenu(self)
140 if self.omniidl is not None: 148 if self.omniidl is not None:
149 self.menu.addAction(self.tr("Compile interface"), self.__compileInterface)
141 self.menu.addAction( 150 self.menu.addAction(
142 self.tr('Compile interface'), self.__compileInterface) 151 self.tr("Compile all interfaces"), self.__compileAllInterfaces
143 self.menu.addAction( 152 )
144 self.tr('Compile all interfaces'),
145 self.__compileAllInterfaces)
146 self.menu.addSeparator() 153 self.menu.addSeparator()
147 self.menu.addAction( 154 self.menu.addAction(
148 self.tr('Configure IDL compiler'), 155 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
149 self.__configureIdlCompiler) 156 )
150 self.menu.addSeparator() 157 self.menu.addSeparator()
151 self.menu.addAction(self.tr('Open'), self._openItem) 158 self.menu.addAction(self.tr("Open"), self._openItem)
152 self.menu.addSeparator() 159 self.menu.addSeparator()
160 self.menu.addAction(self.tr("Add interfaces..."), self.__addInterfaceFiles)
153 self.menu.addAction( 161 self.menu.addAction(
154 self.tr('Add interfaces...'), self.__addInterfaceFiles) 162 self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
155 self.menu.addAction( 163 )
156 self.tr('Add interfaces directory...'),
157 self.__addInterfacesDirectory)
158 self.menu.addSeparator() 164 self.menu.addSeparator()
159 self.menu.addAction( 165 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
160 self.tr('Expand all directories'), self._expandAllDirs) 166 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs)
161 self.menu.addAction(
162 self.tr('Collapse all directories'), self._collapseAllDirs)
163 self.menu.addSeparator() 167 self.menu.addSeparator()
164 self.menu.addAction(self.tr('Configure...'), self._configure) 168 self.menu.addAction(self.tr("Configure..."), self._configure)
165 self.menu.addAction( 169 self.menu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
166 self.tr('Configure CORBA...'), self.__configureCorba)
167 170
168 self.backMenu = QMenu(self) 171 self.backMenu = QMenu(self)
169 if self.omniidl is not None: 172 if self.omniidl is not None:
170 self.backMenu.addAction( 173 self.backMenu.addAction(
171 self.tr('Compile all interfaces'), 174 self.tr("Compile all interfaces"), self.__compileAllInterfaces
172 self.__compileAllInterfaces) 175 )
173 self.backMenu.addSeparator() 176 self.backMenu.addSeparator()
174 self.backMenu.addAction( 177 self.backMenu.addAction(
175 self.tr('Configure IDL compiler'), 178 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
176 self.__configureIdlCompiler) 179 )
177 self.backMenu.addSeparator() 180 self.backMenu.addSeparator()
181 self.backMenu.addAction(self.tr("Add interfaces..."), self.project.addIdlFiles)
178 self.backMenu.addAction( 182 self.backMenu.addAction(
179 self.tr('Add interfaces...'), self.project.addIdlFiles) 183 self.tr("Add interfaces directory..."), self.project.addIdlDir
184 )
185 self.backMenu.addSeparator()
186 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
180 self.backMenu.addAction( 187 self.backMenu.addAction(
181 self.tr('Add interfaces directory...'), self.project.addIdlDir) 188 self.tr("Collapse all directories"), self._collapseAllDirs
189 )
182 self.backMenu.addSeparator() 190 self.backMenu.addSeparator()
183 self.backMenu.addAction( 191 self.backMenu.addAction(self.tr("Configure..."), self._configure)
184 self.tr('Expand all directories'), self._expandAllDirs) 192 self.backMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
185 self.backMenu.addAction(
186 self.tr('Collapse all directories'), self._collapseAllDirs)
187 self.backMenu.addSeparator()
188 self.backMenu.addAction(self.tr('Configure...'), self._configure)
189 self.backMenu.addAction(
190 self.tr('Configure CORBA...'), self.__configureCorba)
191 self.backMenu.setEnabled(False) 193 self.backMenu.setEnabled(False)
192 194
193 # create the menu for multiple selected files 195 # create the menu for multiple selected files
194 self.multiMenu = QMenu(self) 196 self.multiMenu = QMenu(self)
195 if self.omniidl is not None: 197 if self.omniidl is not None:
196 self.multiMenu.addAction( 198 self.multiMenu.addAction(
197 self.tr('Compile interfaces'), 199 self.tr("Compile interfaces"), self.__compileSelectedInterfaces
198 self.__compileSelectedInterfaces) 200 )
199 self.multiMenu.addSeparator() 201 self.multiMenu.addSeparator()
200 self.multiMenu.addAction( 202 self.multiMenu.addAction(
201 self.tr('Configure IDL compiler'), 203 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
202 self.__configureIdlCompiler) 204 )
203 self.multiMenu.addSeparator() 205 self.multiMenu.addSeparator()
204 self.multiMenu.addAction(self.tr('Open'), self._openItem) 206 self.multiMenu.addAction(self.tr("Open"), self._openItem)
205 self.multiMenu.addSeparator() 207 self.multiMenu.addSeparator()
206 act = self.multiMenu.addAction( 208 act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile)
207 self.tr('Remove from project'), self._removeFile)
208 self.multiMenuActions.append(act) 209 self.multiMenuActions.append(act)
209 act = self.multiMenu.addAction( 210 act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile)
210 self.tr('Delete'), self.__deleteFile)
211 self.multiMenuActions.append(act) 211 self.multiMenuActions.append(act)
212 self.multiMenu.addSeparator() 212 self.multiMenu.addSeparator()
213 self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
213 self.multiMenu.addAction( 214 self.multiMenu.addAction(
214 self.tr('Expand all directories'), self._expandAllDirs) 215 self.tr("Collapse all directories"), self._collapseAllDirs
215 self.multiMenu.addAction( 216 )
216 self.tr('Collapse all directories'), self._collapseAllDirs)
217 self.multiMenu.addSeparator() 217 self.multiMenu.addSeparator()
218 self.multiMenu.addAction(self.tr('Configure...'), self._configure) 218 self.multiMenu.addAction(self.tr("Configure..."), self._configure)
219 self.multiMenu.addAction( 219 self.multiMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
220 self.tr('Configure CORBA...'), self.__configureCorba)
221 220
222 self.dirMenu = QMenu(self) 221 self.dirMenu = QMenu(self)
223 if self.omniidl is not None: 222 if self.omniidl is not None:
224 self.dirMenu.addAction( 223 self.dirMenu.addAction(
225 self.tr('Compile all interfaces'), 224 self.tr("Compile all interfaces"), self.__compileAllInterfaces
226 self.__compileAllInterfaces) 225 )
227 self.dirMenu.addSeparator() 226 self.dirMenu.addSeparator()
228 self.dirMenu.addAction( 227 self.dirMenu.addAction(
229 self.tr('Configure IDL compiler'), 228 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
230 self.__configureIdlCompiler) 229 )
231 self.dirMenu.addSeparator() 230 self.dirMenu.addSeparator()
232 act = self.dirMenu.addAction( 231 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeFile)
233 self.tr('Remove from project'), self._removeFile)
234 self.dirMenuActions.append(act) 232 self.dirMenuActions.append(act)
235 act = self.dirMenu.addAction( 233 act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory)
236 self.tr('Delete'), self._deleteDirectory)
237 self.dirMenuActions.append(act) 234 self.dirMenuActions.append(act)
238 self.dirMenu.addSeparator() 235 self.dirMenu.addSeparator()
236 self.dirMenu.addAction(self.tr("Add interfaces..."), self.__addInterfaceFiles)
239 self.dirMenu.addAction( 237 self.dirMenu.addAction(
240 self.tr('Add interfaces...'), self.__addInterfaceFiles) 238 self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
239 )
240 self.dirMenu.addSeparator()
241 self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
242 self.dirMenu.addSeparator()
243 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
241 self.dirMenu.addAction( 244 self.dirMenu.addAction(
242 self.tr('Add interfaces directory...'), 245 self.tr("Collapse all directories"), self._collapseAllDirs
243 self.__addInterfacesDirectory) 246 )
244 self.dirMenu.addSeparator() 247 self.dirMenu.addSeparator()
245 self.dirMenu.addAction( 248 self.dirMenu.addAction(self.tr("Configure..."), self._configure)
246 self.tr('Copy Path to Clipboard'), self._copyToClipboard) 249 self.dirMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
247 self.dirMenu.addSeparator() 250
248 self.dirMenu.addAction(
249 self.tr('Expand all directories'), self._expandAllDirs)
250 self.dirMenu.addAction(
251 self.tr('Collapse all directories'), self._collapseAllDirs)
252 self.dirMenu.addSeparator()
253 self.dirMenu.addAction(self.tr('Configure...'), self._configure)
254 self.dirMenu.addAction(
255 self.tr('Configure CORBA...'), self.__configureCorba)
256
257 self.dirMultiMenu = QMenu(self) 251 self.dirMultiMenu = QMenu(self)
258 if self.omniidl is not None: 252 if self.omniidl is not None:
259 self.dirMultiMenu.addAction( 253 self.dirMultiMenu.addAction(
260 self.tr('Compile all interfaces'), 254 self.tr("Compile all interfaces"), self.__compileAllInterfaces
261 self.__compileAllInterfaces) 255 )
262 self.dirMultiMenu.addSeparator() 256 self.dirMultiMenu.addSeparator()
263 self.dirMultiMenu.addAction( 257 self.dirMultiMenu.addAction(
264 self.tr('Configure IDL compiler'), 258 self.tr("Configure IDL compiler"), self.__configureIdlCompiler
265 self.__configureIdlCompiler) 259 )
266 self.dirMultiMenu.addSeparator() 260 self.dirMultiMenu.addSeparator()
267 self.dirMultiMenu.addAction( 261 self.dirMultiMenu.addAction(
268 self.tr('Add interfaces...'), self.project.addIdlFiles) 262 self.tr("Add interfaces..."), self.project.addIdlFiles
263 )
269 self.dirMultiMenu.addAction( 264 self.dirMultiMenu.addAction(
270 self.tr('Add interfaces directory...'), self.project.addIdlDir) 265 self.tr("Add interfaces directory..."), self.project.addIdlDir
266 )
271 self.dirMultiMenu.addSeparator() 267 self.dirMultiMenu.addSeparator()
272 self.dirMultiMenu.addAction( 268 self.dirMultiMenu.addAction(
273 self.tr('Expand all directories'), self._expandAllDirs) 269 self.tr("Expand all directories"), self._expandAllDirs
270 )
274 self.dirMultiMenu.addAction( 271 self.dirMultiMenu.addAction(
275 self.tr('Collapse all directories'), self._collapseAllDirs) 272 self.tr("Collapse all directories"), self._collapseAllDirs
273 )
276 self.dirMultiMenu.addSeparator() 274 self.dirMultiMenu.addSeparator()
275 self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure)
277 self.dirMultiMenu.addAction( 276 self.dirMultiMenu.addAction(
278 self.tr('Configure...'), self._configure) 277 self.tr("Configure CORBA..."), self.__configureCorba
279 self.dirMultiMenu.addAction(self.tr('Configure CORBA...'), 278 )
280 self.__configureCorba) 279
281
282 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) 280 self.sourceMenu.aboutToShow.connect(self.__showContextMenu)
283 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) 281 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti)
284 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) 282 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir)
285 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) 283 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti)
286 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) 284 self.backMenu.aboutToShow.connect(self.__showContextMenuBack)
287 self.mainMenu = self.sourceMenu 285 self.mainMenu = self.sourceMenu
288 286
289 def _contextMenuRequested(self, coord): 287 def _contextMenuRequested(self, coord):
290 """ 288 """
291 Protected slot to show the context menu. 289 Protected slot to show the context menu.
292 290
293 @param coord the position of the mouse pointer (QPoint) 291 @param coord the position of the mouse pointer (QPoint)
294 """ 292 """
295 if not self.project.isOpen(): 293 if not self.project.isOpen():
296 return 294 return
297 295
298 with contextlib.suppress(Exception): 296 with contextlib.suppress(Exception):
299 categories = self.getSelectedItemsCountCategorized( 297 categories = self.getSelectedItemsCountCategorized(
300 [ProjectBrowserFileItem, BrowserClassItem, 298 [
301 BrowserMethodItem, ProjectBrowserSimpleDirectoryItem]) 299 ProjectBrowserFileItem,
300 BrowserClassItem,
301 BrowserMethodItem,
302 ProjectBrowserSimpleDirectoryItem,
303 ]
304 )
302 cnt = categories["sum"] 305 cnt = categories["sum"]
303 if cnt <= 1: 306 if cnt <= 1:
304 index = self.indexAt(coord) 307 index = self.indexAt(coord)
305 if index.isValid(): 308 if index.isValid():
306 self._selectSingleItem(index) 309 self._selectSingleItem(index)
307 categories = self.getSelectedItemsCountCategorized( 310 categories = self.getSelectedItemsCountCategorized(
308 [ProjectBrowserFileItem, BrowserClassItem, 311 [
309 BrowserMethodItem, ProjectBrowserSimpleDirectoryItem]) 312 ProjectBrowserFileItem,
313 BrowserClassItem,
314 BrowserMethodItem,
315 ProjectBrowserSimpleDirectoryItem,
316 ]
317 )
310 cnt = categories["sum"] 318 cnt = categories["sum"]
311 319
312 bfcnt = categories[str(ProjectBrowserFileItem)] 320 bfcnt = categories[str(ProjectBrowserFileItem)]
313 cmcnt = ( 321 cmcnt = (
314 categories[str(BrowserClassItem)] + 322 categories[str(BrowserClassItem)] + categories[str(BrowserMethodItem)]
315 categories[str(BrowserMethodItem)]
316 ) 323 )
317 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] 324 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)]
318 if cnt > 1 and cnt == bfcnt: 325 if cnt > 1 and cnt == bfcnt:
319 self.multiMenu.popup(self.mapToGlobal(coord)) 326 self.multiMenu.popup(self.mapToGlobal(coord))
320 elif cnt > 1 and cnt == sdcnt: 327 elif cnt > 1 and cnt == sdcnt:
324 if cnt == 1 and index.isValid(): 331 if cnt == 1 and index.isValid():
325 if bfcnt == 1 or cmcnt == 1: 332 if bfcnt == 1 or cmcnt == 1:
326 itm = self.model().item(index) 333 itm = self.model().item(index)
327 if isinstance(itm, ProjectBrowserFileItem): 334 if isinstance(itm, ProjectBrowserFileItem):
328 self.sourceMenu.popup(self.mapToGlobal(coord)) 335 self.sourceMenu.popup(self.mapToGlobal(coord))
329 elif isinstance( 336 elif isinstance(itm, (BrowserClassItem, BrowserMethodItem)):
330 itm,
331 (BrowserClassItem, BrowserMethodItem)
332 ):
333 self.menu.popup(self.mapToGlobal(coord)) 337 self.menu.popup(self.mapToGlobal(coord))
334 else: 338 else:
335 self.backMenu.popup(self.mapToGlobal(coord)) 339 self.backMenu.popup(self.mapToGlobal(coord))
336 elif sdcnt == 1: 340 elif sdcnt == 1:
337 self.dirMenu.popup(self.mapToGlobal(coord)) 341 self.dirMenu.popup(self.mapToGlobal(coord))
338 else: 342 else:
339 self.backMenu.popup(self.mapToGlobal(coord)) 343 self.backMenu.popup(self.mapToGlobal(coord))
340 else: 344 else:
341 self.backMenu.popup(self.mapToGlobal(coord)) 345 self.backMenu.popup(self.mapToGlobal(coord))
342 346
343 def __showContextMenu(self): 347 def __showContextMenu(self):
344 """ 348 """
345 Private slot called by the menu aboutToShow signal. 349 Private slot called by the menu aboutToShow signal.
346 """ 350 """
347 ProjectBaseBrowser._showContextMenu(self, self.menu) 351 ProjectBaseBrowser._showContextMenu(self, self.menu)
348 352
349 self.showMenu.emit("Main", self.menu) 353 self.showMenu.emit("Main", self.menu)
350 354
351 def __showContextMenuMulti(self): 355 def __showContextMenuMulti(self):
352 """ 356 """
353 Private slot called by the multiMenu aboutToShow signal. 357 Private slot called by the multiMenu aboutToShow signal.
354 """ 358 """
355 ProjectBaseBrowser._showContextMenuMulti(self, self.multiMenu) 359 ProjectBaseBrowser._showContextMenuMulti(self, self.multiMenu)
356 360
357 self.showMenu.emit("MainMulti", self.multiMenu) 361 self.showMenu.emit("MainMulti", self.multiMenu)
358 362
359 def __showContextMenuDir(self): 363 def __showContextMenuDir(self):
360 """ 364 """
361 Private slot called by the dirMenu aboutToShow signal. 365 Private slot called by the dirMenu aboutToShow signal.
362 """ 366 """
363 ProjectBaseBrowser._showContextMenuDir(self, self.dirMenu) 367 ProjectBaseBrowser._showContextMenuDir(self, self.dirMenu)
364 368
365 self.showMenu.emit("MainDir", self.dirMenu) 369 self.showMenu.emit("MainDir", self.dirMenu)
366 370
367 def __showContextMenuDirMulti(self): 371 def __showContextMenuDirMulti(self):
368 """ 372 """
369 Private slot called by the dirMultiMenu aboutToShow signal. 373 Private slot called by the dirMultiMenu aboutToShow signal.
370 """ 374 """
371 ProjectBaseBrowser._showContextMenuDirMulti(self, self.dirMultiMenu) 375 ProjectBaseBrowser._showContextMenuDirMulti(self, self.dirMultiMenu)
372 376
373 self.showMenu.emit("MainDirMulti", self.dirMultiMenu) 377 self.showMenu.emit("MainDirMulti", self.dirMultiMenu)
374 378
375 def __showContextMenuBack(self): 379 def __showContextMenuBack(self):
376 """ 380 """
377 Private slot called by the backMenu aboutToShow signal. 381 Private slot called by the backMenu aboutToShow signal.
378 """ 382 """
379 ProjectBaseBrowser._showContextMenuBack(self, self.backMenu) 383 ProjectBaseBrowser._showContextMenuBack(self, self.backMenu)
380 384
381 self.showMenu.emit("MainBack", self.backMenu) 385 self.showMenu.emit("MainBack", self.backMenu)
382 386
383 def _openItem(self): 387 def _openItem(self):
384 """ 388 """
385 Protected slot to handle the open popup menu entry. 389 Protected slot to handle the open popup menu entry.
386 """ 390 """
387 itmList = self.getSelectedItems( 391 itmList = self.getSelectedItems(
388 [BrowserFileItem, BrowserClassItem, BrowserMethodItem, 392 [
389 BrowserClassAttributeItem]) 393 BrowserFileItem,
390 394 BrowserClassItem,
395 BrowserMethodItem,
396 BrowserClassAttributeItem,
397 ]
398 )
399
391 for itm in itmList: 400 for itm in itmList:
392 if isinstance(itm, BrowserFileItem): 401 if isinstance(itm, BrowserFileItem):
393 self.sourceFile[str].emit(itm.fileName()) 402 self.sourceFile[str].emit(itm.fileName())
394 elif isinstance(itm, BrowserClassItem): 403 elif isinstance(itm, BrowserClassItem):
395 self.sourceFile[str, int].emit( 404 self.sourceFile[str, int].emit(itm.fileName(), itm.classObject().lineno)
396 itm.fileName(), itm.classObject().lineno)
397 elif isinstance(itm, BrowserMethodItem): 405 elif isinstance(itm, BrowserMethodItem):
398 self.sourceFile[str, int].emit( 406 self.sourceFile[str, int].emit(
399 itm.fileName(), itm.functionObject().lineno) 407 itm.fileName(), itm.functionObject().lineno
408 )
400 elif isinstance(itm, BrowserClassAttributeItem): 409 elif isinstance(itm, BrowserClassAttributeItem):
401 self.sourceFile[str, int].emit( 410 self.sourceFile[str, int].emit(
402 itm.fileName(), itm.attributeObject().lineno) 411 itm.fileName(), itm.attributeObject().lineno
403 412 )
413
404 def __addInterfaceFiles(self): 414 def __addInterfaceFiles(self):
405 """ 415 """
406 Private method to add interface files to the project. 416 Private method to add interface files to the project.
407 """ 417 """
408 itm = self.model().item(self.currentIndex()) 418 itm = self.model().item(self.currentIndex())
409 if isinstance( 419 if isinstance(
410 itm, 420 itm, (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
411 (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
412 ): 421 ):
413 dn = os.path.dirname(itm.fileName()) 422 dn = os.path.dirname(itm.fileName())
414 elif isinstance( 423 elif isinstance(
415 itm, 424 itm, (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
416 (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
417 ): 425 ):
418 dn = itm.dirName() 426 dn = itm.dirName()
419 else: 427 else:
420 dn = None 428 dn = None
421 self.project.addFiles('interface', dn) 429 self.project.addFiles("interface", dn)
422 430
423 def __addInterfacesDirectory(self): 431 def __addInterfacesDirectory(self):
424 """ 432 """
425 Private method to add interface files of a directory to the project. 433 Private method to add interface files of a directory to the project.
426 """ 434 """
427 itm = self.model().item(self.currentIndex()) 435 itm = self.model().item(self.currentIndex())
428 if isinstance( 436 if isinstance(
429 itm, 437 itm, (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
430 (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
431 ): 438 ):
432 dn = os.path.dirname(itm.fileName()) 439 dn = os.path.dirname(itm.fileName())
433 elif isinstance( 440 elif isinstance(
434 itm, 441 itm, (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
435 (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
436 ): 442 ):
437 dn = itm.dirName() 443 dn = itm.dirName()
438 else: 444 else:
439 dn = None 445 dn = None
440 self.project.addDirectory('interface', dn) 446 self.project.addDirectory("interface", dn)
441 447
442 def __deleteFile(self): 448 def __deleteFile(self):
443 """ 449 """
444 Private method to delete files from the project. 450 Private method to delete files from the project.
445 """ 451 """
446 itmList = self.getSelectedItems() 452 itmList = self.getSelectedItems()
447 453
448 files = [] 454 files = []
449 fullNames = [] 455 fullNames = []
450 for itm in itmList: 456 for itm in itmList:
451 fn2 = itm.fileName() 457 fn2 = itm.fileName()
452 fullNames.append(fn2) 458 fullNames.append(fn2)
453 fn = self.project.getRelativePath(fn2) 459 fn = self.project.getRelativePath(fn2)
454 files.append(fn) 460 files.append(fn)
455 461
456 from UI.DeleteFilesConfirmationDialog import ( 462 from UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
457 DeleteFilesConfirmationDialog 463
458 )
459 dlg = DeleteFilesConfirmationDialog( 464 dlg = DeleteFilesConfirmationDialog(
460 self.parent(), 465 self.parent(),
461 self.tr("Delete interfaces"), 466 self.tr("Delete interfaces"),
462 self.tr("Do you really want to delete these interfaces from" 467 self.tr(
463 " the project?"), 468 "Do you really want to delete these interfaces from" " the project?"
464 files) 469 ),
465 470 files,
471 )
472
466 if dlg.exec() == QDialog.DialogCode.Accepted: 473 if dlg.exec() == QDialog.DialogCode.Accepted:
467 for fn2, fn in zip(fullNames, files): 474 for fn2, fn in zip(fullNames, files):
468 self.closeSourceWindow.emit(fn2) 475 self.closeSourceWindow.emit(fn2)
469 self.project.deleteFile(fn) 476 self.project.deleteFile(fn)
470 477
471 ########################################################################### 478 ###########################################################################
472 ## Methods to handle the various compile commands 479 ## Methods to handle the various compile commands
473 ########################################################################### 480 ###########################################################################
474 481
475 def __readStdout(self): 482 def __readStdout(self):
476 """ 483 """
477 Private slot to handle the readyReadStandardOutput signal of the 484 Private slot to handle the readyReadStandardOutput signal of the
478 omniidl process. 485 omniidl process.
479 """ 486 """
480 if self.compileProc is None: 487 if self.compileProc is None:
481 return 488 return
482 489
483 ioEncoding = Preferences.getSystem("IOEncoding") 490 ioEncoding = Preferences.getSystem("IOEncoding")
484 491
485 self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardOutput) 492 self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardOutput)
486 while self.compileProc and self.compileProc.canReadLine(): 493 while self.compileProc and self.compileProc.canReadLine():
487 s = 'omniidl: ' 494 s = "omniidl: "
488 output = str(self.compileProc.readLine(), ioEncoding, 'replace') 495 output = str(self.compileProc.readLine(), ioEncoding, "replace")
489 s += output 496 s += output
490 self.appendStdout.emit(s) 497 self.appendStdout.emit(s)
491 498
492 def __readStderr(self): 499 def __readStderr(self):
493 """ 500 """
494 Private slot to handle the readyReadStandardError signal of the 501 Private slot to handle the readyReadStandardError signal of the
495 omniidl process. 502 omniidl process.
496 """ 503 """
497 if self.compileProc is None: 504 if self.compileProc is None:
498 return 505 return
499 506
500 ioEncoding = Preferences.getSystem("IOEncoding") 507 ioEncoding = Preferences.getSystem("IOEncoding")
501 508
502 self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardError) 509 self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardError)
503 while self.compileProc and self.compileProc.canReadLine(): 510 while self.compileProc and self.compileProc.canReadLine():
504 s = 'omniidl: ' 511 s = "omniidl: "
505 error = str(self.compileProc.readLine(), ioEncoding, 'replace') 512 error = str(self.compileProc.readLine(), ioEncoding, "replace")
506 s += error 513 s += error
507 self.appendStderr.emit(s) 514 self.appendStderr.emit(s)
508 515
509 def __compileIDLDone(self, exitCode, exitStatus): 516 def __compileIDLDone(self, exitCode, exitStatus):
510 """ 517 """
511 Private slot to handle the finished signal of the omniidl process. 518 Private slot to handle the finished signal of the omniidl process.
512 519
513 @param exitCode exit code of the process (integer) 520 @param exitCode exit code of the process (integer)
514 @param exitStatus exit status of the process (QProcess.ExitStatus) 521 @param exitStatus exit status of the process (QProcess.ExitStatus)
515 """ 522 """
516 self.compileRunning = False 523 self.compileRunning = False
517 ui = ericApp().getObject("UserInterface") 524 ui = ericApp().getObject("UserInterface")
525 for file in fileList: 532 for file in fileList:
526 self.project.appendFile(file) 533 self.project.appendFile(file)
527 ui.showNotification( 534 ui.showNotification(
528 UI.PixmapCache.getPixmap("corba48"), 535 UI.PixmapCache.getPixmap("corba48"),
529 self.tr("Interface Compilation"), 536 self.tr("Interface Compilation"),
530 self.tr( 537 self.tr("The compilation of the interface file was" " successful."),
531 "The compilation of the interface file was" 538 )
532 " successful."))
533 else: 539 else:
534 ui.showNotification( 540 ui.showNotification(
535 UI.PixmapCache.getPixmap("corba48"), 541 UI.PixmapCache.getPixmap("corba48"),
536 self.tr("Interface Compilation"), 542 self.tr("Interface Compilation"),
537 self.tr( 543 self.tr("The compilation of the interface file failed."),
538 "The compilation of the interface file failed."),
539 kind=NotificationTypes.CRITICAL, 544 kind=NotificationTypes.CRITICAL,
540 timeout=0) 545 timeout=0,
546 )
541 self.compileProc = None 547 self.compileProc = None
542 548
543 def __compileIDL(self, fn, noDialog=False, progress=None): 549 def __compileIDL(self, fn, noDialog=False, progress=None):
544 """ 550 """
545 Private method to compile a .idl file to python. 551 Private method to compile a .idl file to python.
546 552
547 @param fn filename of the .idl file to be compiled (string) 553 @param fn filename of the .idl file to be compiled (string)
548 @param noDialog flag indicating silent operations (boolean) 554 @param noDialog flag indicating silent operations (boolean)
549 @param progress reference to the progress dialog (EricProgressDialog) 555 @param progress reference to the progress dialog (EricProgressDialog)
550 @return reference to the compile process (QProcess) 556 @return reference to the compile process (QProcess)
551 """ 557 """
552 params = self.project.pdata["IDLPARAMS"] 558 params = self.project.pdata["IDLPARAMS"]
553 559
554 self.compileProc = QProcess() 560 self.compileProc = QProcess()
555 args = [] 561 args = []
556 562
557 args.append("-bpython") 563 args.append("-bpython")
558 args.append("-I.") 564 args.append("-I.")
559 for directory in params["IncludeDirs"]: 565 for directory in params["IncludeDirs"]:
560 args.append("-I{0}".format( 566 args.append(
561 self.project.getAbsoluteUniversalPath(directory))) 567 "-I{0}".format(self.project.getAbsoluteUniversalPath(directory))
568 )
562 for name in params["DefinedNames"]: 569 for name in params["DefinedNames"]:
563 args.append("-D{0}".format(name)) 570 args.append("-D{0}".format(name))
564 for name in params["UndefinedNames"]: 571 for name in params["UndefinedNames"]:
565 args.append("-U{0}".format(name)) 572 args.append("-U{0}".format(name))
566 573
567 fn = self.project.getAbsoluteUniversalPath(fn) 574 fn = self.project.getAbsoluteUniversalPath(fn)
568 self.idlFile = fn 575 self.idlFile = fn
569 args.append("-C{0}".format(os.path.dirname(fn))) 576 args.append("-C{0}".format(os.path.dirname(fn)))
570 args.append(fn) 577 args.append(fn)
571 578
572 self.compileProc.finished.connect(self.__compileIDLDone) 579 self.compileProc.finished.connect(self.__compileIDLDone)
573 self.compileProc.readyReadStandardOutput.connect(self.__readStdout) 580 self.compileProc.readyReadStandardOutput.connect(self.__readStdout)
574 self.compileProc.readyReadStandardError.connect(self.__readStderr) 581 self.compileProc.readyReadStandardError.connect(self.__readStderr)
575 582
576 self.noDialog = noDialog 583 self.noDialog = noDialog
577 self.compileProc.start(self.omniidl, args) 584 self.compileProc.start(self.omniidl, args)
578 procStarted = self.compileProc.waitForStarted(5000) 585 procStarted = self.compileProc.waitForStarted(5000)
579 if procStarted: 586 if procStarted:
580 self.compileRunning = True 587 self.compileRunning = True
583 self.compileRunning = False 590 self.compileRunning = False
584 if progress is not None: 591 if progress is not None:
585 progress.cancel() 592 progress.cancel()
586 EricMessageBox.critical( 593 EricMessageBox.critical(
587 self, 594 self,
588 self.tr('Process Generation Error'), 595 self.tr("Process Generation Error"),
589 self.tr( 596 self.tr(
590 '<p>Could not start {0}.<br>' 597 "<p>Could not start {0}.<br>"
591 'Ensure that it is in the search path.</p>' 598 "Ensure that it is in the search path.</p>"
592 ).format(self.omniidl)) 599 ).format(self.omniidl),
600 )
593 return None 601 return None
594 602
595 def __compileInterface(self): 603 def __compileInterface(self):
596 """ 604 """
597 Private method to compile an interface to python. 605 Private method to compile an interface to python.
598 """ 606 """
599 if self.omniidl is not None: 607 if self.omniidl is not None:
600 itm = self.model().item(self.currentIndex()) 608 itm = self.model().item(self.currentIndex())
601 fn2 = itm.fileName() 609 fn2 = itm.fileName()
602 fn = self.project.getRelativePath(fn2) 610 fn = self.project.getRelativePath(fn2)
603 self.__compileIDL(fn) 611 self.__compileIDL(fn)
604 612
605 def __compileAllInterfaces(self): 613 def __compileAllInterfaces(self):
606 """ 614 """
607 Private method to compile all interfaces to python. 615 Private method to compile all interfaces to python.
608 """ 616 """
609 if self.omniidl is not None: 617 if self.omniidl is not None:
610 numIDLs = len(self.project.pdata["INTERFACES"]) 618 numIDLs = len(self.project.pdata["INTERFACES"])
611 progress = EricProgressDialog( 619 progress = EricProgressDialog(
612 self.tr("Compiling interfaces..."), 620 self.tr("Compiling interfaces..."),
613 self.tr("Abort"), 0, numIDLs, 621 self.tr("Abort"),
614 self.tr("%v/%m Interfaces"), self) 622 0,
623 numIDLs,
624 self.tr("%v/%m Interfaces"),
625 self,
626 )
615 progress.setModal(True) 627 progress.setModal(True)
616 progress.setMinimumDuration(0) 628 progress.setMinimumDuration(0)
617 progress.setWindowTitle(self.tr("Interfaces")) 629 progress.setWindowTitle(self.tr("Interfaces"))
618 630
619 for prog, fn in enumerate(self.project.pdata["INTERFACES"]): 631 for prog, fn in enumerate(self.project.pdata["INTERFACES"]):
620 progress.setValue(prog) 632 progress.setValue(prog)
621 if progress.wasCanceled(): 633 if progress.wasCanceled():
622 break 634 break
623 proc = self.__compileIDL(fn, True, progress) 635 proc = self.__compileIDL(fn, True, progress)
626 QThread.msleep(100) 638 QThread.msleep(100)
627 QApplication.processEvents() 639 QApplication.processEvents()
628 else: 640 else:
629 break 641 break
630 progress.setValue(numIDLs) 642 progress.setValue(numIDLs)
631 643
632 def __compileSelectedInterfaces(self): 644 def __compileSelectedInterfaces(self):
633 """ 645 """
634 Private method to compile selected interfaces to python. 646 Private method to compile selected interfaces to python.
635 """ 647 """
636 if self.omniidl is not None: 648 if self.omniidl is not None:
637 items = self.getSelectedItems() 649 items = self.getSelectedItems()
638 650
639 files = [self.project.getRelativePath(itm.fileName()) 651 files = [self.project.getRelativePath(itm.fileName()) for itm in items]
640 for itm in items]
641 numIDLs = len(files) 652 numIDLs = len(files)
642 progress = EricProgressDialog( 653 progress = EricProgressDialog(
643 self.tr("Compiling interfaces..."), 654 self.tr("Compiling interfaces..."),
644 self.tr("Abort"), 0, numIDLs, 655 self.tr("Abort"),
645 self.tr("%v/%m Interfaces"), self) 656 0,
657 numIDLs,
658 self.tr("%v/%m Interfaces"),
659 self,
660 )
646 progress.setModal(True) 661 progress.setModal(True)
647 progress.setMinimumDuration(0) 662 progress.setMinimumDuration(0)
648 progress.setWindowTitle(self.tr("Interfaces")) 663 progress.setWindowTitle(self.tr("Interfaces"))
649 664
650 for prog, fn in enumerate(files): 665 for prog, fn in enumerate(files):
651 progress.setValue(prog) 666 progress.setValue(prog)
652 if progress.wasCanceled(): 667 if progress.wasCanceled():
653 break 668 break
654 proc = self.__compileIDL(fn, True, progress) 669 proc = self.__compileIDL(fn, True, progress)
657 QThread.msleep(100) 672 QThread.msleep(100)
658 QApplication.processEvents() 673 QApplication.processEvents()
659 else: 674 else:
660 break 675 break
661 progress.setValue(numIDLs) 676 progress.setValue(numIDLs)
662 677
663 def __configureIdlCompiler(self): 678 def __configureIdlCompiler(self):
664 """ 679 """
665 Private method to show a dialog to configure some options for the 680 Private method to show a dialog to configure some options for the
666 IDL compiler. 681 IDL compiler.
667 """ 682 """
668 params = self.project.pdata["IDLPARAMS"] 683 params = self.project.pdata["IDLPARAMS"]
669 684
670 from .IdlCompilerOptionsDialog import IdlCompilerOptionsDialog 685 from .IdlCompilerOptionsDialog import IdlCompilerOptionsDialog
686
671 dlg = IdlCompilerOptionsDialog( 687 dlg = IdlCompilerOptionsDialog(
672 params["IncludeDirs"][:], params["DefinedNames"][:], 688 params["IncludeDirs"][:],
673 params["UndefinedNames"][:], self.project, self) 689 params["DefinedNames"][:],
690 params["UndefinedNames"][:],
691 self.project,
692 self,
693 )
674 if dlg.exec() == QDialog.DialogCode.Accepted: 694 if dlg.exec() == QDialog.DialogCode.Accepted:
675 include, defined, undefined = dlg.getData() 695 include, defined, undefined = dlg.getData()
676 if include != params["IncludeDirs"]: 696 if include != params["IncludeDirs"]:
677 params["IncludeDirs"] = include[:] 697 params["IncludeDirs"] = include[:]
678 self.project.setDirty(True) 698 self.project.setDirty(True)
680 params["DefinedNames"] = defined[:] 700 params["DefinedNames"] = defined[:]
681 self.project.setDirty(True) 701 self.project.setDirty(True)
682 if undefined != params["UndefinedNames"]: 702 if undefined != params["UndefinedNames"]:
683 params["UndefinedNames"] = undefined[:] 703 params["UndefinedNames"] = undefined[:]
684 self.project.setDirty(True) 704 self.project.setDirty(True)
685 705
686 def __configureCorba(self): 706 def __configureCorba(self):
687 """ 707 """
688 Private method to open the configuration dialog. 708 Private method to open the configuration dialog.
689 """ 709 """
690 ericApp().getObject("UserInterface").showPreferences("corbaPage") 710 ericApp().getObject("UserInterface").showPreferences("corbaPage")

eric ide

mercurial