1920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
2920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<style>
3920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
4920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.package-label {
5920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
6920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
7920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
8920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.class-label {
9920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  padding-left: 40px;
10920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
11920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
12920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.method-label {
13920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  padding-left: 80px;
14920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
15920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
16920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.package-entry {
17920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-color: #778899;
18920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
19920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
20920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.class-entry {
21920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-color: #a9a9a9;
22920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
23920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
24920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.method-entry {
25920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-color: #dcdcdc;
26920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
27920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
28920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.collapsed {
29920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
30920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
31920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
32920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.handle {
33920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  width: 25px;
34920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-repeat: no-repeat;
35920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
36920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
37920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.handle-opened {
38920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-image: url("<?cs var:triangle.opened ?>");
39920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
40920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
41920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.handle-closed {
42920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  background-image: url("<?cs var:triangle.closed?>");
43920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
44920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
45920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson.tbody {
46920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  padding: 0;
47920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  margin: 0;
48920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
49920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
50920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson#hierarchy {
51920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  border-collapse:collapse;
52920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
53920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
54920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson</style>
55920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
56920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<script type="text/javascript"
57920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
58920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
59920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<script type="text/javascript">
60920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonfunction collapsePackage(tr) {
61920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  var table = $("#hierarchy")[0];
62920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
63920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if (!$(tr).hasClass("collapsable")) {
64920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    return;
65920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  }
66920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
67920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if ($(tr).hasClass("collapsed")) {
68920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).removeClass("collapsed");
69920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").addClass("handle-opened");
70920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").removeClass("handle-closed");
71920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    if (tr.rowIndex + 1 < table.rows.length) {
72920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      var tbody = table.rows[tr.rowIndex + 1].parentNode;
73920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      $(tbody).show();
74920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    }
75920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  } else {
76920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).addClass("collapsed");
77920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").removeClass("handle-opened");
78920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").addClass("handle-closed");
79920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    if (tr.rowIndex + 1 < table.rows.length
80920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        && $(table.rows[tr.rowIndex + 1]).hasClass("class-entry")) {
81920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      var tbody = table.rows[tr.rowIndex + 1].parentNode;
82920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      $(tbody).hide();
83920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    }
84920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  }
85920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
86920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
87920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonfunction collapseClass(tr) {
88920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  var table = $("#hierarchy")[0];
89920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
90920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if (!$(tr).hasClass("collapsable")) {
91920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    return;
92920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  }
93920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
94920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if ($(tr).hasClass("collapsed")) {
95920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).removeClass("collapsed");
96920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").addClass("handle-opened");
97920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").removeClass("handle-closed");
98920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    var i = tr.rowIndex + 1;
99920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    while (i < table.rows.length && $(table.rows[i]).hasClass("method-entry")) {
100920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      $(table.rows[i++]).show();
101920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    }
102920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  } else {
103920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).addClass("collapsed");
104920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").removeClass("handle-opened");
105920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    $(tr).children(".handle").addClass("handle-closed");
106920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    var i = tr.rowIndex + 1;
107920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    while (i < table.rows.length && $(table.rows[i]).hasClass("method-entry")) {
108920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      $(table.rows[i++]).hide();
109920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    }
110920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  }
111920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson}
112920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
113920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson$(function() {
114920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  $(".package-entry").click(function() {
115920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    collapsePackage(this);
116920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  });
117920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
118920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  $(".class-entry").click(function() {
119920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    collapseClass(this);
120920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  });
121920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson});
122920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson</script>
123920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
124920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<table border="0" id="hierarchy">
125920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<tr>
126920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<th> </th>
127920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs each:site = sites ?>
128920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<th><?cs var:site.name ?></th>
129920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs /each ?>
130920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson</tr>
131920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs each:package = packages ?>
132920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs if:subcount(package.classes) ?>
133920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <tr class="package-entry collapsable">
134920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <td class="handle handle-opened">&nbsp;</td>
135920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs else ?>
136920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <tr class="package-entry">
137920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <td class="handle">&nbsp;</td>
138920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs /if ?>
139920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <td class="package-label"><?cs var:package.name ?></td>
140920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs each:site = package.sites ?>
141920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <td>
142920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs if:site.hasPackage ?>
143920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <a href="<?cs var:site.link ?>">Link</a>
144920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs else ?>
145920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    N/A
146920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs /if ?>
147920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </td>
148920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs /each ?>
149920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </tr>
150920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <tbody class="package-contents">
151920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs each:class = package.classes ?>
152920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs if:subcount(class.methods) ?>
153920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <tr class="class-entry collapsable">
154920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <td class="handle handle-opened">&nbsp;</td>
155920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs else ?>
156920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <tr class="class-entry">
157920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <td class="handle">&nbsp;</td>
158920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs /if ?>
159920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <td class="class-label"><?cs var:class.qualifiedName ?></td>
160920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <?cs each:site = class.sites ?>
161920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <td>
162920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs if:site.hasClass ?>
163920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <a href="<?cs var:site.link ?>">Link</a>
164920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs else ?>
165920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        N/A
166920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs /if ?>
167920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        </td>
168920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <?cs /each ?>
169920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </tr>
170920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs each:method = class.methods ?>
171920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <tr class="method-entry">
172920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <td class="handle">&nbsp;</td>
173920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <td class="method-label"><?cs var:method.signature ?></td>
174920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <?cs each:site = method.sites ?>
175920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <td>
176920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs if:site.hasMethod ?>
177920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <a href="<?cs var:site.link ?>">Link</a>
178920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs else ?>
179920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        N/A
180920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <?cs /if ?>
181920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        </td>
182920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <?cs /each ?>
183920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </tr>
184920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs /each ?><?cs # methods ?>
185920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs /each ?><?cs # classes ?>
186920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </tbody>
187920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs /each ?><?cs # packages ?>
188920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson</table>