2
from nevow import loaders, page, tags
4
from pydoctor.nevowhtml import util
6
class TableRow(page.Element):
7
docFactory = loaders.xmlfile(util.templatefile('table.html'), 'row')
9
def __init__(self, docgetter, has_lineno_col, ob, child):
10
self.docgetter = docgetter
11
self.has_lineno_col = has_lineno_col
16
def class_(self, request, tag):
17
class_ = self.child.css_class
18
if self.child.parent is not self.ob:
19
class_ = 'base' + class_
23
def lineno(self, request, tag):
24
if not self.has_lineno_col:
26
if hasattr(self.child, 'linenumber'):
27
line = self.child.linenumber
28
if self.child.sourceHref:
29
line = tags.a(href=self.child.sourceHref)[line]
30
return tag.clear()[line]
35
def kind(self, request, tag):
36
return tag.clear()[self.child.kind]
39
def name(self, request, tag):
40
return tag.clear()[util.taglink(self.child, self.child.name)]
43
def summaryDoc(self, request, tag):
44
return tag.clear()[self.docgetter.get(self.child, summary=True)]
47
class ChildTable(page.Element):
48
docFactory = loaders.xmlfile(util.templatefile('table.html'))
50
def __init__(self, docgetter, ob, has_lineno_col, children):
51
self.docgetter = docgetter
52
self.system = ob.system
53
self.has_lineno_col = has_lineno_col
54
self.children = children
55
ChildTable.last_id += 1
56
self._id = ChildTable.last_id
60
def id(self, request, tag):
61
return 'id'+str(self._id)
64
def header(self, request, tag):
65
if self.system.options.htmlusesorttable:
71
def linenohead(self, request, tag):
72
if self.has_lineno_col:
78
def rows(self, request, tag):
79
return [TableRow(self.docgetter, self.has_lineno_col, self.ob, child)
80
for child in self.children]