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 |