87 self.dirMenuActions = [] |
88 self.dirMenuActions = [] |
88 self.dirMultiMenuActions = [] |
89 self.dirMultiMenuActions = [] |
89 |
90 |
90 self.sourceMenu = QMenu(self) |
91 self.sourceMenu = QMenu(self) |
91 if self.omniidl is not None: |
92 if self.omniidl is not None: |
92 self.sourceMenu.addAction(self.trUtf8('Compile interface'), |
93 self.sourceMenu.addAction(self.trUtf8('Compile interface'), |
93 self.__compileInterface) |
94 self.__compileInterface) |
94 self.sourceMenu.addAction(self.trUtf8('Compile all interfaces'), |
95 self.sourceMenu.addAction(self.trUtf8('Compile all interfaces'), |
95 self.__compileAllInterfaces) |
96 self.__compileAllInterfaces) |
96 self.sourceMenu.addAction(self.trUtf8('Open'), self._openItem) |
97 self.sourceMenu.addAction(self.trUtf8('Open'), self._openItem) |
97 self.sourceMenu.addSeparator() |
98 self.sourceMenu.addSeparator() |
98 act = self.sourceMenu.addAction(self.trUtf8('Rename file'), self._renameFile) |
99 act = self.sourceMenu.addAction(self.trUtf8('Rename file'), self._renameFile) |
99 self.menuActions.append(act) |
100 self.menuActions.append(act) |
100 act = self.sourceMenu.addAction(self.trUtf8('Remove from project'), |
101 act = self.sourceMenu.addAction(self.trUtf8('Remove from project'), |
101 self._removeFile) |
102 self._removeFile) |
102 self.menuActions.append(act) |
103 self.menuActions.append(act) |
103 act = self.sourceMenu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
104 act = self.sourceMenu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
104 self.menuActions.append(act) |
105 self.menuActions.append(act) |
105 self.sourceMenu.addSeparator() |
106 self.sourceMenu.addSeparator() |
106 self.sourceMenu.addAction(self.trUtf8('Add interfaces...'), |
107 self.sourceMenu.addAction(self.trUtf8('Add interfaces...'), |
107 self.__addInterfaceFiles) |
108 self.__addInterfaceFiles) |
108 self.sourceMenu.addAction(self.trUtf8('Add interfaces directory...'), |
109 self.sourceMenu.addAction(self.trUtf8('Add interfaces directory...'), |
109 self.__addInterfacesDirectory) |
110 self.__addInterfacesDirectory) |
110 self.sourceMenu.addSeparator() |
111 self.sourceMenu.addSeparator() |
111 self.sourceMenu.addAction(self.trUtf8('Copy Path to Clipboard'), |
112 self.sourceMenu.addAction(self.trUtf8('Copy Path to Clipboard'), |
112 self._copyToClipboard) |
113 self._copyToClipboard) |
113 self.sourceMenu.addSeparator() |
114 self.sourceMenu.addSeparator() |
114 self.sourceMenu.addAction(self.trUtf8('Expand all directories'), |
115 self.sourceMenu.addAction(self.trUtf8('Expand all directories'), |
115 self._expandAllDirs) |
116 self._expandAllDirs) |
116 self.sourceMenu.addAction(self.trUtf8('Collapse all directories'), |
117 self.sourceMenu.addAction(self.trUtf8('Collapse all directories'), |
117 self._collapseAllDirs) |
118 self._collapseAllDirs) |
118 self.sourceMenu.addSeparator() |
119 self.sourceMenu.addSeparator() |
119 self.sourceMenu.addAction(self.trUtf8('Configure...'), self._configure) |
120 self.sourceMenu.addAction(self.trUtf8('Configure...'), self._configure) |
120 self.sourceMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
121 self.sourceMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
121 |
122 |
122 self.menu = QMenu(self) |
123 self.menu = QMenu(self) |
123 if self.omniidl is not None: |
124 if self.omniidl is not None: |
124 self.menu.addAction(self.trUtf8('Compile interface'), self.__compileInterface) |
125 self.menu.addAction(self.trUtf8('Compile interface'), self.__compileInterface) |
125 self.menu.addAction(self.trUtf8('Compile all interfaces'), |
126 self.menu.addAction(self.trUtf8('Compile all interfaces'), |
126 self.__compileAllInterfaces) |
127 self.__compileAllInterfaces) |
127 self.menu.addAction(self.trUtf8('Open'), self._openItem) |
128 self.menu.addAction(self.trUtf8('Open'), self._openItem) |
128 self.menu.addSeparator() |
129 self.menu.addSeparator() |
129 self.menu.addAction(self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) |
130 self.menu.addAction(self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) |
130 self.menu.addAction(self.trUtf8('Add interfaces directory...'), |
131 self.menu.addAction(self.trUtf8('Add interfaces directory...'), |
131 self.__addInterfacesDirectory) |
132 self.__addInterfacesDirectory) |
132 self.menu.addSeparator() |
133 self.menu.addSeparator() |
133 self.menu.addAction(self.trUtf8('Expand all directories'), |
134 self.menu.addAction(self.trUtf8('Expand all directories'), |
134 self._expandAllDirs) |
135 self._expandAllDirs) |
135 self.menu.addAction(self.trUtf8('Collapse all directories'), |
136 self.menu.addAction(self.trUtf8('Collapse all directories'), |
136 self._collapseAllDirs) |
137 self._collapseAllDirs) |
137 self.menu.addSeparator() |
138 self.menu.addSeparator() |
138 self.menu.addAction(self.trUtf8('Configure...'), self._configure) |
139 self.menu.addAction(self.trUtf8('Configure...'), self._configure) |
139 self.menu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
140 self.menu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
140 |
141 |
141 self.backMenu = QMenu(self) |
142 self.backMenu = QMenu(self) |
142 if self.omniidl is not None: |
143 if self.omniidl is not None: |
143 self.backMenu.addAction(self.trUtf8('Compile all interfaces'), |
144 self.backMenu.addAction(self.trUtf8('Compile all interfaces'), |
144 self.__compileAllInterfaces) |
145 self.__compileAllInterfaces) |
145 self.backMenu.addSeparator() |
146 self.backMenu.addSeparator() |
146 self.backMenu.addAction(self.trUtf8('Add interfaces...'), |
147 self.backMenu.addAction(self.trUtf8('Add interfaces...'), |
147 self.project.addIdlFiles) |
148 self.project.addIdlFiles) |
148 self.backMenu.addAction(self.trUtf8('Add interfaces directory...'), |
149 self.backMenu.addAction(self.trUtf8('Add interfaces directory...'), |
149 self.project.addIdlDir) |
150 self.project.addIdlDir) |
150 self.backMenu.addSeparator() |
151 self.backMenu.addSeparator() |
151 self.backMenu.addAction(self.trUtf8('Expand all directories'), |
152 self.backMenu.addAction(self.trUtf8('Expand all directories'), |
152 self._expandAllDirs) |
153 self._expandAllDirs) |
153 self.backMenu.addAction(self.trUtf8('Collapse all directories'), |
154 self.backMenu.addAction(self.trUtf8('Collapse all directories'), |
154 self._collapseAllDirs) |
155 self._collapseAllDirs) |
155 self.backMenu.addSeparator() |
156 self.backMenu.addSeparator() |
156 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) |
157 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) |
157 self.backMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
158 self.backMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
158 self.backMenu.setEnabled(False) |
159 self.backMenu.setEnabled(False) |
162 if self.omniidl is not None: |
163 if self.omniidl is not None: |
163 self.multiMenu.addAction(self.trUtf8('Compile interfaces'), |
164 self.multiMenu.addAction(self.trUtf8('Compile interfaces'), |
164 self.__compileSelectedInterfaces) |
165 self.__compileSelectedInterfaces) |
165 self.multiMenu.addAction(self.trUtf8('Open'), self._openItem) |
166 self.multiMenu.addAction(self.trUtf8('Open'), self._openItem) |
166 self.multiMenu.addSeparator() |
167 self.multiMenu.addSeparator() |
167 act = self.multiMenu.addAction(self.trUtf8('Remove from project'), |
168 act = self.multiMenu.addAction(self.trUtf8('Remove from project'), |
168 self._removeFile) |
169 self._removeFile) |
169 self.multiMenuActions.append(act) |
170 self.multiMenuActions.append(act) |
170 act = self.multiMenu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
171 act = self.multiMenu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
171 self.multiMenuActions.append(act) |
172 self.multiMenuActions.append(act) |
172 self.multiMenu.addSeparator() |
173 self.multiMenu.addSeparator() |
173 self.multiMenu.addAction(self.trUtf8('Expand all directories'), |
174 self.multiMenu.addAction(self.trUtf8('Expand all directories'), |
174 self._expandAllDirs) |
175 self._expandAllDirs) |
175 self.multiMenu.addAction(self.trUtf8('Collapse all directories'), |
176 self.multiMenu.addAction(self.trUtf8('Collapse all directories'), |
176 self._collapseAllDirs) |
177 self._collapseAllDirs) |
177 self.multiMenu.addSeparator() |
178 self.multiMenu.addSeparator() |
178 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
179 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
179 self.multiMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
180 self.multiMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
180 |
181 |
181 self.dirMenu = QMenu(self) |
182 self.dirMenu = QMenu(self) |
182 if self.omniidl is not None: |
183 if self.omniidl is not None: |
183 self.dirMenu.addAction(self.trUtf8('Compile all interfaces'), |
184 self.dirMenu.addAction(self.trUtf8('Compile all interfaces'), |
184 self.__compileAllInterfaces) |
185 self.__compileAllInterfaces) |
185 self.dirMenu.addSeparator() |
186 self.dirMenu.addSeparator() |
186 act = self.dirMenu.addAction(self.trUtf8('Remove from project'), self._removeFile) |
187 act = self.dirMenu.addAction(self.trUtf8('Remove from project'), self._removeFile) |
187 self.dirMenuActions.append(act) |
188 self.dirMenuActions.append(act) |
188 self.dirMenu.addSeparator() |
189 self.dirMenu.addSeparator() |
189 self.dirMenu.addAction(self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) |
190 self.dirMenu.addAction(self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) |
190 self.dirMenu.addAction(self.trUtf8('Add interfaces directory...'), |
191 self.dirMenu.addAction(self.trUtf8('Add interfaces directory...'), |
191 self.__addInterfacesDirectory) |
192 self.__addInterfacesDirectory) |
192 self.dirMenu.addSeparator() |
193 self.dirMenu.addSeparator() |
193 self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), |
194 self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), |
194 self._copyToClipboard) |
195 self._copyToClipboard) |
195 self.dirMenu.addSeparator() |
196 self.dirMenu.addSeparator() |
196 self.dirMenu.addAction(self.trUtf8('Expand all directories'), |
197 self.dirMenu.addAction(self.trUtf8('Expand all directories'), |
197 self._expandAllDirs) |
198 self._expandAllDirs) |
198 self.dirMenu.addAction(self.trUtf8('Collapse all directories'), |
199 self.dirMenu.addAction(self.trUtf8('Collapse all directories'), |
199 self._collapseAllDirs) |
200 self._collapseAllDirs) |
200 self.dirMenu.addSeparator() |
201 self.dirMenu.addSeparator() |
201 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) |
202 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) |
202 self.dirMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
203 self.dirMenu.addAction(self.trUtf8('Configure CORBA...'), self.__configureCorba) |
203 |
204 |
204 self.dirMultiMenu = QMenu(self) |
205 self.dirMultiMenu = QMenu(self) |
205 if self.omniidl is not None: |
206 if self.omniidl is not None: |
206 self.dirMultiMenu.addAction(self.trUtf8('Compile all interfaces'), |
207 self.dirMultiMenu.addAction(self.trUtf8('Compile all interfaces'), |
207 self.__compileAllInterfaces) |
208 self.__compileAllInterfaces) |
208 self.dirMultiMenu.addSeparator() |
209 self.dirMultiMenu.addSeparator() |
209 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces...'), |
210 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces...'), |
210 self.project.addIdlFiles) |
211 self.project.addIdlFiles) |
211 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces directory...'), |
212 self.dirMultiMenu.addAction(self.trUtf8('Add interfaces directory...'), |
212 self.project.addIdlDir) |
213 self.project.addIdlDir) |
213 self.dirMultiMenu.addSeparator() |
214 self.dirMultiMenu.addSeparator() |
214 self.dirMultiMenu.addAction(self.trUtf8('Expand all directories'), |
215 self.dirMultiMenu.addAction(self.trUtf8('Expand all directories'), |
215 self._expandAllDirs) |
216 self._expandAllDirs) |
216 self.dirMultiMenu.addAction(self.trUtf8('Collapse all directories'), |
217 self.dirMultiMenu.addAction(self.trUtf8('Collapse all directories'), |
217 self._collapseAllDirs) |
218 self._collapseAllDirs) |
218 self.dirMultiMenu.addSeparator() |
219 self.dirMultiMenu.addSeparator() |
219 self.dirMultiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
220 self.dirMultiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
220 self.dirMultiMenu.addAction(self.trUtf8('Configure CORBA...'), |
221 self.dirMultiMenu.addAction(self.trUtf8('Configure CORBA...'), |
221 self.__configureCorba) |
222 self.__configureCorba) |
222 |
223 |
223 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
224 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
224 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
225 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
225 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
226 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
322 def _openItem(self): |
323 def _openItem(self): |
323 """ |
324 """ |
324 Protected slot to handle the open popup menu entry. |
325 Protected slot to handle the open popup menu entry. |
325 """ |
326 """ |
326 itmList = self.getSelectedItems( |
327 itmList = self.getSelectedItems( |
327 [BrowserFileItem, BrowserClassItem, BrowserMethodItem, |
328 [BrowserFileItem, BrowserClassItem, BrowserMethodItem, |
328 BrowserClassAttributeItem]) |
329 BrowserClassAttributeItem]) |
329 |
330 |
330 for itm in itmList: |
331 for itm in itmList: |
331 if isinstance(itm, BrowserFileItem): |
332 if isinstance(itm, BrowserFileItem): |
332 self.sourceFile[str].emit(itm.fileName()) |
333 self.sourceFile[str].emit(itm.fileName()) |
333 elif isinstance(itm, BrowserClassItem): |
334 elif isinstance(itm, BrowserClassItem): |
334 self.sourceFile[str, int].emit(itm.fileName(), |
335 self.sourceFile[str, int].emit(itm.fileName(), |
335 itm.classObject().lineno) |
336 itm.classObject().lineno) |
336 elif isinstance(itm,BrowserMethodItem): |
337 elif isinstance(itm, BrowserMethodItem): |
337 self.sourceFile[str, int].emit(itm.fileName(), |
338 self.sourceFile[str, int].emit(itm.fileName(), |
338 itm.functionObject().lineno) |
339 itm.functionObject().lineno) |
339 elif isinstance(itm, BrowserClassAttributeItem): |
340 elif isinstance(itm, BrowserClassAttributeItem): |
340 self.sourceFile[str, int].emit(itm.fileName(), |
341 self.sourceFile[str, int].emit(itm.fileName(), |
341 itm.attributeObject().lineno) |
342 itm.attributeObject().lineno) |
342 |
343 |
343 def __addInterfaceFiles(self): |
344 def __addInterfaceFiles(self): |
344 """ |
345 """ |
345 Private method to add interface files to the project. |
346 Private method to add interface files to the project. |