diff options
Diffstat (limited to 'search/search.js')
-rw-r--r-- | search/search.js | 102 |
1 files changed, 40 insertions, 62 deletions
diff --git a/search/search.js b/search/search.js index 248bdea..dedce3b 100644 --- a/search/search.js +++ b/search/search.js @@ -1,40 +1,3 @@ -// 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: "01_abcdefghilmnoprstuvw~", - 1: "acdhint", - 2: "a", - 3: "01acimt", - 4: "_abcdefghilmnoprstuvw~", - 5: "abcdefghilmnprstv", - 6: "acls", - 7: "adel", - 8: "acdefhimnsv", - 9: "acdmpr", - 10: "acdeilmnpstuv" -}; - -var indexSectionNames = -{ - 0: "all", - 1: "classes", - 2: "namespaces", - 3: "files", - 4: "functions", - 5: "variables", - 6: "typedefs", - 7: "enums", - 8: "enumvalues", - 9: "defines", - 10: "pages" -}; - function convertToId(search) { var result = ''; @@ -46,11 +9,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); } @@ -89,14 +52,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; @@ -173,7 +136,7 @@ function SearchBox(name, resultsPath, inFrame, label) } // stop selection hide timer - if (this.hideTimeout) + if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout=0; @@ -202,7 +165,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 @@ -253,7 +216,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 @@ -268,7 +231,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 @@ -372,7 +335,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') @@ -406,12 +369,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'; @@ -419,8 +382,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; } } @@ -459,12 +422,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 { @@ -475,8 +438,8 @@ function SearchResults(name) while (element && element!=parentElement && !element.nextSibling); if (element && element!=parentElement) - { - element = element.nextSibling; + { + element = element.nextSibling; } } } @@ -529,7 +492,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'; @@ -600,7 +563,7 @@ function SearchResults(name) this.ProcessKeys = function(e) { - if (e.type == "keydown") + if (e.type == "keydown") { this.repeatOn = false; this.lastKey = e.keyCode; @@ -621,7 +584,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; @@ -635,7 +598,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 @@ -728,7 +691,7 @@ function SearchResults(name) if (elem) { elem.focus(); - } + } } else if (this.lastKey==27) // Escape { @@ -811,3 +774,18 @@ 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); +} + |