~ubuntu-branches/debian/sid/pydoctor/sid

« back to all changes in this revision

Viewing changes to pydoctor/nevowhtml/pages/table.py

  • Committer: Package Import Robot
  • Author(s): Jelmer Vernooij
  • Date: 2013-09-15 13:58:49 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20130915135849-g206zbvqwvz0ptdg
Tags: 0.5b1+bzr603-1
* New upstream snapshot.
* Switch from cdbs to dh.
* Bump standards version to 3.9.4 (no changes).
* Update Vcs header.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
from nevow import loaders, page, tags
3
 
 
4
 
from pydoctor.nevowhtml import util
5
 
 
6
 
class TableRow(page.Element):
7
 
    docFactory = loaders.xmlfile(util.templatefile('table.html'), 'row')
8
 
 
9
 
    def __init__(self, docgetter, has_lineno_col, ob, child):
10
 
        self.docgetter = docgetter
11
 
        self.has_lineno_col = has_lineno_col
12
 
        self.ob = ob
13
 
        self.child = child
14
 
 
15
 
    @page.renderer
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_
20
 
        return class_
21
 
 
22
 
    @page.renderer
23
 
    def lineno(self, request, tag):
24
 
        if not self.has_lineno_col:
25
 
            return ()
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]
31
 
        else:
32
 
            return ()
33
 
 
34
 
    @page.renderer
35
 
    def kind(self, request, tag):
36
 
        return tag.clear()[self.child.kind]
37
 
 
38
 
    @page.renderer
39
 
    def name(self, request, tag):
40
 
        return tag.clear()[util.taglink(self.child, self.child.name)]
41
 
 
42
 
    @page.renderer
43
 
    def summaryDoc(self, request, tag):
44
 
        return tag.clear()[self.docgetter.get(self.child, summary=True)]
45
 
 
46
 
 
47
 
class ChildTable(page.Element):
48
 
    docFactory = loaders.xmlfile(util.templatefile('table.html'))
49
 
    last_id = 0
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
57
 
        self.ob = ob
58
 
 
59
 
    @page.renderer
60
 
    def id(self, request, tag):
61
 
        return 'id'+str(self._id)
62
 
 
63
 
    @page.renderer
64
 
    def header(self, request, tag):
65
 
        if self.system.options.htmlusesorttable:
66
 
            return tag
67
 
        else:
68
 
            return ()
69
 
 
70
 
    @page.renderer
71
 
    def linenohead(self, request, tag):
72
 
        if self.has_lineno_col:
73
 
            return tag
74
 
        else:
75
 
            return ()
76
 
 
77
 
    @page.renderer
78
 
    def rows(self, request, tag):
79
 
        return [TableRow(self.docgetter, self.has_lineno_col, self.ob, child)
80
 
                for child in self.children]