Project/ProjectInterfacesBrowser.py

changeset 3030
4a0a82ddd9d2
parent 3020
542e97d4ecb3
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
89 self.dirMenuActions = [] 89 self.dirMenuActions = []
90 self.dirMultiMenuActions = [] 90 self.dirMultiMenuActions = []
91 91
92 self.sourceMenu = QMenu(self) 92 self.sourceMenu = QMenu(self)
93 if self.omniidl is not None: 93 if self.omniidl is not None:
94 self.sourceMenu.addAction(self.trUtf8('Compile interface'), 94 self.sourceMenu.addAction(
95 self.__compileInterface) 95 self.trUtf8('Compile interface'), self.__compileInterface)
96 self.sourceMenu.addAction(self.trUtf8('Compile all interfaces'), 96 self.sourceMenu.addAction(
97 self.trUtf8('Compile all interfaces'),
97 self.__compileAllInterfaces) 98 self.__compileAllInterfaces)
98 self.sourceMenu.addAction(self.trUtf8('Open'), self._openItem) 99 self.sourceMenu.addAction(self.trUtf8('Open'), self._openItem)
99 self.sourceMenu.addSeparator() 100 self.sourceMenu.addSeparator()
100 act = self.sourceMenu.addAction( 101 act = self.sourceMenu.addAction(
101 self.trUtf8('Rename file'), self._renameFile) 102 self.trUtf8('Rename file'), self._renameFile)
102 self.menuActions.append(act) 103 self.menuActions.append(act)
103 act = self.sourceMenu.addAction(self.trUtf8('Remove from project'), 104 act = self.sourceMenu.addAction(
104 self._removeFile) 105 self.trUtf8('Remove from project'), self._removeFile)
105 self.menuActions.append(act) 106 self.menuActions.append(act)
106 act = self.sourceMenu.addAction( 107 act = self.sourceMenu.addAction(
107 self.trUtf8('Delete'), self.__deleteFile) 108 self.trUtf8('Delete'), self.__deleteFile)
108 self.menuActions.append(act) 109 self.menuActions.append(act)
109 self.sourceMenu.addSeparator() 110 self.sourceMenu.addSeparator()
110 self.sourceMenu.addAction(self.trUtf8('Add interfaces...'), 111 self.sourceMenu.addAction(
111 self.__addInterfaceFiles) 112 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles)
112 self.sourceMenu.addAction(self.trUtf8('Add interfaces directory...'), 113 self.sourceMenu.addAction(
114 self.trUtf8('Add interfaces directory...'),
113 self.__addInterfacesDirectory) 115 self.__addInterfacesDirectory)
114 self.sourceMenu.addSeparator() 116 self.sourceMenu.addSeparator()
115 self.sourceMenu.addAction(self.trUtf8('Copy Path to Clipboard'), 117 self.sourceMenu.addAction(
116 self._copyToClipboard) 118 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
117 self.sourceMenu.addSeparator() 119 self.sourceMenu.addSeparator()
118 self.sourceMenu.addAction(self.trUtf8('Expand all directories'), 120 self.sourceMenu.addAction(
119 self._expandAllDirs) 121 self.trUtf8('Expand all directories'), self._expandAllDirs)
120 self.sourceMenu.addAction(self.trUtf8('Collapse all directories'), 122 self.sourceMenu.addAction(
121 self._collapseAllDirs) 123 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
122 self.sourceMenu.addSeparator() 124 self.sourceMenu.addSeparator()
123 self.sourceMenu.addAction(self.trUtf8('Configure...'), self._configure) 125 self.sourceMenu.addAction(self.trUtf8('Configure...'), self._configure)
124 self.sourceMenu.addAction( 126 self.sourceMenu.addAction(
125 self.trUtf8('Configure CORBA...'), self.__configureCorba) 127 self.trUtf8('Configure CORBA...'), self.__configureCorba)
126 128
127 self.menu = QMenu(self) 129 self.menu = QMenu(self)
128 if self.omniidl is not None: 130 if self.omniidl is not None:
129 self.menu.addAction( 131 self.menu.addAction(
130 self.trUtf8('Compile interface'), self.__compileInterface) 132 self.trUtf8('Compile interface'), self.__compileInterface)
131 self.menu.addAction(self.trUtf8('Compile all interfaces'), 133 self.menu.addAction(
134 self.trUtf8('Compile all interfaces'),
132 self.__compileAllInterfaces) 135 self.__compileAllInterfaces)
133 self.menu.addAction(self.trUtf8('Open'), self._openItem) 136 self.menu.addAction(self.trUtf8('Open'), self._openItem)
134 self.menu.addSeparator() 137 self.menu.addSeparator()
135 self.menu.addAction( 138 self.menu.addAction(
136 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) 139 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles)
137 self.menu.addAction(self.trUtf8('Add interfaces directory...'), 140 self.menu.addAction(
141 self.trUtf8('Add interfaces directory...'),
138 self.__addInterfacesDirectory) 142 self.__addInterfacesDirectory)
139 self.menu.addSeparator() 143 self.menu.addSeparator()
140 self.menu.addAction(self.trUtf8('Expand all directories'), 144 self.menu.addAction(
141 self._expandAllDirs) 145 self.trUtf8('Expand all directories'), self._expandAllDirs)
142 self.menu.addAction(self.trUtf8('Collapse all directories'), 146 self.menu.addAction(
143 self._collapseAllDirs) 147 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
144 self.menu.addSeparator() 148 self.menu.addSeparator()
145 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 149 self.menu.addAction(self.trUtf8('Configure...'), self._configure)
146 self.menu.addAction( 150 self.menu.addAction(
147 self.trUtf8('Configure CORBA...'), self.__configureCorba) 151 self.trUtf8('Configure CORBA...'), self.__configureCorba)
148 152
149 self.backMenu = QMenu(self) 153 self.backMenu = QMenu(self)
150 if self.omniidl is not None: 154 if self.omniidl is not None:
151 self.backMenu.addAction(self.trUtf8('Compile all interfaces'), 155 self.backMenu.addAction(
156 self.trUtf8('Compile all interfaces'),
152 self.__compileAllInterfaces) 157 self.__compileAllInterfaces)
153 self.backMenu.addSeparator() 158 self.backMenu.addSeparator()
154 self.backMenu.addAction(self.trUtf8('Add interfaces...'), 159 self.backMenu.addAction(
155 self.project.addIdlFiles) 160 self.trUtf8('Add interfaces...'), self.project.addIdlFiles)
156 self.backMenu.addAction(self.trUtf8('Add interfaces directory...'), 161 self.backMenu.addAction(
157 self.project.addIdlDir) 162 self.trUtf8('Add interfaces directory...'), self.project.addIdlDir)
158 self.backMenu.addSeparator() 163 self.backMenu.addSeparator()
159 self.backMenu.addAction(self.trUtf8('Expand all directories'), 164 self.backMenu.addAction(
160 self._expandAllDirs) 165 self.trUtf8('Expand all directories'), self._expandAllDirs)
161 self.backMenu.addAction(self.trUtf8('Collapse all directories'), 166 self.backMenu.addAction(
162 self._collapseAllDirs) 167 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
163 self.backMenu.addSeparator() 168 self.backMenu.addSeparator()
164 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 169 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure)
165 self.backMenu.addAction( 170 self.backMenu.addAction(
166 self.trUtf8('Configure CORBA...'), self.__configureCorba) 171 self.trUtf8('Configure CORBA...'), self.__configureCorba)
167 self.backMenu.setEnabled(False) 172 self.backMenu.setEnabled(False)
168 173
169 # create the menu for multiple selected files 174 # create the menu for multiple selected files
170 self.multiMenu = QMenu(self) 175 self.multiMenu = QMenu(self)
171 if self.omniidl is not None: 176 if self.omniidl is not None:
172 self.multiMenu.addAction(self.trUtf8('Compile interfaces'), 177 self.multiMenu.addAction(
178 self.trUtf8('Compile interfaces'),
173 self.__compileSelectedInterfaces) 179 self.__compileSelectedInterfaces)
174 self.multiMenu.addAction(self.trUtf8('Open'), self._openItem) 180 self.multiMenu.addAction(self.trUtf8('Open'), self._openItem)
175 self.multiMenu.addSeparator() 181 self.multiMenu.addSeparator()
176 act = self.multiMenu.addAction(self.trUtf8('Remove from project'), 182 act = self.multiMenu.addAction(
177 self._removeFile) 183 self.trUtf8('Remove from project'), self._removeFile)
178 self.multiMenuActions.append(act) 184 self.multiMenuActions.append(act)
179 act = self.multiMenu.addAction( 185 act = self.multiMenu.addAction(
180 self.trUtf8('Delete'), self.__deleteFile) 186 self.trUtf8('Delete'), self.__deleteFile)
181 self.multiMenuActions.append(act) 187 self.multiMenuActions.append(act)
182 self.multiMenu.addSeparator() 188 self.multiMenu.addSeparator()
183 self.multiMenu.addAction(self.trUtf8('Expand all directories'), 189 self.multiMenu.addAction(
184 self._expandAllDirs) 190 self.trUtf8('Expand all directories'), self._expandAllDirs)
185 self.multiMenu.addAction(self.trUtf8('Collapse all directories'), 191 self.multiMenu.addAction(
186 self._collapseAllDirs) 192 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
187 self.multiMenu.addSeparator() 193 self.multiMenu.addSeparator()
188 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) 194 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure)
189 self.multiMenu.addAction( 195 self.multiMenu.addAction(
190 self.trUtf8('Configure CORBA...'), self.__configureCorba) 196 self.trUtf8('Configure CORBA...'), self.__configureCorba)
191 197
192 self.dirMenu = QMenu(self) 198 self.dirMenu = QMenu(self)
193 if self.omniidl is not None: 199 if self.omniidl is not None:
194 self.dirMenu.addAction(self.trUtf8('Compile all interfaces'), 200 self.dirMenu.addAction(
201 self.trUtf8('Compile all interfaces'),
195 self.__compileAllInterfaces) 202 self.__compileAllInterfaces)
196 self.dirMenu.addSeparator() 203 self.dirMenu.addSeparator()
197 act = self.dirMenu.addAction( 204 act = self.dirMenu.addAction(
198 self.trUtf8('Remove from project'), self._removeFile) 205 self.trUtf8('Remove from project'), self._removeFile)
199 self.dirMenuActions.append(act) 206 self.dirMenuActions.append(act)
201 self.trUtf8('Delete'), self._deleteDirectory) 208 self.trUtf8('Delete'), self._deleteDirectory)
202 self.dirMenuActions.append(act) 209 self.dirMenuActions.append(act)
203 self.dirMenu.addSeparator() 210 self.dirMenu.addSeparator()
204 self.dirMenu.addAction( 211 self.dirMenu.addAction(
205 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) 212 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles)
206 self.dirMenu.addAction(self.trUtf8('Add interfaces directory...'), 213 self.dirMenu.addAction(
214 self.trUtf8('Add interfaces directory...'),
207 self.__addInterfacesDirectory) 215 self.__addInterfacesDirectory)
208 self.dirMenu.addSeparator() 216 self.dirMenu.addSeparator()
209 self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), 217 self.dirMenu.addAction(
210 self._copyToClipboard) 218 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
211 self.dirMenu.addSeparator() 219 self.dirMenu.addSeparator()
212 self.dirMenu.addAction(self.trUtf8('Expand all directories'), 220 self.dirMenu.addAction(
213 self._expandAllDirs) 221 self.trUtf8('Expand all directories'), self._expandAllDirs)
214 self.dirMenu.addAction(self.trUtf8('Collapse all directories'), 222 self.dirMenu.addAction(
215 self._collapseAllDirs) 223 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
216 self.dirMenu.addSeparator() 224 self.dirMenu.addSeparator()
217 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 225 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure)
218 self.dirMenu.addAction( 226 self.dirMenu.addAction(
219 self.trUtf8('Configure CORBA...'), self.__configureCorba) 227 self.trUtf8('Configure CORBA...'), self.__configureCorba)
220 228
221 self.dirMultiMenu = QMenu(self) 229 self.dirMultiMenu = QMenu(self)
222 if self.omniidl is not None: 230 if self.omniidl is not None:
223 self.dirMultiMenu.addAction(self.trUtf8('Compile all interfaces'), 231 self.dirMultiMenu.addAction(
232 self.trUtf8('Compile all interfaces'),
224 self.__compileAllInterfaces) 233 self.__compileAllInterfaces)
225 self.dirMultiMenu.addSeparator() 234 self.dirMultiMenu.addSeparator()
226 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces...'), 235 self.dirMultiMenu.addAction(
227 self.project.addIdlFiles) 236 self.trUtf8('Add interfaces...'), self.project.addIdlFiles)
228 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces directory...'), 237 self.dirMultiMenu.addAction(
229 self.project.addIdlDir) 238 self.trUtf8('Add interfaces directory...'), self.project.addIdlDir)
230 self.dirMultiMenu.addSeparator() 239 self.dirMultiMenu.addSeparator()
231 self.dirMultiMenu.addAction(self.trUtf8('Expand all directories'), 240 self.dirMultiMenu.addAction(
232 self._expandAllDirs) 241 self.trUtf8('Expand all directories'), self._expandAllDirs)
233 self.dirMultiMenu.addAction(self.trUtf8('Collapse all directories'), 242 self.dirMultiMenu.addAction(
234 self._collapseAllDirs) 243 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
235 self.dirMultiMenu.addSeparator() 244 self.dirMultiMenu.addSeparator()
236 self.dirMultiMenu.addAction( 245 self.dirMultiMenu.addAction(
237 self.trUtf8('Configure...'), self._configure) 246 self.trUtf8('Configure...'), self._configure)
238 self.dirMultiMenu.addAction(self.trUtf8('Configure CORBA...'), 247 self.dirMultiMenu.addAction(self.trUtf8('Configure CORBA...'),
239 self.__configureCorba) 248 self.__configureCorba)
347 356
348 for itm in itmList: 357 for itm in itmList:
349 if isinstance(itm, BrowserFileItem): 358 if isinstance(itm, BrowserFileItem):
350 self.sourceFile[str].emit(itm.fileName()) 359 self.sourceFile[str].emit(itm.fileName())
351 elif isinstance(itm, BrowserClassItem): 360 elif isinstance(itm, BrowserClassItem):
352 self.sourceFile[str, int].emit(itm.fileName(), 361 self.sourceFile[str, int].emit(
353 itm.classObject().lineno) 362 itm.fileName(), itm.classObject().lineno)
354 elif isinstance(itm, BrowserMethodItem): 363 elif isinstance(itm, BrowserMethodItem):
355 self.sourceFile[str, int].emit(itm.fileName(), 364 self.sourceFile[str, int].emit(
356 itm.functionObject().lineno) 365 itm.fileName(), itm.functionObject().lineno)
357 elif isinstance(itm, BrowserClassAttributeItem): 366 elif isinstance(itm, BrowserClassAttributeItem):
358 self.sourceFile[str, int].emit(itm.fileName(), 367 self.sourceFile[str, int].emit(
359 itm.attributeObject().lineno) 368 itm.fileName(), itm.attributeObject().lineno)
360 369
361 def __addInterfaceFiles(self): 370 def __addInterfaceFiles(self):
362 """ 371 """
363 Private method to add interface files to the project. 372 Private method to add interface files to the project.
364 """ 373 """
404 fn = self.project.getRelativePath(fn2) 413 fn = self.project.getRelativePath(fn2)
405 files.append(fn) 414 files.append(fn)
406 415
407 from UI.DeleteFilesConfirmationDialog import \ 416 from UI.DeleteFilesConfirmationDialog import \
408 DeleteFilesConfirmationDialog 417 DeleteFilesConfirmationDialog
409 dlg = DeleteFilesConfirmationDialog(self.parent(), 418 dlg = DeleteFilesConfirmationDialog(
419 self.parent(),
410 self.trUtf8("Delete interfaces"), 420 self.trUtf8("Delete interfaces"),
411 self.trUtf8("Do you really want to delete these interfaces from" 421 self.trUtf8("Do you really want to delete these interfaces from"
412 " the project?"), 422 " the project?"),
413 files) 423 files)
414 424
415 if dlg.exec_() == QDialog.Accepted: 425 if dlg.exec_() == QDialog.Accepted:
416 for fn2, fn in zip(fullNames, files): 426 for fn2, fn in zip(fullNames, files):
417 self.closeSourceWindow.emit(fn2) 427 self.closeSourceWindow.emit(fn2)
479 self.trUtf8("Interface Compilation"), 489 self.trUtf8("Interface Compilation"),
480 self.trUtf8( 490 self.trUtf8(
481 "The compilation of the interface file was" 491 "The compilation of the interface file was"
482 " successful.")) 492 " successful."))
483 else: 493 else:
484 ui.showNotification(UI.PixmapCache.getPixmap("corba48.png"), 494 ui.showNotification(
495 UI.PixmapCache.getPixmap("corba48.png"),
485 self.trUtf8("Interface Compilation"), 496 self.trUtf8("Interface Compilation"),
486 self.trUtf8( 497 self.trUtf8(
487 "The compilation of the interface file was" 498 "The compilation of the interface file was"
488 " successful.")) 499 " successful."))
489 else: 500 else:
492 self, 503 self,
493 self.trUtf8("Interface Compilation"), 504 self.trUtf8("Interface Compilation"),
494 self.trUtf8( 505 self.trUtf8(
495 "The compilation of the interface file failed.")) 506 "The compilation of the interface file failed."))
496 else: 507 else:
497 ui.showNotification(UI.PixmapCache.getPixmap("corba48.png"), 508 ui.showNotification(
509 UI.PixmapCache.getPixmap("corba48.png"),
498 self.trUtf8("Interface Compilation"), 510 self.trUtf8("Interface Compilation"),
499 self.trUtf8( 511 self.trUtf8(
500 "The compilation of the interface file failed.")) 512 "The compilation of the interface file failed."))
501 self.compileProc = None 513 self.compileProc = None
502 514
557 """ 569 """
558 Private method to compile all interfaces to python. 570 Private method to compile all interfaces to python.
559 """ 571 """
560 if self.omniidl is not None: 572 if self.omniidl is not None:
561 numIDLs = len(self.project.pdata["INTERFACES"]) 573 numIDLs = len(self.project.pdata["INTERFACES"])
562 progress = QProgressDialog(self.trUtf8("Compiling interfaces..."), 574 progress = QProgressDialog(
575 self.trUtf8("Compiling interfaces..."),
563 self.trUtf8("Abort"), 0, numIDLs, self) 576 self.trUtf8("Abort"), 0, numIDLs, self)
564 progress.setModal(True) 577 progress.setModal(True)
565 progress.setMinimumDuration(0) 578 progress.setMinimumDuration(0)
566 i = 0 579 i = 0
567 580
589 items = self.getSelectedItems() 602 items = self.getSelectedItems()
590 603
591 files = [self.project.getRelativePath(itm.fileName()) \ 604 files = [self.project.getRelativePath(itm.fileName()) \
592 for itm in items] 605 for itm in items]
593 numIDLs = len(files) 606 numIDLs = len(files)
594 progress = QProgressDialog(self.trUtf8("Compiling interfaces..."), 607 progress = QProgressDialog(
608 self.trUtf8("Compiling interfaces..."),
595 self.trUtf8("Abort"), 0, numIDLs, self) 609 self.trUtf8("Abort"), 0, numIDLs, self)
596 progress.setModal(True) 610 progress.setModal(True)
597 progress.setMinimumDuration(0) 611 progress.setMinimumDuration(0)
598 i = 0 612 i = 0
599 613

eric ide

mercurial