summaryrefslogtreecommitdiffstats
path: root/src/navtree_js.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/navtree_js.h')
-rw-r--r--src/navtree_js.h205
1 files changed, 76 insertions, 129 deletions
diff --git a/src/navtree_js.h b/src/navtree_js.h
index 2ad1fc1..c231b6b 100644
--- a/src/navtree_js.h
+++ b/src/navtree_js.h
@@ -26,80 +26,54 @@
"\n"
"function createIndent(o,domNode,node,level)\n"
"{\n"
-" if (node.parentNode && node.parentNode.parentNode)\n"
-" {\n"
+" if (node.parentNode && node.parentNode.parentNode) {\n"
" createIndent(o,domNode,node.parentNode,level+1);\n"
" }\n"
" var imgNode = document.createElement(\"img\");\n"
" imgNode.width = 16;\n"
" imgNode.height = 22;\n"
-" if (level==0 && node.childrenData)\n"
-" {\n"
+" if (level==0 && node.childrenData) {\n"
" node.plus_img = imgNode;\n"
" node.expandToggle = document.createElement(\"a\");\n"
" node.expandToggle.href = \"javascript:void(0)\";\n"
-" node.expandToggle.onclick = function() \n"
-" {\n"
-" if (node.expanded) \n"
-" {\n"
+" node.expandToggle.onclick = function() {\n"
+" if (node.expanded) {\n"
" $(node.getChildrenUL()).slideUp(\"fast\");\n"
-" if (node.isLast)\n"
-" {\n"
+" if (node.isLast) {\n"
" node.plus_img.src = node.relpath+\"ftv2plastnode.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" node.plus_img.src = node.relpath+\"ftv2pnode.png\";\n"
" }\n"
" node.expanded = false;\n"
-" } \n"
-" else \n"
-" {\n"
+" } else {\n"
" expandNode(o, node, false, false);\n"
" }\n"
" }\n"
" node.expandToggle.appendChild(imgNode);\n"
" domNode.appendChild(node.expandToggle);\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" domNode.appendChild(imgNode);\n"
" }\n"
-" if (level==0)\n"
-" {\n"
-" if (node.isLast)\n"
-" {\n"
-" if (node.childrenData)\n"
-" {\n"
+" if (level==0) {\n"
+" if (node.isLast) {\n"
+" if (node.childrenData) {\n"
" imgNode.src = node.relpath+\"ftv2plastnode.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" imgNode.src = node.relpath+\"ftv2lastnode.png\";\n"
" domNode.appendChild(imgNode);\n"
" }\n"
-" }\n"
-" else\n"
-" {\n"
-" if (node.childrenData)\n"
-" {\n"
+" } else {\n"
+" if (node.childrenData) {\n"
" imgNode.src = node.relpath+\"ftv2pnode.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" imgNode.src = node.relpath+\"ftv2node.png\";\n"
" domNode.appendChild(imgNode);\n"
" }\n"
" }\n"
-" }\n"
-" else\n"
-" {\n"
-" if (node.isLast)\n"
-" {\n"
+" } else {\n"
+" if (node.isLast) {\n"
" imgNode.src = node.relpath+\"ftv2blank.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" imgNode.src = node.relpath+\"ftv2vertline.png\";\n"
" }\n"
" }\n"
@@ -134,37 +108,45 @@
" node.label = document.createTextNode(text);\n"
" node.expanded = false;\n"
" a.appendChild(node.label);\n"
-" if (link) \n"
-" {\n"
+" if (link) {\n"
+" var url;\n"
+" if (link.substring(0,1)=='^') {\n"
+" url = link.substring(1);\n"
+" link = url;\n"
+" } else {\n"
+" url = node.relpath+link;\n"
+" }\n"
" a.className = stripPath(link.replace('#',':'));\n"
-" if (link.indexOf('#')!=-1)\n"
-" {\n"
+" if (link.indexOf('#')!=-1) {\n"
" var aname = '#'+link.split('#')[1];\n"
" var srcPage = stripPath($(location).attr('pathname'));\n"
" var targetPage = stripPath(link.split('#')[0]);\n"
-" a.href = srcPage!=targetPage ? node.relpath+link : '#';\n"
+" a.href = srcPage!=targetPage ? url : '#';\n"
" a.onclick = function(){\n"
" $('.item').removeClass('selected');\n"
" $('.item').removeAttr('id');\n"
" $(a).parent().parent().addClass('selected');\n"
" $(a).parent().parent().attr('id','selected');\n"
-" var anchor = $(aname);\n"
-" $(\"#doc-content\").animate({\n"
-" scrollTop: anchor.position().top +\n"
-" $('#doc-content').scrollTop() -\n"
-" $('#doc-content').offset().top\n"
-" },500,function(){\n"
+" var pos, anchor = $(aname), docContent = $('#doc-content');\n"
+" if (anchor.parent().attr('class')=='memItemLeft') {\n"
+" pos = anchor.parent().position().top;\n"
+" } else {\n"
+" pos = anchor.position().top;\n"
+" }\n"
+" var dist = Math.abs(Math.min(\n"
+" pos-docContent.offset().top,\n"
+" docContent[0].scrollHeight-\n"
+" docContent.height()-docContent.scrollTop()));\n"
+" docContent.animate({\n"
+" scrollTop: pos + docContent.scrollTop() - docContent.offset().top\n"
+" },Math.max(50,Math.min(500,dist)),function(){\n"
" window.location.replace(aname);\n"
" });\n"
" };\n"
+" } else {\n"
+" a.href = url;\n"
" }\n"
-" else\n"
-" {\n"
-" a.href = node.relpath+link;\n"
-" }\n"
-" } \n"
-" else \n"
-" {\n"
+" } else {\n"
" if (childrenData != null) \n"
" {\n"
" a.className = \"nolink\";\n"
@@ -174,10 +156,8 @@
" }\n"
"\n"
" node.childrenUL = null;\n"
-" node.getChildrenUL = function() \n"
-" {\n"
-" if (!node.childrenUL) \n"
-" {\n"
+" node.getChildrenUL = function() {\n"
+" if (!node.childrenUL) {\n"
" node.childrenUL = document.createElement(\"ul\");\n"
" node.childrenUL.className = \"children_ul\";\n"
" node.childrenUL.style.display = \"none\";\n"
@@ -205,36 +185,24 @@
"\n"
"function expandNode(o, node, imm, showRoot)\n"
"{\n"
-" if (node.childrenData && !node.expanded) \n"
-" {\n"
-" if (typeof(node.childrenData)==='string')\n"
-" {\n"
+" if (node.childrenData && !node.expanded) {\n"
+" if (typeof(node.childrenData)==='string') {\n"
" var varName = node.childrenData;\n"
" getScript(node.relpath+varName,function(){\n"
" node.childrenData = getData(varName);\n"
" expandNode(o, node, imm, showRoot);\n"
" }, showRoot);\n"
-" }\n"
-" else\n"
-" {\n"
-" if (!node.childrenVisited) \n"
-" {\n"
+" } else {\n"
+" if (!node.childrenVisited) {\n"
" getNode(o, node);\n"
-" }\n"
-" if (imm)\n"
-" {\n"
+" } if (imm) {\n"
" $(node.getChildrenUL()).show();\n"
-" } \n"
-" else \n"
-" {\n"
+" } else {\n"
" $(node.getChildrenUL()).slideDown(\"fast\");\n"
" }\n"
-" if (node.isLast)\n"
-" {\n"
+" if (node.isLast) {\n"
" node.plus_img.src = node.relpath+\"ftv2mlastnode.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" node.plus_img.src = node.relpath+\"ftv2mnode.png\";\n"
" }\n"
" node.expanded = true;\n"
@@ -244,72 +212,53 @@
"\n"
"function showNode(o, node, index)\n"
"{\n"
-" if (node.childrenData && !node.expanded) \n"
-" {\n"
-" if (typeof(node.childrenData)==='string')\n"
-" {\n"
+" if (node.childrenData && !node.expanded) {\n"
+" if (typeof(node.childrenData)==='string') {\n"
" var varName = node.childrenData;\n"
" getScript(node.relpath+varName,function(){\n"
" node.childrenData = getData(varName);\n"
" showNode(o,node,index);\n"
" },true);\n"
-" }\n"
-" else\n"
-" {\n"
-" if (!node.childrenVisited) \n"
-" {\n"
+" } else {\n"
+" if (!node.childrenVisited) {\n"
" getNode(o, node);\n"
" }\n"
" $(node.getChildrenUL()).show();\n"
-" if (node.isLast)\n"
-" {\n"
+" if (node.isLast) {\n"
" node.plus_img.src = node.relpath+\"ftv2mlastnode.png\";\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" node.plus_img.src = node.relpath+\"ftv2mnode.png\";\n"
" }\n"
" node.expanded = true;\n"
" var n = node.children[o.breadcrumbs[index]];\n"
-" if (index+1<o.breadcrumbs.length)\n"
-" {\n"
+" if (index+1<o.breadcrumbs.length) {\n"
" showNode(o,n,index+1);\n"
-" }\n"
-" else\n"
-" {\n"
-" if (typeof(n.childrenData)==='string')\n"
-" {\n"
+" } else {\n"
+" if (typeof(n.childrenData)==='string') {\n"
" var varName = n.childrenData;\n"
" getScript(n.relpath+varName,function(){\n"
" n.childrenData = getData(varName);\n"
" node.expanded=false;\n"
" showNode(o,node,index); // retry with child node expanded\n"
" },true);\n"
-" }\n"
-" else\n"
-" {\n"
-" if (o.toroot==\"index.html\" || n.childrenData)\n"
-" {\n"
+" } else {\n"
+" if (o.toroot==\"index.html\" || n.childrenData) {\n"
" expandNode(o, n, true, true);\n"
" }\n"
" var a;\n"
-" if ($(location).attr('hash'))\n"
-" {\n"
+" if ($(location).attr('hash')) {\n"
" var link=stripPath($(location).attr('pathname'))+':'+\n"
" $(location).attr('hash').substring(1);\n"
" a=$('.item a[class*=\\\"\"'+link+'\"\\\"]');\n"
" }\n"
-" if (a && a.length)\n"
-" {\n"
+" if (a && a.length) {\n"
" a.parent().parent().addClass('selected');\n"
" a.parent().parent().attr('id','selected');\n"
" var anchor = $($(location).attr('hash'));\n"
" var targetDiv = anchor.next();\n"
" $(targetDiv).children('.memproto,.memdoc').\n"
" effect(\"highlight\", {}, 1500);\n"
-" }\n"
-" else\n"
-" {\n"
+" } else {\n"
" $(n.itemDiv).addClass('selected');\n"
" $(n.itemDiv).attr('id','selected');\n"
" }\n"
@@ -323,8 +272,7 @@
"{\n"
" po.childrenVisited = true;\n"
" var l = po.childrenData.length-1;\n"
-" for (var i in po.childrenData) \n"
-" {\n"
+" for (var i in po.childrenData) {\n"
" var nodeData = po.childrenData[i];\n"
" po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],\n"
" i==l);\n"
@@ -364,11 +312,13 @@
" $(window).bind('hashchange', function(){\n"
" if (window.location.hash && window.location.hash.length>1){\n"
" var anchor = $(window.location.hash);\n"
-" var targetDiv = anchor.next();\n"
-" $(targetDiv).children('.memproto,.memdoc').effect(\"highlight\",{},1500);\n"
-" var docContent = $('#doc-content');\n"
-" if (docContent && anchor && anchor[0] && anchor[0].ownerDocument){\n"
-" docContent.scrollTop(anchor.position().top+docContent.scrollTop()-docContent.offset().top);\n"
+" if (anchor.parent().attr('class')=='memItemLeft'){\n"
+" var rows = $('.memberdecls tr[class$=\\\"\"'+\n"
+" window.location.hash.substring(1)+'\"\\\"]').children();\n"
+" rows.effect('highlight',{},1500);\n"
+" } else {\n"
+" var targetDiv = anchor.next();\n"
+" $(targetDiv).children('.memproto,.memdoc').effect(\"highlight\",{},1500);\n"
" }\n"
" var a;\n"
" if ($(location).attr('hash')){\n"
@@ -385,9 +335,6 @@
" var targetDiv = anchor.next();\n"
" showRoot();\n"
" }\n"
-" } else {\n"
-" var docContent = $('#doc-content');\n"
-" if (docContent){ docContent.scrollTop(0); }\n"
" }\n"
" })\n"
"\n"