src/eric7/Graphics/PackageDiagramBuilder.py

branch
eric7
changeset 10373
093dcebe5ecb
parent 10069
435cc5875135
child 10439
21c28b0f9e41
equal deleted inserted replaced
10372:1444b4bee64b 10373:093dcebe5ecb
253 return 253 return
254 254
255 # step 1: build all classes found in the modules 255 # step 1: build all classes found in the modules
256 classesFound = False 256 classesFound = False
257 257
258 for modName in list(modules.keys()): 258 for modName in modules:
259 module = modules[modName] 259 module = modules[modName]
260 for cls in list(module.classes.keys()): 260 for cls in module.classes:
261 classesFound = True 261 classesFound = True
262 self.__addLocalClass(cls, module.classes[cls], 0, 0) 262 self.__addLocalClass(cls, module.classes[cls], 0, 0)
263 if not classesFound and not subpackages: 263 if not classesFound and not subpackages:
264 ct = QGraphicsTextItem(None) 264 ct = QGraphicsTextItem(None)
265 self.scene.addItem(ct) 265 self.scene.addItem(ct)
275 275
276 # step 2: build the class hierarchies 276 # step 2: build the class hierarchies
277 routes = [] 277 routes = []
278 nodes = [] 278 nodes = []
279 279
280 for modName in list(modules.keys()): 280 for modName in modules:
281 module = modules[modName] 281 module = modules[modName]
282 todo = [module.createHierarchy()] 282 todo = [module.createHierarchy()]
283 while todo: 283 while todo:
284 hierarchy = todo[0] 284 hierarchy = todo[0]
285 for className in hierarchy: 285 for className in hierarchy:
311 self.__addExternalClass(className, 0, 0) 311 self.__addExternalClass(className, 0, 0)
312 nodes.append(className) 312 nodes.append(className)
313 313
314 if hierarchy.get(className): 314 if hierarchy.get(className):
315 todo.append(hierarchy.get(className)) 315 todo.append(hierarchy.get(className))
316 children = list(hierarchy.get(className).keys()) 316 for child in hierarchy.get(className, []):
317 for child in children:
318 if (className, child) not in routes: 317 if (className, child) not in routes:
319 routes.append((className, child)) 318 routes.append((className, child))
320 319
321 del todo[0] 320 del todo[0]
322 321
323 # step 3: build the subpackages 322 # step 3: build the subpackages
324 for subpackage in sorted(subpackages.keys()): 323 for subpackage in sorted(subpackages):
325 self.__addPackage(subpackage, subpackages[subpackage], 0, 0) 324 self.__addPackage(subpackage, subpackages[subpackage], 0, 0)
326 nodes.append(subpackage) 325 nodes.append(subpackage)
327 326
328 self.__arrangeClasses(nodes, routes[:]) 327 self.__arrangeClasses(nodes, routes[:])
329 self.__createAssociations(routes) 328 self.__createAssociations(routes)
425 name = _class.name 424 name = _class.name
426 if isRbModule: 425 if isRbModule:
427 name = "{0} (Module)".format(name) 426 name = "{0} (Module)".format(name)
428 cl = ClassModel( 427 cl = ClassModel(
429 name, 428 name,
430 sorted(_class.methods.keys())[:], 429 sorted(_class.methods),
431 sorted(_class.attributes.keys())[:], 430 sorted(_class.attributes),
432 sorted(_class.globals.keys())[:], 431 sorted(_class.globals),
433 ) 432 )
434 cw = ClassItem( 433 cw = ClassItem(
435 cl, 434 cl,
436 False, 435 False,
437 x, 436 x,

eric ide

mercurial