src/eric7/Graphics/UMLDialog.py

branch
eric7
changeset 10595
59579e8aff98
parent 10439
21c28b0f9e41
child 10631
00f5aae565a3
--- a/src/eric7/Graphics/UMLDialog.py	Mon Feb 19 19:17:04 2024 +0100
+++ b/src/eric7/Graphics/UMLDialog.py	Wed Feb 21 10:56:24 2024 +0100
@@ -247,11 +247,7 @@
                 self,
                 self.tr("Save Diagram"),
                 "",
-                self.tr(
-                    "Eric Graphics File (*.egj);;"
-                    "Eric Text Graphics File (*.e5g);;"
-                    "All Files (*)"
-                ),
+                self.tr("Eric Graphics File (*.egj);;All Files (*)"),
                 "",
                 EricFileDialog.DontConfirmOverwrite,
             )
@@ -297,148 +293,33 @@
                 self,
                 self.tr("Load Diagram"),
                 "",
-                self.tr(
-                    "Eric Graphics File (*.egj);;"
-                    "Eric Text Graphics File (*.e5g);;"
-                    "All Files (*)"
-                ),
+                self.tr("Eric Graphics File (*.egj);;All Files (*)"),
             )
             if not filename:
                 # Canceled by user
                 return False
 
-        return (
-            self.__readLineBasedGraphicsFile(filename)
-            if filename.endswith(".e5g")
-            else
-            # JSON format is the default
-            self.__readJsonGraphicsFile(filename)
-        )
+        return self.__readJsonGraphicsFile(filename)
 
     #######################################################################
-    ## Methods to read and write eric graphics files of the old line
-    ## based file format.
+    ## Methods to read and write eric graphics files of the JSON based
+    ## file format.
     #######################################################################
 
-    def __readLineBasedGraphicsFile(self, filename):
-        """
-        Private method to read an eric graphics file using the old line
-        based file format.
-
-        @param filename name of the file to be read
-        @type str
-        @return flag indicating success
-        @rtype bool
-        """
-        try:
-            with open(filename, "r", encoding="utf-8") as f:
-                data = f.read()
-        except OSError as err:
-            EricMessageBox.critical(
-                self,
-                self.tr("Load Diagram"),
-                self.tr(
-                    """<p>The file <b>{0}</b> could not be read.</p>"""
-                    """<p>Reason: {1}</p>"""
-                ).format(filename, str(err)),
-            )
-            return False
-
-        lines = data.splitlines()
-        if len(lines) < 3:
-            self.__showInvalidDataMessage(filename)
-            return False
-
-        try:
-            # step 1: check version
-            linenum = 0
-            key, value = lines[linenum].split(": ", 1)
-            if key.strip() != "version" or value.strip() not in UMLDialog.FileVersions:
-                self.__showInvalidDataMessage(filename, linenum)
-                return False
-            else:
-                version = value
-
-            # step 2: extract diagram type
-            linenum += 1
-            key, value = lines[linenum].split(": ", 1)
-            if key.strip() != "diagram_type":
-                self.__showInvalidDataMessage(filename, linenum)
-                return False
-            try:
-                diagramType = value.strip().split(None, 1)[0]
-                self.__diagramType = UMLDialogType(int(diagramType))
-            except ValueError:
-                self.__showInvalidDataMessage(filename, linenum)
-                return False
-            self.scene.clear()
-            self.builder = self.__diagramBuilder(self.__diagramType, "")
-
-            # step 3: extract scene size
-            linenum += 1
-            key, value = lines[linenum].split(": ", 1)
-            if key.strip() != "scene_size":
-                self.__showInvalidDataMessage(filename, linenum)
-                return False
-            try:
-                width, height = [float(v.strip()) for v in value.split(";")]
-            except ValueError:
-                self.__showInvalidDataMessage(filename, linenum)
-                return False
-            self.umlView.setSceneSize(width, height)
-
-            # step 4: extract builder data if available
-            linenum += 1
-            key, value = lines[linenum].split(": ", 1)
-            if key.strip() == "builder_data":
-                ok = self.builder.parsePersistenceData(version, value)
-                if not ok:
-                    self.__showInvalidDataMessage(filename, linenum)
-                    return False
-                linenum += 1
-
-            # step 5: extract the graphics items
-            ok, vlinenum = self.umlView.parsePersistenceData(version, lines[linenum:])
-            if not ok:
-                self.__showInvalidDataMessage(filename, linenum + vlinenum)
-                return False
-
-        except IndexError:
-            self.__showInvalidDataMessage(filename)
-            return False
-
-        # everything worked fine, so remember the file name and set the
-        # window title
-        self.setWindowTitle(self.__getDiagramTitel(self.__diagramType))
-        self.__fileName = filename
-
-        return True
-
-    def __showInvalidDataMessage(self, filename, linenum=-1):
+    def __showInvalidDataMessage(self, filename):
         """
         Private slot to show a message dialog indicating an invalid data file.
 
         @param filename name of the file containing the invalid data
         @type str
-        @param linenum number of the invalid line
-        @type int
         """
-        msg = (
+        EricMessageBox.critical(
+            self,
+            self.tr("Load Diagram"),
             self.tr(
                 """<p>The file <b>{0}</b> does not contain valid data.</p>"""
-            ).format(filename)
-            if linenum < 0
-            else self.tr(
-                """<p>The file <b>{0}</b> does not contain"""
-                """ valid data.</p><p>Invalid line: {1}</p>"""
-            ).format(filename, linenum + 1)
+            ).format(filename),
         )
-        EricMessageBox.critical(self, self.tr("Load Diagram"), msg)
-
-    #######################################################################
-    ## Methods to read and write eric graphics files of the JSON based
-    ## file format.
-    #######################################################################
 
     def __writeJsonGraphicsFile(self, filename):
         """

eric ide

mercurial