Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | function createIndent(o,domNode,node,level)␊ |
2 | {␊ |
3 | if (node.parentNode && node.parentNode.parentNode)␊ |
4 | {␊ |
5 | createIndent(o,domNode,node.parentNode,level+1);␊ |
6 | }␊ |
7 | var imgNode = document.createElement("img");␊ |
8 | if (level==0 && node.childrenData)␊ |
9 | {␊ |
10 | node.plus_img = imgNode;␊ |
11 | node.expandToggle = document.createElement("a");␊ |
12 | node.expandToggle.href = "javascript:void(0)";␊ |
13 | node.expandToggle.onclick = function() ␊ |
14 | {␊ |
15 | if (node.expanded) ␊ |
16 | {␊ |
17 | $(node.getChildrenUL()).slideUp("fast");␊ |
18 | if (node.isLast)␊ |
19 | {␊ |
20 | node.plus_img.src = node.relpath+"ftv2plastnode.png";␊ |
21 | }␊ |
22 | else␊ |
23 | {␊ |
24 | node.plus_img.src = node.relpath+"ftv2pnode.png";␊ |
25 | }␊ |
26 | node.expanded = false;␊ |
27 | } ␊ |
28 | else ␊ |
29 | {␊ |
30 | expandNode(o, node, false);␊ |
31 | }␊ |
32 | }␊ |
33 | node.expandToggle.appendChild(imgNode);␊ |
34 | domNode.appendChild(node.expandToggle);␊ |
35 | }␊ |
36 | else␊ |
37 | {␊ |
38 | domNode.appendChild(imgNode);␊ |
39 | }␊ |
40 | if (level==0)␊ |
41 | {␊ |
42 | if (node.isLast)␊ |
43 | {␊ |
44 | if (node.childrenData)␊ |
45 | {␊ |
46 | imgNode.src = node.relpath+"ftv2plastnode.png";␊ |
47 | }␊ |
48 | else␊ |
49 | {␊ |
50 | imgNode.src = node.relpath+"ftv2lastnode.png";␊ |
51 | domNode.appendChild(imgNode);␊ |
52 | }␊ |
53 | }␊ |
54 | else␊ |
55 | {␊ |
56 | if (node.childrenData)␊ |
57 | {␊ |
58 | imgNode.src = node.relpath+"ftv2pnode.png";␊ |
59 | }␊ |
60 | else␊ |
61 | {␊ |
62 | imgNode.src = node.relpath+"ftv2node.png";␊ |
63 | domNode.appendChild(imgNode);␊ |
64 | }␊ |
65 | }␊ |
66 | }␊ |
67 | else␊ |
68 | {␊ |
69 | if (node.isLast)␊ |
70 | {␊ |
71 | imgNode.src = node.relpath+"ftv2blank.png";␊ |
72 | }␊ |
73 | else␊ |
74 | {␊ |
75 | imgNode.src = node.relpath+"ftv2vertline.png";␊ |
76 | }␊ |
77 | }␊ |
78 | imgNode.border = "0";␊ |
79 | }␊ |
80 | ␊ |
81 | function newNode(o, po, text, link, childrenData, lastNode)␊ |
82 | {␊ |
83 | var node = new Object();␊ |
84 | node.children = Array();␊ |
85 | node.childrenData = childrenData;␊ |
86 | node.depth = po.depth + 1;␊ |
87 | node.relpath = po.relpath;␊ |
88 | node.isLast = lastNode;␊ |
89 | ␊ |
90 | node.li = document.createElement("li");␊ |
91 | po.getChildrenUL().appendChild(node.li);␊ |
92 | node.parentNode = po;␊ |
93 | ␊ |
94 | node.itemDiv = document.createElement("div");␊ |
95 | node.itemDiv.className = "item";␊ |
96 | ␊ |
97 | node.labelSpan = document.createElement("span");␊ |
98 | node.labelSpan.className = "label";␊ |
99 | ␊ |
100 | createIndent(o,node.itemDiv,node,0);␊ |
101 | node.itemDiv.appendChild(node.labelSpan);␊ |
102 | node.li.appendChild(node.itemDiv);␊ |
103 | ␊ |
104 | var a = document.createElement("a");␊ |
105 | node.labelSpan.appendChild(a);␊ |
106 | node.label = document.createTextNode(text);␊ |
107 | a.appendChild(node.label);␊ |
108 | if (link) ␊ |
109 | {␊ |
110 | a.href = node.relpath+link;␊ |
111 | } ␊ |
112 | else ␊ |
113 | {␊ |
114 | if (childrenData != null) ␊ |
115 | {␊ |
116 | a.className = "nolink";␊ |
117 | a.href = "javascript:void(0)";␊ |
118 | a.onclick = node.expandToggle.onclick;␊ |
119 | node.expanded = false;␊ |
120 | }␊ |
121 | }␊ |
122 | ␊ |
123 | node.childrenUL = null;␊ |
124 | node.getChildrenUL = function() ␊ |
125 | {␊ |
126 | if (!node.childrenUL) ␊ |
127 | {␊ |
128 | node.childrenUL = document.createElement("ul");␊ |
129 | node.childrenUL.className = "children_ul";␊ |
130 | node.childrenUL.style.display = "none";␊ |
131 | node.li.appendChild(node.childrenUL);␊ |
132 | }␊ |
133 | return node.childrenUL;␊ |
134 | };␊ |
135 | ␊ |
136 | return node;␊ |
137 | }␊ |
138 | ␊ |
139 | function showRoot()␊ |
140 | {␊ |
141 | var headerHeight = $("#top").height();␊ |
142 | var footerHeight = $("#nav-path").height();␊ |
143 | var windowHeight = $(window).height() - headerHeight - footerHeight;␊ |
144 | navtree.scrollTo('#selected',0,{offset:-windowHeight/2});␊ |
145 | }␊ |
146 | ␊ |
147 | function expandNode(o, node, imm)␊ |
148 | {␊ |
149 | if (node.childrenData && !node.expanded) ␊ |
150 | {␊ |
151 | if (!node.childrenVisited) ␊ |
152 | {␊ |
153 | getNode(o, node);␊ |
154 | }␊ |
155 | if (imm)␊ |
156 | {␊ |
157 | $(node.getChildrenUL()).show();␊ |
158 | } ␊ |
159 | else ␊ |
160 | {␊ |
161 | $(node.getChildrenUL()).slideDown("fast",showRoot);␊ |
162 | }␊ |
163 | if (node.isLast)␊ |
164 | {␊ |
165 | node.plus_img.src = node.relpath+"ftv2mlastnode.png";␊ |
166 | }␊ |
167 | else␊ |
168 | {␊ |
169 | node.plus_img.src = node.relpath+"ftv2mnode.png";␊ |
170 | }␊ |
171 | node.expanded = true;␊ |
172 | }␊ |
173 | }␊ |
174 | ␊ |
175 | function getNode(o, po)␊ |
176 | {␊ |
177 | po.childrenVisited = true;␊ |
178 | var l = po.childrenData.length-1;␊ |
179 | for (var i in po.childrenData) ␊ |
180 | {␊ |
181 | var nodeData = po.childrenData[i];␊ |
182 | po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],␊ |
183 | i==l);␊ |
184 | }␊ |
185 | }␊ |
186 | ␊ |
187 | function findNavTreePage(url, data)␊ |
188 | {␊ |
189 | var nodes = data;␊ |
190 | var result = null;␊ |
191 | for (var i in nodes) ␊ |
192 | {␊ |
193 | var d = nodes[i];␊ |
194 | if (d[1] == url) ␊ |
195 | {␊ |
196 | return new Array(i);␊ |
197 | }␊ |
198 | else if (d[2] != null) // array of children␊ |
199 | {␊ |
200 | result = findNavTreePage(url, d[2]);␊ |
201 | if (result != null) ␊ |
202 | {␊ |
203 | return (new Array(i).concat(result));␊ |
204 | }␊ |
205 | }␊ |
206 | }␊ |
207 | return null;␊ |
208 | }␊ |
209 | ␊ |
210 | function initNavTree(toroot,relpath)␊ |
211 | {␊ |
212 | var o = new Object();␊ |
213 | o.toroot = toroot;␊ |
214 | o.node = new Object();␊ |
215 | o.node.li = document.getElementById("nav-tree-contents");␊ |
216 | o.node.childrenData = NAVTREE;␊ |
217 | o.node.children = new Array();␊ |
218 | o.node.childrenUL = document.createElement("ul");␊ |
219 | o.node.getChildrenUL = function() { return o.node.childrenUL; };␊ |
220 | o.node.li.appendChild(o.node.childrenUL);␊ |
221 | o.node.depth = 0;␊ |
222 | o.node.relpath = relpath;␊ |
223 | ␊ |
224 | getNode(o, o.node);␊ |
225 | ␊ |
226 | o.breadcrumbs = findNavTreePage(toroot, NAVTREE);␊ |
227 | if (o.breadcrumbs == null)␊ |
228 | {␊ |
229 | o.breadcrumbs = findNavTreePage("index.html",NAVTREE);␊ |
230 | }␊ |
231 | if (o.breadcrumbs != null && o.breadcrumbs.length>0)␊ |
232 | {␊ |
233 | var p = o.node;␊ |
234 | for (var i in o.breadcrumbs) ␊ |
235 | {␊ |
236 | var j = o.breadcrumbs[i];␊ |
237 | p = p.children[j];␊ |
238 | expandNode(o,p,true);␊ |
239 | }␊ |
240 | p.itemDiv.className = p.itemDiv.className + " selected";␊ |
241 | p.itemDiv.id = "selected";␊ |
242 | $(window).load(showRoot);␊ |
243 | }␊ |
244 | }␊ |
245 | ␊ |
246 |