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