Project/ProjectSourcesBrowser.py

changeset 2034
8de0fc1f7fef
parent 2031
c36c2eb62a75
child 2302
f29e9405c851
--- a/Project/ProjectSourcesBrowser.py	Sun Sep 09 19:38:07 2012 +0200
+++ b/Project/ProjectSourcesBrowser.py	Mon Sep 10 18:42:28 2012 +0200
@@ -31,6 +31,7 @@
 from .NewPythonPackageDialog import NewPythonPackageDialog
 
 import Utilities
+import UI.PixmapCache
 
 
 class ProjectSourcesBrowser(ProjectBaseBrowser):
@@ -78,6 +79,7 @@
         self.importsDiagram = None
         self.packageDiagram = None
         self.applicationDiagram = None
+        self.loadedDiagram = None
         
     def __closeAllWindows(self):
         """
@@ -90,6 +92,7 @@
         self.importsDiagram     and self.importsDiagram.close()
         self.packageDiagram     and self.packageDiagram.close()
         self.applicationDiagram and self.applicationDiagram.close()
+        self.loadedDiagram      and self.loadedDiagram.close()
         
     def _projectClosed(self):
         """
@@ -134,6 +137,9 @@
             self.trUtf8("Imports Diagram..."), self.__showImportsDiagram)
         self.graphicsMenu.addAction(
             self.trUtf8("Application Diagram..."), self.__showApplicationDiagram)
+        self.graphicsMenu.addSeparator()
+        self.graphicsMenu.addAction(UI.PixmapCache.getIcon("open.png"),
+            self.trUtf8("Load Diagram..."), self.__loadDiagram)
         self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics)
         
         self.unittestAction = self.sourceMenu.addAction(
@@ -287,6 +293,9 @@
             self.__showPackageDiagram)
         self.graphicsMenu.addAction(self.trUtf8("Application Diagram..."),
             self.__showApplicationDiagram)
+        self.graphicsMenu.addSeparator()
+        self.graphicsMenu.addAction(UI.PixmapCache.getIcon("fileOpen.png"),
+            self.trUtf8("Load Diagram..."), self.__loadDiagram)
         
         self.sourceMenu.addSeparator()
         act = self.sourceMenu.addAction(self.trUtf8('Rename file'), self._renameFile)
@@ -908,3 +917,13 @@
         self.applicationDiagram = UMLDialog(UMLDialog.ApplicationDiagram, self.project,
                                             self, noModules=not res)
         self.applicationDiagram.show()
+    
+    def __loadDiagram(self):
+        """
+        Private slot to load a diagram from file.
+        """
+        self.loadedDiagram = None
+        loadedDiagram = UMLDialog(UMLDialog.NoDiagram, self.project, parent=self)
+        if loadedDiagram.load():
+            self.loadedDiagram = loadedDiagram
+            self.loadedDiagram.show(fromFile=True)

eric ide

mercurial