File: Synopsis/Formatters/HTML/Views/InheritanceTree.py 1
2
3
4
5
6
7
8
9from Synopsis.Processor import Parameter
10from Synopsis.Formatters.HTML.View import View
11from Synopsis.Formatters.HTML.Tags import *
12
13class InheritanceTree(View):
14
15 def filename(self):
16
17 if self.main:
18 return self.directory_layout.index()
19 else:
20 return self.directory_layout.special('InheritanceTree')
21
22 def title(self):
23
24 return 'Inheritance Tree'
25
26 def root(self):
27
28 return self.filename(), self.title()
29
30 def process(self):
31
32 self.start_file()
33 self.write_navigation_bar()
34 self.write(element('h1', 'Inheritance Tree'))
35 self.write('<ul>')
36 module = self.processor.root
37 for r in self.processor.class_tree.roots():
38 self.process_inheritance(r, module.name)
39 self.write('</ul>')
40 self.end_file()
41
42 def process_inheritance(self, name, rel_name):
43 self.write('<li>')
44 self.write(self.reference(name, rel_name))
45 parents = self.processor.class_tree.superclasses(name)
46 if parents:
47 self.write(' <i>(%s)</i>'%', '.join([str(p) for p in parents]))
48 subs = self.processor.class_tree.subclasses(name)
49 if subs:
50 self.write('<ul>')
51 for s in subs:
52 self.process_inheritance(s, name)
53 self.write('</ul>\n')
54 self.write('</li>')
55
Generated on Thu Apr 16 16:27:12 2009 by
synopsis (version devel)