29 ProjectBrowserSourceType |
29 ProjectBrowserSourceType |
30 from .ProjectBaseBrowser import ProjectBaseBrowser |
30 from .ProjectBaseBrowser import ProjectBaseBrowser |
31 from .NewPythonPackageDialog import NewPythonPackageDialog |
31 from .NewPythonPackageDialog import NewPythonPackageDialog |
32 |
32 |
33 import Utilities |
33 import Utilities |
|
34 import UI.PixmapCache |
34 |
35 |
35 |
36 |
36 class ProjectSourcesBrowser(ProjectBaseBrowser): |
37 class ProjectSourcesBrowser(ProjectBaseBrowser): |
37 """ |
38 """ |
38 A class used to display the Sources part of the project. |
39 A class used to display the Sources part of the project. |
76 self.profiledata = None |
77 self.profiledata = None |
77 self.classDiagram = None |
78 self.classDiagram = None |
78 self.importsDiagram = None |
79 self.importsDiagram = None |
79 self.packageDiagram = None |
80 self.packageDiagram = None |
80 self.applicationDiagram = None |
81 self.applicationDiagram = None |
|
82 self.loadedDiagram = None |
81 |
83 |
82 def __closeAllWindows(self): |
84 def __closeAllWindows(self): |
83 """ |
85 """ |
84 Private method to close all project related windows. |
86 Private method to close all project related windows. |
85 """ |
87 """ |
88 self.profiledata and self.profiledata.close() |
90 self.profiledata and self.profiledata.close() |
89 self.classDiagram and self.classDiagram.close() |
91 self.classDiagram and self.classDiagram.close() |
90 self.importsDiagram and self.importsDiagram.close() |
92 self.importsDiagram and self.importsDiagram.close() |
91 self.packageDiagram and self.packageDiagram.close() |
93 self.packageDiagram and self.packageDiagram.close() |
92 self.applicationDiagram and self.applicationDiagram.close() |
94 self.applicationDiagram and self.applicationDiagram.close() |
|
95 self.loadedDiagram and self.loadedDiagram.close() |
93 |
96 |
94 def _projectClosed(self): |
97 def _projectClosed(self): |
95 """ |
98 """ |
96 Protected slot to handle the projectClosed signal. |
99 Protected slot to handle the projectClosed signal. |
97 """ |
100 """ |
132 self.trUtf8("Package Diagram..."), self.__showPackageDiagram) |
135 self.trUtf8("Package Diagram..."), self.__showPackageDiagram) |
133 self.importsDiagramAction = self.graphicsMenu.addAction( |
136 self.importsDiagramAction = self.graphicsMenu.addAction( |
134 self.trUtf8("Imports Diagram..."), self.__showImportsDiagram) |
137 self.trUtf8("Imports Diagram..."), self.__showImportsDiagram) |
135 self.graphicsMenu.addAction( |
138 self.graphicsMenu.addAction( |
136 self.trUtf8("Application Diagram..."), self.__showApplicationDiagram) |
139 self.trUtf8("Application Diagram..."), self.__showApplicationDiagram) |
|
140 self.graphicsMenu.addSeparator() |
|
141 self.graphicsMenu.addAction(UI.PixmapCache.getIcon("open.png"), |
|
142 self.trUtf8("Load Diagram..."), self.__loadDiagram) |
137 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
143 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
138 |
144 |
139 self.unittestAction = self.sourceMenu.addAction( |
145 self.unittestAction = self.sourceMenu.addAction( |
140 self.trUtf8('Run unittest...'), self.handleUnittest) |
146 self.trUtf8('Run unittest...'), self.handleUnittest) |
141 self.sourceMenu.addSeparator() |
147 self.sourceMenu.addSeparator() |
285 self.trUtf8("Class Diagram..."), self.__showClassDiagram) |
291 self.trUtf8("Class Diagram..."), self.__showClassDiagram) |
286 self.graphicsMenu.addAction(self.trUtf8("Package Diagram..."), |
292 self.graphicsMenu.addAction(self.trUtf8("Package Diagram..."), |
287 self.__showPackageDiagram) |
293 self.__showPackageDiagram) |
288 self.graphicsMenu.addAction(self.trUtf8("Application Diagram..."), |
294 self.graphicsMenu.addAction(self.trUtf8("Application Diagram..."), |
289 self.__showApplicationDiagram) |
295 self.__showApplicationDiagram) |
|
296 self.graphicsMenu.addSeparator() |
|
297 self.graphicsMenu.addAction(UI.PixmapCache.getIcon("fileOpen.png"), |
|
298 self.trUtf8("Load Diagram..."), self.__loadDiagram) |
290 |
299 |
291 self.sourceMenu.addSeparator() |
300 self.sourceMenu.addSeparator() |
292 act = self.sourceMenu.addAction(self.trUtf8('Rename file'), self._renameFile) |
301 act = self.sourceMenu.addAction(self.trUtf8('Rename file'), self._renameFile) |
293 self.menuActions.append(act) |
302 self.menuActions.append(act) |
294 act = self.sourceMenu.addAction(self.trUtf8('Remove from project'), |
303 act = self.sourceMenu.addAction(self.trUtf8('Remove from project'), |
906 self.trUtf8("""Include module names?"""), |
915 self.trUtf8("""Include module names?"""), |
907 yesDefault=True) |
916 yesDefault=True) |
908 self.applicationDiagram = UMLDialog(UMLDialog.ApplicationDiagram, self.project, |
917 self.applicationDiagram = UMLDialog(UMLDialog.ApplicationDiagram, self.project, |
909 self, noModules=not res) |
918 self, noModules=not res) |
910 self.applicationDiagram.show() |
919 self.applicationDiagram.show() |
|
920 |
|
921 def __loadDiagram(self): |
|
922 """ |
|
923 Private slot to load a diagram from file. |
|
924 """ |
|
925 self.loadedDiagram = None |
|
926 loadedDiagram = UMLDialog(UMLDialog.NoDiagram, self.project, parent=self) |
|
927 if loadedDiagram.load(): |
|
928 self.loadedDiagram = loadedDiagram |
|
929 self.loadedDiagram.show(fromFile=True) |