Graphics/UMLClassDiagram.py

changeset 564
b3d966393ba9
parent 483
ca7d8599a575
child 791
9ec2ac20e54e
equal deleted inserted replaced
563:e35d2cda9a74 564:b3d966393ba9
64 """ 64 """
65 try: 65 try:
66 module = Utilities.ModuleParser.readModule(self.file) 66 module = Utilities.ModuleParser.readModule(self.file)
67 except ImportError: 67 except ImportError:
68 ct = QGraphicsTextItem(None, self.scene) 68 ct = QGraphicsTextItem(None, self.scene)
69 ct.setHtml(\ 69 ct.setHtml(
70 self.trUtf8("The module <b>'{0}'</b> could not be found.") 70 self.trUtf8("The module <b>'{0}'</b> could not be found.")
71 .format(self.file)) 71 .format(self.file))
72 return 72 return
73 73
74 if self.file not in self.allModules: 74 if self.file not in self.allModules:
101 if className not in nodes: 101 if className not in nodes:
102 nodes.append(className) 102 nodes.append(className)
103 else: 103 else:
104 if className in module.classes: 104 if className in module.classes:
105 # this is a local class (defined in this module) 105 # this is a local class (defined in this module)
106 self.__addLocalClass(\ 106 self.__addLocalClass(
107 className, module.classes[className], 0, 0) 107 className, module.classes[className], 0, 0)
108 elif className in module.modules: 108 elif className in module.modules:
109 # this is a local module (defined in this module) 109 # this is a local module (defined in this module)
110 self.__addLocalClass(\ 110 self.__addLocalClass(
111 className, module.modules[className], 0, 0, True) 111 className, module.modules[className], 0, 0, True)
112 else: 112 else:
113 self.__addExternalClass(className, 0, 0) 113 self.__addExternalClass(className, 0, 0)
114 nodes.append(className) 114 nodes.append(className)
115 115
125 if classesFound: 125 if classesFound:
126 self.__arrangeClasses(nodes, routes[:]) 126 self.__arrangeClasses(nodes, routes[:])
127 self.__createAssociations(routes) 127 self.__createAssociations(routes)
128 else: 128 else:
129 ct = QGraphicsTextItem(None, self.scene) 129 ct = QGraphicsTextItem(None, self.scene)
130 ct.setHtml(\ 130 ct.setHtml(
131 self.trUtf8("The module <b>'{0}'</b> does not contain any classes.")\ 131 self.trUtf8("The module <b>'{0}'</b> does not contain any classes.")\
132 .format(self.file)) 132 .format(self.file))
133 133
134 def __arrangeClasses(self, nodes, routes, whiteSpaceFactor = 1.2): 134 def __arrangeClasses(self, nodes, routes, whiteSpaceFactor = 1.2):
135 """ 135 """
241 241
242 @param routes list of relationsships 242 @param routes list of relationsships
243 """ 243 """
244 for route in routes: 244 for route in routes:
245 if len(route) > 1: 245 if len(route) > 1:
246 assoc = AssociationItem(\ 246 assoc = AssociationItem(
247 self.__getCurrentShape(route[1]), 247 self.__getCurrentShape(route[1]),
248 self.__getCurrentShape(route[0]), 248 self.__getCurrentShape(route[0]),
249 Generalisation) 249 Generalisation)
250 self.scene.addItem(assoc) 250 self.scene.addItem(assoc)
251 251

eric ide

mercurial