flatmax@592: var NAVTREE = flatmax@592: [ flatmax@592: [ "CARFAC C++", "index.html", [ flatmax@592: [ "CARFAC C++", "index.html", null ], flatmax@592: [ "Classes", null, [ flatmax@592: [ "Class List", "annotated.html", "annotated" ], flatmax@592: [ "Class Index", "classes.html", null ], flatmax@592: [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], flatmax@592: [ "Class Members", "functions.html", [ flatmax@592: [ "All", "functions.html", null ], flatmax@592: [ "Functions", "functions_func.html", null ], flatmax@592: [ "Variables", "functions_vars.html", null ] flatmax@592: ] ] flatmax@592: ] ], flatmax@592: [ "Files", null, [ flatmax@592: [ "File List", "files.html", "files" ], flatmax@592: [ "File Members", "globals.html", [ flatmax@592: [ "All", "globals.html", null ], flatmax@592: [ "Typedefs", "globals_type.html", null ], flatmax@592: [ "Defines", "globals_defs.html", null ] flatmax@592: ] ] flatmax@592: ] ] flatmax@592: ] ] flatmax@592: ]; flatmax@592: flatmax@592: function getData(varName) flatmax@592: { flatmax@592: var i = varName.lastIndexOf('/'); flatmax@592: var n = i>=0 ? varName.substring(i+1) : varName; flatmax@592: return eval(n); flatmax@592: } flatmax@592: flatmax@592: function stripPath(uri) flatmax@592: { flatmax@592: return uri.substring(uri.lastIndexOf('/')+1); flatmax@592: } flatmax@592: flatmax@592: function getScript(scriptName,func,show) flatmax@592: { flatmax@592: var head = document.getElementsByTagName("head")[0]; flatmax@592: var script = document.createElement('script'); flatmax@592: script.id = scriptName; flatmax@592: script.type = 'text/javascript'; flatmax@592: script.onload = func; flatmax@592: script.src = scriptName+'.js'; flatmax@592: script.onreadystatechange = function() { flatmax@592: if (script.readyState == 'complete') { func(); if (show) showRoot(); } flatmax@592: }; flatmax@592: head.appendChild(script); flatmax@592: } flatmax@592: flatmax@592: function createIndent(o,domNode,node,level) flatmax@592: { flatmax@592: if (node.parentNode && node.parentNode.parentNode) flatmax@592: { flatmax@592: createIndent(o,domNode,node.parentNode,level+1); flatmax@592: } flatmax@592: var imgNode = document.createElement("img"); flatmax@592: imgNode.width = 16; flatmax@592: imgNode.height = 22; flatmax@592: if (level==0 && node.childrenData) flatmax@592: { flatmax@592: node.plus_img = imgNode; flatmax@592: node.expandToggle = document.createElement("a"); flatmax@592: node.expandToggle.href = "javascript:void(0)"; flatmax@592: node.expandToggle.onclick = function() flatmax@592: { flatmax@592: if (node.expanded) flatmax@592: { flatmax@592: $(node.getChildrenUL()).slideUp("fast"); flatmax@592: if (node.isLast) flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2plastnode.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2pnode.png"; flatmax@592: } flatmax@592: node.expanded = false; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: expandNode(o, node, false, false); flatmax@592: } flatmax@592: } flatmax@592: node.expandToggle.appendChild(imgNode); flatmax@592: domNode.appendChild(node.expandToggle); flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: domNode.appendChild(imgNode); flatmax@592: } flatmax@592: if (level==0) flatmax@592: { flatmax@592: if (node.isLast) flatmax@592: { flatmax@592: if (node.childrenData) flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2plastnode.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2lastnode.png"; flatmax@592: domNode.appendChild(imgNode); flatmax@592: } flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: if (node.childrenData) flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2pnode.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2node.png"; flatmax@592: domNode.appendChild(imgNode); flatmax@592: } flatmax@592: } flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: if (node.isLast) flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2blank.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: imgNode.src = node.relpath+"ftv2vertline.png"; flatmax@592: } flatmax@592: } flatmax@592: imgNode.border = "0"; flatmax@592: } flatmax@592: flatmax@592: function newNode(o, po, text, link, childrenData, lastNode) flatmax@592: { flatmax@592: var node = new Object(); flatmax@592: node.children = Array(); flatmax@592: node.childrenData = childrenData; flatmax@592: node.depth = po.depth + 1; flatmax@592: node.relpath = po.relpath; flatmax@592: node.isLast = lastNode; flatmax@592: flatmax@592: node.li = document.createElement("li"); flatmax@592: po.getChildrenUL().appendChild(node.li); flatmax@592: node.parentNode = po; flatmax@592: flatmax@592: node.itemDiv = document.createElement("div"); flatmax@592: node.itemDiv.className = "item"; flatmax@592: flatmax@592: node.labelSpan = document.createElement("span"); flatmax@592: node.labelSpan.className = "label"; flatmax@592: flatmax@592: createIndent(o,node.itemDiv,node,0); flatmax@592: node.itemDiv.appendChild(node.labelSpan); flatmax@592: node.li.appendChild(node.itemDiv); flatmax@592: flatmax@592: var a = document.createElement("a"); flatmax@592: node.labelSpan.appendChild(a); flatmax@592: node.label = document.createTextNode(text); flatmax@592: node.expanded = false; flatmax@592: a.appendChild(node.label); flatmax@592: if (link) flatmax@592: { flatmax@592: a.className = stripPath(link.replace('#',':')); flatmax@592: if (link.indexOf('#')!=-1) flatmax@592: { flatmax@592: var aname = '#'+link.split('#')[1]; flatmax@592: var srcPage = stripPath($(location).attr('pathname')); flatmax@592: var targetPage = stripPath(link.split('#')[0]); flatmax@592: a.href = srcPage!=targetPage ? node.relpath+link : '#'; flatmax@592: a.onclick = function(){ flatmax@592: $('.item').removeClass('selected'); flatmax@592: $('.item').removeAttr('id'); flatmax@592: $(a).parent().parent().addClass('selected'); flatmax@592: $(a).parent().parent().attr('id','selected'); flatmax@592: var anchor = $(aname); flatmax@592: $("#doc-content").animate({ flatmax@592: scrollTop: anchor.position().top + flatmax@592: $('#doc-content').scrollTop() - flatmax@592: $('#doc-content').offset().top flatmax@592: },500,function(){ flatmax@592: window.location.replace(aname); flatmax@592: }); flatmax@592: }; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: a.href = node.relpath+link; flatmax@592: } flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: if (childrenData != null) flatmax@592: { flatmax@592: a.className = "nolink"; flatmax@592: a.href = "javascript:void(0)"; flatmax@592: a.onclick = node.expandToggle.onclick; flatmax@592: } flatmax@592: } flatmax@592: flatmax@592: node.childrenUL = null; flatmax@592: node.getChildrenUL = function() flatmax@592: { flatmax@592: if (!node.childrenUL) flatmax@592: { flatmax@592: node.childrenUL = document.createElement("ul"); flatmax@592: node.childrenUL.className = "children_ul"; flatmax@592: node.childrenUL.style.display = "none"; flatmax@592: node.li.appendChild(node.childrenUL); flatmax@592: } flatmax@592: return node.childrenUL; flatmax@592: }; flatmax@592: flatmax@592: return node; flatmax@592: } flatmax@592: flatmax@592: function showRoot() flatmax@592: { flatmax@592: var headerHeight = $("#top").height(); flatmax@592: var footerHeight = $("#nav-path").height(); flatmax@592: var windowHeight = $(window).height() - headerHeight - footerHeight; flatmax@592: (function (){ // retry until we can scroll to the selected item flatmax@592: try { flatmax@592: navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); flatmax@592: } catch (err) { flatmax@592: setTimeout(arguments.callee, 0); flatmax@592: } flatmax@592: })(); flatmax@592: } flatmax@592: flatmax@592: function expandNode(o, node, imm, showRoot) flatmax@592: { flatmax@592: if (node.childrenData && !node.expanded) flatmax@592: { flatmax@592: if (typeof(node.childrenData)==='string') flatmax@592: { flatmax@592: var varName = node.childrenData; flatmax@592: getScript(node.relpath+varName,function(){ flatmax@592: node.childrenData = getData(varName); flatmax@592: expandNode(o, node, imm, showRoot); flatmax@592: }, showRoot); flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: if (!node.childrenVisited) flatmax@592: { flatmax@592: getNode(o, node); flatmax@592: } flatmax@592: if (imm) flatmax@592: { flatmax@592: $(node.getChildrenUL()).show(); flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: $(node.getChildrenUL()).slideDown("fast"); flatmax@592: } flatmax@592: if (node.isLast) flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2mlastnode.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2mnode.png"; flatmax@592: } flatmax@592: node.expanded = true; flatmax@592: } flatmax@592: } flatmax@592: } flatmax@592: flatmax@592: function showNode(o, node, index) flatmax@592: { flatmax@592: if (node.childrenData && !node.expanded) flatmax@592: { flatmax@592: if (typeof(node.childrenData)==='string') flatmax@592: { flatmax@592: var varName = node.childrenData; flatmax@592: getScript(node.relpath+varName,function(){ flatmax@592: node.childrenData = getData(varName); flatmax@592: showNode(o,node,index); flatmax@592: },true); flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: if (!node.childrenVisited) flatmax@592: { flatmax@592: getNode(o, node); flatmax@592: } flatmax@592: $(node.getChildrenUL()).show(); flatmax@592: if (node.isLast) flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2mlastnode.png"; flatmax@592: } flatmax@592: else flatmax@592: { flatmax@592: node.plus_img.src = node.relpath+"ftv2mnode.png"; flatmax@592: } flatmax@592: node.expanded = true; flatmax@592: var n = node.children[o.breadcrumbs[index]]; flatmax@592: if (index+11){ flatmax@592: var anchor = $(window.location.hash); flatmax@592: var targetDiv = anchor.next(); flatmax@592: $(targetDiv).children('.memproto,.memdoc').effect("highlight",{},1500); flatmax@592: var docContent = $('#doc-content'); flatmax@592: if (docContent && anchor && anchor[0] && anchor[0].ownerDocument){ flatmax@592: docContent.scrollTop(anchor.position().top+docContent.scrollTop()-docContent.offset().top); flatmax@592: } flatmax@592: var a; flatmax@592: if ($(location).attr('hash')){ flatmax@592: var link=stripPath($(location).attr('pathname'))+':'+ flatmax@592: $(location).attr('hash').substring(1); flatmax@592: a=$('.item a[class*=\""'+link+'"\"]'); flatmax@592: } flatmax@592: if (a && a.length){ flatmax@592: $('.item').removeClass('selected'); flatmax@592: $('.item').removeAttr('id'); flatmax@592: a.parent().parent().addClass('selected'); flatmax@592: a.parent().parent().attr('id','selected'); flatmax@592: var anchor = $($(location).attr('hash')); flatmax@592: var targetDiv = anchor.next(); flatmax@592: showRoot(); flatmax@592: } flatmax@592: } else { flatmax@592: var docContent = $('#doc-content'); flatmax@592: if (docContent){ docContent.scrollTop(0); } flatmax@592: } flatmax@592: }) flatmax@592: flatmax@592: $(window).load(showRoot); flatmax@592: } flatmax@592: