Graphics/ApplicationDiagramBuilder.py

changeset 2034
8de0fc1f7fef
parent 2033
4b99609f6a87
child 2039
fa41ccd7f7bc
diff -r 4b99609f6a87 -r 8de0fc1f7fef Graphics/ApplicationDiagramBuilder.py
--- a/Graphics/ApplicationDiagramBuilder.py	Sun Sep 09 19:38:07 2012 +0200
+++ b/Graphics/ApplicationDiagramBuilder.py	Mon Sep 10 18:42:28 2012 +0200
@@ -12,6 +12,8 @@
 
 from PyQt4.QtGui import QApplication, QProgressDialog
 
+from E5Gui import E5MessageBox
+
 from .UMLDiagramBuilder import UMLDiagramBuilder
 from .PackageItem import PackageItem, PackageModel
 from .AssociationItem import AssociationItem, Imports
@@ -247,11 +249,32 @@
         return "project={0}, no_modules={1}".format(
             self.project.getProjectFile(), self.noModules)
     
-    def parsePersistenceData(self, data):
+    def parsePersistenceData(self, version, data):
         """
         Public method to parse persisted data.
         
-        @param dat persisted data to be parsed (string)
+        @param version version of the data (string)
+        @param data persisted data to be parsed (string)
+        @return flag indicating success (boolean)
         """
-        # TODO: implement this
-        return
+        parts = data.split(", ")
+        if len(parts) != 2 or \
+           not parts[0].startswith("project=") or \
+           not parts[1].startswith("no_modules="):
+            return False
+        
+        projectFile = parts[0].split("=", 1)[1].strip()
+        if projectFile != self.project.getProjectFile():
+            res = E5MessageBox.yesNo(None,
+                self.trUtf8("Load Diagram"),
+                self.trUtf8("""<p>The diagram belongs to the project <b>{0}</b>."""
+                             """ Shall this project be opened?</p>""").format(
+                    projectFile))
+            if res:
+                self.project.openProject(projectFile)
+            
+        self.noModules = Utilities.toBool(parts[1].split("=", 1)[1].strip())
+        
+        self.initialize()
+        
+        return True

eric ide

mercurial