--- a/eric6/Graphics/UMLDialog.py Thu Apr 29 17:39:17 2021 +0200 +++ b/eric6/Graphics/UMLDialog.py Fri Apr 30 19:54:20 2021 +0200 @@ -47,8 +47,14 @@ super().__init__(parent) self.setObjectName("UMLDialog") + self.__project = project self.__diagramType = diagramType - self.__project = project + self.__diagramTypeString = { + UMLDialog.ClassDiagram: "Class Diagram", + UMLDialog.PackageDiagram: "Package Diagram", + UMLDialog.ImportsDiagram: "Imports Diagram", + UMLDialog.ApplicationDiagram: "Application Diagram", + }.get(diagramType, "Illegal Diagram Type") from .UMLGraphicsView import UMLGraphicsView self.scene = QGraphicsScene(0.0, 0.0, 800.0, 600.0) @@ -67,7 +73,7 @@ self.umlView.relayout.connect(self.__relayout) - self.setWindowTitle(self.__diagramTypeString()) + self.setWindowTitle(self.__diagramTypeString) def __initActions(self): """ @@ -191,29 +197,13 @@ else: return None - def __diagramTypeString(self): - """ - Private method to generate a readable string for the diagram type. - - @return readable type string (string) - """ - if self.__diagramType == UMLDialog.ClassDiagram: - return "Class Diagram" - elif self.__diagramType == UMLDialog.PackageDiagram: - return "Package Diagram" - elif self.__diagramType == UMLDialog.ImportsDiagram: - return "Imports Diagram" - elif self.__diagramType == UMLDialog.ApplicationDiagram: - return "Application Diagram" - else: - return "Illegal Diagram Type" - def __save(self): """ Private slot to save the diagram with the current name. """ self.__saveAs(self.__fileName) + # TODO: change this to save file in JSON format @pyqtSlot() def __saveAs(self, filename=""): """ @@ -250,7 +240,7 @@ lines = [ "version: 1.0", "diagram_type: {0} ({1})".format( - self.__diagramType, self.__diagramTypeString()), + self.__diagramType, self.__diagramTypeString), "scene_size: {0};{1}".format(self.scene.width(), self.scene.height()), ] @@ -273,6 +263,8 @@ self.__fileName = filename + # TODO: add loading of file in JSON format + # TODO: delete the current one with eric7 def load(self): """ Public method to load a diagram from a file. @@ -325,7 +317,10 @@ self.__showInvalidDataMessage(filename, linenum) return False try: - self.__diagramType = int(value.strip().split(None, 1)[0]) + diagramType, diagramTypeString = value.strip().split(None, 1) + self.__diagramType = int(self.__diagramType) + self.__diagramTypeString = diagramTypeString[1:-1] + # remove opening an closing bracket except ValueError: self.__showInvalidDataMessage(filename, linenum) return False @@ -368,7 +363,7 @@ # everything worked fine, so remember the file name and set the # window title - self.setWindowTitle(self.__diagramTypeString()) + self.setWindowTitle(self.__diagramTypeString) self.__fileName = filename return True