diff options
Diffstat (limited to 'search/search.js')
-rw-r--r-- | search/search.js | 102 |
1 files changed, 62 insertions, 40 deletions
diff --git a/search/search.js b/search/search.js index dedce3bf..5d3aaa67 100644 --- a/search/search.js +++ b/search/search.js @@ -1,3 +1,40 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "abcdefghiklmnopqrstuvwxyz~", + 1: "bcgimprstuvw", + 2: "y", + 3: "bcgimprstvwy", + 4: "abcdefghiklmnopqrstuvwxyz~", + 5: "abcdfghikmnoprstuvwxyz", + 6: "sv", + 7: "w", + 8: "bfhs", + 9: "d", + 10: "bdpty" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "typedefs", + 7: "enums", + 8: "enumvalues", + 9: "related", + 10: "pages" +}; + function convertToId(search) { var result = ''; @@ -9,11 +46,11 @@ function convertToId(search) { result+=c; } - else if (cn<16) + else if (cn<16) { result+="_0"+cn.toString(16); } - else + else { result+="_"+cn.toString(16); } @@ -52,14 +89,14 @@ function getYPos(item) /* A class handling everything associated with the search panel. Parameters: - name - The name of the global variable that will be + name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ function SearchBox(name, resultsPath, inFrame, label) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } - + // ---------- Instance variables this.name = name; this.resultsPath = resultsPath; @@ -136,7 +173,7 @@ function SearchBox(name, resultsPath, inFrame, label) } // stop selection hide timer - if (this.hideTimeout) + if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout=0; @@ -165,7 +202,7 @@ function SearchBox(name, resultsPath, inFrame, label) if (e.shiftKey==1) { this.OnSearchSelectShow(); - var win=this.DOMSearchSelectWindow(); + var win=this.DOMSearchSelectWindow(); for (i=0;i<win.childNodes.length;i++) { var child = win.childNodes[i]; // get span within a @@ -216,7 +253,7 @@ function SearchBox(name, resultsPath, inFrame, label) this.SelectItemCount = function(id) { var count=0; - var win=this.DOMSearchSelectWindow(); + var win=this.DOMSearchSelectWindow(); for (i=0;i<win.childNodes.length;i++) { var child = win.childNodes[i]; // get span within a @@ -231,7 +268,7 @@ function SearchBox(name, resultsPath, inFrame, label) this.SelectItemSet = function(id) { var i,j=0; - var win=this.DOMSearchSelectWindow(); + var win=this.DOMSearchSelectWindow(); for (i=0;i<win.childNodes.length;i++) { var child = win.childNodes[i]; // get span within a @@ -335,7 +372,7 @@ function SearchBox(name, resultsPath, inFrame, label) hasResultsPage = false; } - window.frames.MSearchResults.location = resultsPageWithSearch; + window.frames.MSearchResults.location = resultsPageWithSearch; var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); if (domPopupSearchResultsWindow.style.display!='block') @@ -369,12 +406,12 @@ function SearchBox(name, resultsPath, inFrame, label) // -------- Activation Functions - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. this.Activate = function(isActive) { if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' + this.DOMPopupSearchResultsWindow().style.display == 'block' ) { this.DOMSearchBox().className = 'MSearchBoxActive'; @@ -382,8 +419,8 @@ function SearchBox(name, resultsPath, inFrame, label) var searchField = this.DOMSearchField(); if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; + { + searchField.value = ''; this.searchActive = true; } } @@ -422,12 +459,12 @@ function SearchResults(name) } if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; + { + element = element.firstChild; } else if (element.nextSibling) - { - element = element.nextSibling; + { + element = element.nextSibling; } else { @@ -438,8 +475,8 @@ function SearchResults(name) while (element && element!=parentElement && !element.nextSibling); if (element && element!=parentElement) - { - element = element.nextSibling; + { + element = element.nextSibling; } } } @@ -492,7 +529,7 @@ function SearchResults(name) var rowMatchName = row.id.toLowerCase(); rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - if (search.length<=rowMatchName.length && + if (search.length<=rowMatchName.length && rowMatchName.substr(0, search.length)==search) { row.style.display = 'block'; @@ -563,7 +600,7 @@ function SearchResults(name) this.ProcessKeys = function(e) { - if (e.type == "keydown") + if (e.type == "keydown") { this.repeatOn = false; this.lastKey = e.keyCode; @@ -584,7 +621,7 @@ function SearchResults(name) return this.lastKey!=0; } - this.Nav = function(evt,itemIndex) + this.Nav = function(evt,itemIndex) { var e = (evt) ? evt : window.event; // for IE if (e.keyCode==13) return true; @@ -598,7 +635,7 @@ function SearchResults(name) { var child = this.FindChildElement(focusItem.parentNode.parentNode.id); if (child && child.style.display == 'block') // children visible - { + { var n=0; var tmpElem; while (1) // search for last child @@ -691,7 +728,7 @@ function SearchResults(name) if (elem) { elem.focus(); - } + } } else if (this.lastKey==27) // Escape { @@ -774,18 +811,3 @@ function createResults() } } -function init_search() -{ - var results = document.getElementById("MSearchSelectWindow"); - for (var key in indexSectionLabels) - { - var link = document.createElement('a'); - link.setAttribute('class','SelectItem'); - link.setAttribute('onclick','searchBox.OnSelectItem('+key+')'); - link.href='javascript:void(0)'; - link.innerHTML='<span class="SelectionMark"> </span>'+indexSectionLabels[key]; - results.appendChild(link); - } - searchBox.OnSelectItem(0); -} - |