From dca8960e21273ed8100fa1fdaeab99ccf141a1f3 Mon Sep 17 00:00:00 2001 From: mikl <> Date: Tue, 6 May 2008 07:53:08 +0000 Subject: Imported JS documentor jGrouseDoc-2.0 --- buildscripts/jGrouseDoc/skins/common/css/jgdoc.css | 301 +++++++++ .../jGrouseDoc/skins/common/css/jgindex.css | 53 ++ .../jGrouseDoc/skins/common/img/closed.gif | Bin 0 -> 104 bytes .../jGrouseDoc/skins/common/img/closedLarge.gif | Bin 0 -> 132 bytes buildscripts/jGrouseDoc/skins/common/img/node.gif | Bin 0 -> 106 bytes buildscripts/jGrouseDoc/skins/common/img/open.gif | Bin 0 -> 101 bytes .../jGrouseDoc/skins/common/img/openLarge.gif | Bin 0 -> 128 bytes buildscripts/jGrouseDoc/skins/common/js/jgdoc.js | 239 +++++++ buildscripts/jGrouseDoc/skins/common/js/jgindex.js | 96 +++ buildscripts/jGrouseDoc/skins/common/js/navTree.js | 213 +++++++ buildscripts/jGrouseDoc/skins/common/vm/common.vm | 604 ++++++++++++++++++ .../jGrouseDoc/skins/common/xslt/common.xslt | 704 +++++++++++++++++++++ .../jGrouseDoc/skins/noframes/css/jgdoc.css | 473 ++++++++++++++ .../jGrouseDoc/skins/noframes/img/logo.gif | Bin 0 -> 3326 bytes buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js | 326 ++++++++++ .../jGrouseDoc/skins/noframes/js/navTree.js | 409 ++++++++++++ .../jGrouseDoc/skins/noframes/vm/antgen.vm | 77 +++ .../jGrouseDoc/skins/noframes/vm/detail.vm | 94 +++ .../jGrouseDoc/skins/noframes/vm/jsindex.vm | 57 ++ buildscripts/jGrouseDoc/skins/noframes/vm/test.vm | 1 + .../jGrouseDoc/skins/noframes/xslt/antgen.xslt | 357 +++++++++++ .../jGrouseDoc/skins/noframes/xslt/detail.xslt | 360 +++++++++++ .../jGrouseDoc/skins/noframes/xslt/jgsearch.xslt | 51 ++ .../jGrouseDoc/skins/noframes/xslt/jsindex.xslt | 124 ++++ .../jGrouseDoc/skins/noframes/xslt/nfcommon.xslt | 98 +++ .../jGrouseDoc/skins/noframes/xslt/startup.xslt | 99 +++ 26 files changed, 4736 insertions(+) create mode 100644 buildscripts/jGrouseDoc/skins/common/css/jgdoc.css create mode 100644 buildscripts/jGrouseDoc/skins/common/css/jgindex.css create mode 100644 buildscripts/jGrouseDoc/skins/common/img/closed.gif create mode 100644 buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif create mode 100644 buildscripts/jGrouseDoc/skins/common/img/node.gif create mode 100644 buildscripts/jGrouseDoc/skins/common/img/open.gif create mode 100644 buildscripts/jGrouseDoc/skins/common/img/openLarge.gif create mode 100644 buildscripts/jGrouseDoc/skins/common/js/jgdoc.js create mode 100644 buildscripts/jGrouseDoc/skins/common/js/jgindex.js create mode 100644 buildscripts/jGrouseDoc/skins/common/js/navTree.js create mode 100644 buildscripts/jGrouseDoc/skins/common/vm/common.vm create mode 100644 buildscripts/jGrouseDoc/skins/common/xslt/common.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/css/jgdoc.css create mode 100644 buildscripts/jGrouseDoc/skins/noframes/img/logo.gif create mode 100644 buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js create mode 100644 buildscripts/jGrouseDoc/skins/noframes/js/navTree.js create mode 100644 buildscripts/jGrouseDoc/skins/noframes/vm/antgen.vm create mode 100644 buildscripts/jGrouseDoc/skins/noframes/vm/detail.vm create mode 100644 buildscripts/jGrouseDoc/skins/noframes/vm/jsindex.vm create mode 100644 buildscripts/jGrouseDoc/skins/noframes/vm/test.vm create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/antgen.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/detail.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/jgsearch.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/jsindex.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/nfcommon.xslt create mode 100644 buildscripts/jGrouseDoc/skins/noframes/xslt/startup.xslt (limited to 'buildscripts/jGrouseDoc/skins') diff --git a/buildscripts/jGrouseDoc/skins/common/css/jgdoc.css b/buildscripts/jGrouseDoc/skins/common/css/jgdoc.css new file mode 100644 index 00000000..a56481d5 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/css/jgdoc.css @@ -0,0 +1,301 @@ + +@CHARSET "ISO-8859-1"; +/* + jGrouseDoc stylesheet file. + @Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@ + $Id: jgdoc.css 340 2008-01-21 16:13:59Z broofa $ +*/ + +body +{ + /*font-family: Helvetica,Arial,sans-serif; + font-size: 0.9em;*/ +} + + +a +{ + text-decoration: none; +} + +.overviewTitle +{ + font-weight: bold; + font-size: 1.3em; + padding-top: 1em; + clear: both; +} + +.overviewItem +{ +} + + +.overviewSectionHeader +{ + font-weight: bold; + font-size: 1.1em; + padding-top: 0.5em; +} + +.sectionHeader +{ + border: 2px groove black; + font-size: 1.7em; + text-align: left; + font-weight: bold; + background-color: #ccccff; + color: black; + padding: 3px; +} + +.logicalSummary +{ +} + +.summaryTable +{ + border: 2px groove black; +} + +.summaryTableHeader +{ + font-size: 1.7em; + text-align: left; + font-weight: bold; + background-color: #ccccff; + color: black; + padding: 4px; +} + +.summaryTable .summaryItem +{ + border-top: 1px solid; + padding: 2px; +} + +.summaryTable .summaryItemRef +{ + font-weight: bold; +} + +.summaryTable .summaryItemDef +{ +} + +.summaryTable .inheritanceSummary +{ + border-top: 1px solid; + padding: 2px; +} + +.summaryTable .summaryItemDesc +{ + padding-left: 2em; +} + +.elementName +{ + font-weight: bold; +} + +.descSection +{ + font-weight: bold; +} + + +.navbar +{ + font-size: 0.9em; + padding-bottom: 4px; +} + +.currentPage +{ + font-weight: bold; +} + +.navbaritem +{ + float: left; + width: 10em; + background-color: #ccccff; + color: black; + padding: 4px; + margin: 2px; + padding-top: 2px; + padding-bottom: 2px; + text-align: center; +} + +.navbaritem a +{ + background-color: #ccccff; + color: black; + text-decoration: underline; +} + + +.projectDescRef +{ + font-weight: bold; +} + +.paddedDetails +{ + padding-left: 5em; +} + +.example +{ + font-size: 0.8em; + font-family: courier; + white-space: pre; +} + + + +.searchItem +{ + cursor: pointer; +} + +.jgdSelectedItem +{ + background-color: #0a246a; + color: white; +} + +.jgdSearchRect +{ + width:60%; + height:20em; + border: 2px inset; + overflow: auto; +} + +.jgdSearchString +{ + width:60%; +} + +.jgsInfo +{ + white-space: pre +} + + + +/*---------- NavTree ----------------*/ + + +#content { + font-size: .9em; + line-height:1.6; +} +.navTree a { + text-decoration: none; +} +.navTree a:hover { + text-decoration: underline; +} + +.navTree .contents +{ + list-style: none; + padding-left: 6px; + margin-left: 0px; + clear: both; +} + +.navTree .contents li +{ + clear: both; + white-space: nowrap; +} + + +.navTree .contents ul +{ + border-left: 1px solid #cccccc; + margin-left: 6px; + clear: both; +} + + +.navTree .contents span.node +{ + display: block; + float: left; +} + +.navTree span.node +{ + cursor: pointer; + background-repeat: no-repeat; + background-position: 0em 0.2em; +} + +.navTree .open span.node +{ + background-image: url(open.gif) ; +} + +.navTree .closed span.node +{ + background-image: url(closed.gif) ; +} + +.navTree .leaf span.node +{ + background-image: url(node.gif) ; +} + +.navTree .closed .contents +{ + display: none; +} + +.navTree .markerSpace +{ + padding-left: 12px; +} + +.navTree .openAll, +.navTree .closeAll { + font-size: .9em; + background-repeat: no-repeat; + padding-left: 16px; + padding-right: 7px; + background-position: left center; + cursor: pointer; +} + +.navTree .openAll { + background-image: url(openLarge.gif); +} + +.navTree .closeAll +{ + background-image: url(closedLarge.gif); +} + +.comment +{ + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +ul.paramoption +{ + margin-top: 0px; + margin-bottom: 0px; +} + +a.srcUrlLink +{ + color:#66f; + float: right; + font-size: 11px; +} diff --git a/buildscripts/jGrouseDoc/skins/common/css/jgindex.css b/buildscripts/jGrouseDoc/skins/common/css/jgindex.css new file mode 100644 index 00000000..c113487f --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/css/jgindex.css @@ -0,0 +1,53 @@ +/* + jGrouseDoc stylesheet file for index page. + Copyright (c) 2007 by Robert Kieffer and jGrouseDoc contributors + $Id: jgindex.css 302 2007-12-24 22:51:11Z denis.riabtchik $ +*/ +@CHARSET "ISO-8859-1"; + + dt { + clear:both; + float:left; + width: 200px; + margin-left: 20px; + } + a { + color: #009; + text-decoration: none; + } + a:hover { + color: #009; + text-decoration: underline; + } + dd { + /*float:left;*/ + } + dt, dd { + margin: 0px; + } + dt.even, dd.even { + border-bottom: dashed 1px #ddd; + } + dt.odd, dd.odd { + border-bottom: dotted 1px #eee; + } + dt.is_namespace { + font-weight:bold; + } + + #toc { + font-size: 12pt; + font-weight: bold; + } + #toc .has_entries a, + #toc .no_entries {padding: 0px 3px;} + #toc .no_entries {color:#999} + + .letter_section { + clear:both; + margin: 0px; + padding:15px 0px 6px; + } + .letter_section a { + color:#000; + } diff --git a/buildscripts/jGrouseDoc/skins/common/img/closed.gif b/buildscripts/jGrouseDoc/skins/common/img/closed.gif new file mode 100644 index 00000000..ab9701f2 Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/common/img/closed.gif differ diff --git a/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif b/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif new file mode 100644 index 00000000..97e3ab95 Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif differ diff --git a/buildscripts/jGrouseDoc/skins/common/img/node.gif b/buildscripts/jGrouseDoc/skins/common/img/node.gif new file mode 100644 index 00000000..82362651 Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/common/img/node.gif differ diff --git a/buildscripts/jGrouseDoc/skins/common/img/open.gif b/buildscripts/jGrouseDoc/skins/common/img/open.gif new file mode 100644 index 00000000..01286477 Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/common/img/open.gif differ diff --git a/buildscripts/jGrouseDoc/skins/common/img/openLarge.gif b/buildscripts/jGrouseDoc/skins/common/img/openLarge.gif new file mode 100644 index 00000000..d4162470 Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/common/img/openLarge.gif differ diff --git a/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js b/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js new file mode 100644 index 00000000..0687c039 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/js/jgdoc.js @@ -0,0 +1,239 @@ +/** + * Searcher for JGrouseDoc + * $Id: jgdoc.js 324 2008-01-06 16:44:39Z denis.riabtchik $ + */ + +jgdoc = {} + +jgdoc.Searcher = +{ + initialize : function() + { + this._searchBox = document.getElementById("jgsSearchString"); + this._searchResults = document.getElementById("jgsSearchResults"); + this._info = document.getElementById("jgsInfo"); + this._currentValue = ""; + this._currentItems = []; + this._currentItem = -1; + this._data = null; + return this; + }, + + _getEvent : function(event) + { + return window.event? window.event : event; + }, + + _getTarget : function(event) + { + return event.target || event.srcElement + }, + + addClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + return; + } + } + a.push(className); + element.className = a.join(' '); + }, + + removeClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + a.splice(i, 1); + break; + } + } + element.className = a.join(' '); + + }, + + dispatcher : function(event) + { + if (this != jgdoc.Searcher) + { + arguments.callee.apply(jgdoc.Searcher, arguments) + return; + } + event = this._getEvent(event); + var type = event.type; + var handler = "on" + type; + this[handler](event, this._getTarget(event)); + }, + + onclick : function(event, target) + { + window.location.href = target._data.ref; + }, + + onmouseover : function(event, target) + { + this.selectItem(target.index); + }, + + onmouseout : function(event, target) + { + this.unselectItem(target.index); + }, + + selectItem : function(index) + { + if (index != this._currentItem) + { + this._currentItem = index; + var item = this._currentItems[index]; + this.addClass(item, 'jgdSelectedItem'); + var text = item._data.summary.split('\n').join('
'); + this._info.innerHTML = text; + } + }, + + unselectItem : function(index) + { + this._currentItem = -1; + var item = this._currentItems[index]; + this.removeClass(item, 'jgdSelectedItem'); + this._info.innerHTML = ''; + }, + + + onTimer : function() + { + if (this != jgdoc.Searcher) + { + arguments.callee.apply(jgdoc.Searcher, arguments) + return; + } + var val = this._searchBox.value; + if (val != this._currentValue) + { + this._currentValue = val; + this.redraw(); + } + }, + + setData : function(data) + { + this._data = data; + this.redraw(); + this._searchBox.focus(); + }, + + addListener : function(element, eventName, handler) + { + if (element.addEventListener) + { + element.addEventListener(eventName, handler, false); + } + else + { + element.attachEvent('on' + eventName, handler); + } + }, + + removeListener : function(element, eventName, handler) + { + if (element.removeEventListener) + { + element.removeEventListener(eventName, handler, false); + } + else + { + element.detachEvent('on' + eventName, handler); + } + }, + + findMatches : function() + { + var result = []; + if (this._currentValue) + { + var v = this._currentValue.toUpperCase(); + for (var i = 0; i < this._data.length; i++) + { + var item = this._data[i]; + if (item.localName.toUpperCase().indexOf(v) == 0) + { + result.push(item); + } + } + } + return result; + }, + + + clearItem : function(item) + { + item._data = null; + this.removeListener(item, 'click', this.dispatcher); + this.removeListener(item, 'mouseover', this.dispatcher); + this.removeListener(item, 'mouseout', this.dispatcher); + }, + + clear : function() + { + for (var i = 0; i < this._currentItems.length; i++) + { + this.clearItem(this._currentItems[i]); + } + this._currentItems = []; + this._searchResults.innerHTML = ""; + this._currentItem = -1; + }, + + + createItem : function(item, index) + { + var d = document.createElement("div"); + d.className = "searchItem"; + //d.title = item.summary; + d.innerHTML = item.fullName; + d.index = index; + d._data = item; + this.addListener(d, 'click', this.dispatcher); + this.addListener(d, 'mouseover', this.dispatcher); + this.addListener(d, 'mouseout', this.dispatcher); + //todo - set listeners + return d; + }, + + redraw : function() + { + this.clear(); + var res = this.findMatches(); + if (res.length > 0) + { + for (var i = 0; i < res.length; i++) + { + var d = this.createItem(res[i], i); + this._currentItems.push(d); + this._searchResults.appendChild(d); + } + } + else + { + var s = (this._currentValue)? "Not found" : "Start typing the name of the item"; + this._searchResults.innerHTML = s; + } + }, + + start : function() + { + var instance = jgdoc.Searcher.initialize(); + instance.setData([]); + instance._timer = window.setInterval(instance.onTimer, 100); + } +} + diff --git a/buildscripts/jGrouseDoc/skins/common/js/jgindex.js b/buildscripts/jGrouseDoc/skins/common/js/jgindex.js new file mode 100644 index 00000000..5a0bf2de --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/js/jgindex.js @@ -0,0 +1,96 @@ +/** + * Script that builds jGrouseDoc Index Page + * Copyright (c) 2007 by Robert Kieffer and jGrouseDoc contributors + * $Id: jgindex.js 303 2007-12-24 22:52:30Z denis.riabtchik $ + */ + +var jgindex = { + load: function() { + // Sort data by localName + jgindex.data.sort(function(a,b) { + var c = (a.localName || a.fullName).toLowerCase(); + var d = (b.localName || b.fullName).toLowerCase(); + return c < d ? -1 : (c > d ? 1 : 0); + }); + + // Now render the index + jgindex.renderEntries(); + }, + + renderEntries: function() { + var h = []; + + // Use a DL, since this is the most semantically correct structure + h.push('
'); + + // Hash to track which letters have entries + var letters = {}; + + // Loop through each entry + for (var i = 0; i < jgindex.data.length; i++) { + var entry = jgindex.data[i]; + + // Get name/url for the entry's namespace + var srcName = entry.parent; + var srcLink = entry.ref.replace(/#.*/, ''); + + // Apply odd/even classname (makes styling even/odd rows easy) + var cn = [(i % 2) ? 'odd' : 'even']; + cn.push(/^(class|interface|struct|object)/.test(entry.summary) ? 'is_namespace' : 'is_not_namespace'); + + // Get the entry's first letter + var ln = entry.localName || entry.fullName || '_unnamed'; + var letter = ln.charAt(0).toUpperCase(); + + // ... and see if it's the first one for that letter + if (!letters[letter]) { + letters[letter] = true; + } else { + letter = null; + } + + // ... and if it is, render the section header + if (letter) { + h.push('

' + letter + '

'); + } + + // Render the entry's HTML + cn = cn.join(' '); + h.push( + '
' + + '' + ln + '' + + '
' + + '
' + + '' + srcName + '' + + '
' + ); + } + h.push('
'); + + // Stick it all into the element + document.getElementById('index').innerHTML = h.join('\n'); + + // Render the letters table-of-contents at the top + h = []; + var toc = '$_ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + for (var i = 0; i < toc.length; i++) { + var letter = toc.charAt(i); + h.push(letters[letter] ? + '' + letter + '' : + '' + letter + '' + ); + } + document.getElementById('toc').innerHTML = h.join('\n'); + } +} + + +// Hack so we can get access to the index data +var jgdoc = { + Searcher: { + setData: function(data) { + jgindex.data = data; + jgindex.load(); + } + } +} diff --git a/buildscripts/jGrouseDoc/skins/common/js/navTree.js b/buildscripts/jGrouseDoc/skins/common/js/navTree.js new file mode 100644 index 00000000..f0c4f133 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/js/navTree.js @@ -0,0 +1,213 @@ +jgdoc = {}; +jgdoc.TreeItem = function(nodeName, item) +{ + this._nodeName = nodeName; + this._data = item; + this._children = []; + +} + +jgdoc.Searcher = +{ + setData : function(data) { + this._data = data; + this.processItems(); + this.render(); + }, + + sorter: function(o1, o2) { + var l1 = o1.localName; + var l2 = o2.localName; + return l1 < l2? -1 : (l1 > l2 ? 1 : 0); + }, + + processItems : function() { + var root; + + // Pass 1: Build index by fullName, and locate the root element + this._byName = {}; + for (var i = 0; i < this._data.length; i++) { + var d = this._data[i]; + if (d.fullName == "GLOBAL") { + root = this._root = d; + } + this._byName[d.fullName] = d; + } + + // Pass 2: Populate _children arrays + for (var i = 0; i < this._data.length; i++) { + var item = this._data[i]; + if (item.elementType == "logical_container" && item != this._root) { + var parent = this._byName[item.parent]; + parent._children = parent._children || []; + parent._children.push(item); + } + } + }, + + addClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + return; + } + } + a.push(className); + element.className = a.join(' '); + }, + + removeClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + var found = false; + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + a.splice(i, 1); + found = true; + break; + } + } + element.className = a.join(' '); + return found; + }, + + clicked : function(event) + { + event = window.event? window.event : event; + var target = event.target || event.srcElement; + var span = target.parentNode; + var li = span.parentNode; + var wasOpen = jgdoc.Searcher.removeClass(li, 'open'); + if (wasOpen) + { + jgdoc.Searcher.addClass(li, 'closed'); + } + else + { + jgdoc.Searcher.removeClass(li, 'closed'); + jgdoc.Searcher.addClass(li, 'open'); + } + span.title = "Click to " + (wasOpen? "expand" : "collapse"); + + }, + + addListener : function(element, eventName, handler) + { + if (element.addEventListener) + { + element.addEventListener(eventName, handler, false); + } + else + { + element.attachEvent('on' + eventName, handler); + } + }, + + removeListener : function(element, eventName, handler) + { + if (element.removeEventListener) + { + element.removeEventListener(eventName, handler, false); + } + else + { + element.detachEvent('on' + eventName, handler); + } + }, + + + render : function() + { + var d = document.getElementById('content'); + d.innerHTML = ''; + var athis = this; + function renderNode(item) + { + var node = document.createElement('li'); + node.className = item.type; + node.innerHTML = " " + item.localName + ""; + var span = node.firstChild; + var img = span.firstChild; + athis.addListener(img, 'mousedown', athis.clicked); + if (item._children) + { + item._children.sort(jgdoc.Searcher.sorter); + node.className += (item == athis._root)? ' open' : ' closed'; + span.title = "Click to " + (item != athis._root? 'expand' : 'collapse'); + var subnode = document.createElement("ul"); + subnode.className = 'contents'; + for (var i = 0; i < item._children.length; i++) + { + var child = renderNode(item._children[i]); + subnode.appendChild(child); + } + node.appendChild(subnode); + } + else + { + node.className += ' leaf'; + } + item._node = node; + return node; + } + var root = renderNode(this._root); + d.appendChild(root); + }, + + cancelEvent : function(event) + { + if (event.preventDefault) + { + event.preventDefault(); + event.stopPropagation(); + } + else + { + event.preventDefault(); + event.stopPropagation(); + } + }, + + switchAll : function(doOpen) + { + var ac = doOpen? 'open' : 'closed'; + var rc = doOpen? 'closed' : 'open'; + + var athis = this; + + function doSwitchNode(anode) + { + if (anode._children) + { + if (doOpen || anode != athis._root) + { + athis.removeClass(anode._node, rc); + athis.addClass(anode._node, ac); + } + for (var i = 0; i < anode._children.length; i++) + { + doSwitchNode(anode._children[i]); + } + } + } + doSwitchNode(this._root); + }, + + onOpenAll : function() + { + jgdoc.Searcher.switchAll(true); + }, + + onCloseAll : function() + { + jgdoc.Searcher.switchAll(false); + } + +}; diff --git a/buildscripts/jGrouseDoc/skins/common/vm/common.vm b/buildscripts/jGrouseDoc/skins/common/vm/common.vm new file mode 100644 index 00000000..b46b62c6 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/vm/common.vm @@ -0,0 +1,604 @@ +#macro(writeLink $link) +#set ($linkElement = $jg.get($link)) +$rootPath#if($linkElement.isContainer()) +#if($linkElement.isLogicalContainer())logical#{else}physical#end/${linkElement.path}.html#{else} +logical/${linkElement.owner.path}.html#___$linkElement.localName#end +#end + + +#macro(writeContent $content) +#foreach ($section in $content.sections) +#if ($section.link && $section.resolvedPath && $section.resolvedPath.length() > 0) +$section.text#else$section.text#end +#end +#end + +#macro (writeType $type) +#writeContent($type) +#end + + + + +#macro(genCommonAttrs $comment) + #if($comment.author.size() > 0) +
+ Authors: + #foreach($author in $comment.author) +
#writeContent($author.content)
+ #end +
+ #end + #if ($comment.see.size() > 0) +
+ See also: + #foreach($see in $comment.see) +
#writeContent($see.content)
+ #end +
+ #end + #if ($comment.version.size() > 0) +
+ Version: + #foreach($version in $comment.version) +
#writeContent($version.content)
+ #end +
+ #end + #if ($comment.timestamp.size() > 0) +
+ Generated on: +
$jg.project.timestamp
+
+ #end + #if ($comment.since.size() > 0) +
+ Since: + #foreach($since in $comment.since) +
#writeContent($since.content)
+ #end +
+ #end + #if ($comment.deprecated.size() > 0) +
+ Deprecated: + #foreach($dep in $comment.deprecated) +
#writeContent($dep.content)
+ #end +
+ #end +#end + + +#macro (writeFunctionParams $paramSet) +#foreach($param in $paramSet.params)#if($velocityCount > 1), #end#if($param.hasModifier('optional'))[#end#writeType($param.typeLink) $param.name#if($param.hasModifier('optional'))]#end#end +#end + + +#macro(writeSrcURL $obj) + #if($obj.comment.srcUrl) + view source + #end +#end + + +#macro(writeParamOption $paramOption) +
  • + + #if($paramOption.hasModifier("optional"))[#end + $paramOption.strModifiers + #writeType($paramOption.typeLink) + $paramOption.name + #if($paramOption.hasModifier("optional"))]#end + + #writeContent($paramOption.content) +
  • +#end + + +#macro(writeParam $param) +
    + + #if($param.hasModifier("optional"))[#end${param.name}#if($param.hasModifier("optional"))]#end + + #writeContent($param.content) + #if($param.children.size() > 0) + + #end +
    +#end + + +#macro(writePhysOwner $element) + #if($element.hasSamePhysOwner) + Defined in + $element.physOwner.comment.name + #end +#end + + + + +#macro(writeFunctionDetails $func $memberType) + #set ($funcModifiers = $func.comment.modifiers) + #if ($func.comment.inheritdesc.size() == 0) + #set ($funcItself = $func) + #else + #set ($funcItself = $jg.get($func.comment.inheritdesc.get(0).name)) + #end + #writeSrcURL($func) +

    + + $memberType + $func.localName + +

    + #if ($funcItself.comment.paramSets.size() > 0) + #foreach($paramSet in $funcItself.comment.paramSets) +
    + + $funcModifiers + #writeType($funcItself.comment.typeLink) + ${funcItself.localName}(#writeFunctionParams($paramSet)) + +
    + #end + #else +
    + + $funcModifiers + #writeType($funcItself.comment.typeLink) + ${funcItself.localName}() + +
    + #end +
    + #writeContent($funcItself.comment.content) +
    + #if ($funcItself.comment.paramSets.size() > 0) +
    + Parameters:
    + #foreach($paramSet in $funcItself.comment.paramSets) +
    +
    #writeContent($paramSet.content)
    +
    + #foreach($param in $paramSet.params) + #writeParam($param) + #end +
    +
    + #end +
    + #end + #if($funcItself.comment.returnsTag ) +
    + Returns:
    +
    + #set ($return = $funcItself.comment.returnsTag) + #writeContent($return.content) + #if($return.children.size() > 0) + + #end +
    +
    + #end + #if($funcItself.comment.throws.size() > 0) +
    + Throws:
    + #foreach($throws in $funcItself.comment.throws) +
    #writeContent($throws.content)
    + #end +
    + #end + #genCommonAttrs($funcItself.comment) + #writePhysOwner($func) +
    +#end + + +#macro(writeVarDetails $var) + #set ($varModifiers = $var.comment.modifiers) + #if ($var.comment.inheritdesc.size() == 0) + #set ($varItself = $var) + #else + #set ($varItself = $jg.get($var.comment.inheritdesc.get(0).name)) + #end + + #writeSrcURL($var) +

    + + $var.commentType $varModifiers + #writeType($varItself.comment.typeLink) + $var.localName + +

    +
    + #writeContent($varItself.comment.content) +
    + #genCommonAttrs($varItself.comment) + #writePhysOwner($var) +
    +#end + + + + +#macro(writeLegacies $obj $memberType $memberName ) + #foreach($legacy in $obj.legacies) + #if ($legacy.get($memberType).size() > 0) +
    +
    + $memberName inherited from $legacy.ancestor.fullName +
    +
    + #foreach($item in $legacy.get($memberType))#if($velocityCount > 1), #end$item.localName#end +
    +
    +
    + #end + #end +#end + + + +#macro(writeVarSummary $variable) + #set ($varModifiers = $variable.comment.modifiers) + #if ($variable.comment.inheritdesc.size() == 0) + #set ($varItself = $variable) + #else + #set ($varItself = $jg.get($variable.comment.inheritdesc.get(0).name)) + #end +
    + $varModifiers + #writeType($variable.comment.typeLink) + $variable.localName +
    +
    + #writeContent($varItself.comment.summary) +
    +#end + + +#macro(writeFuncSummary $func) + #set ($funcModifiers = $func.comment.modifiers) + #if ($func.comment.inheritdesc.size() == 0) + #set ($funcItself = $func) + #else + #set ($funcItself = $jg.get($func.comment.inheritdesc.get(0).name)) + #end + #if ($funcItself.comment.paramSets.size() != 0) + #foreach($paramSet in $funcItself.comment.paramSets) +
    + $funcModifiers + #writeType($func.comment.typeLink) + $func.localName + (#writeFunctionParams($paramSet)) +
    + #end + #else +
    + $funcModifiers + #writeType($func.comment.typeLink) + $func.localName() +
    + #end +
    + #writeContent($funcItself.comment.summary) +
    +#end + + +#macro(writeLogicalSummary $class) +
    + + $class.comment.name + +
    +
    + #writeContent($class.comment.summary) +
    +#end + + +#macro(writeSummary $coll $elemType $elemName) + #if($coll.size() != 0) +
    +
    + $elemName Summary +
    + #foreach($item in $coll) +
    + #if ($elemType == "namespace" || $elemType == "class" || $elemType == "interface" || $elemType == "struct"|| $elemType == "object") + #writeLogicalSummary($item) + #elseif ($elemType == "function" || $elemType == "constructor" || $elemType == "ifunction" || $elemType == "event") + #writeFuncSummary($item) + #elseif ($elemType == "variable" || $elemType == "property") + #writeVarSummary($item) + #end +
    + #end +
    +

    + #end +#end + + + +#macro(writeDetails $object $elemType $memberName) + #if ($object.get($elemType).size() > 0) +

    +

    $memberName Details

    + #foreach($item in $object.get($elemType)) + #if ($elemType == "function" || $elemType == "constructor" || $elemType == "ifunction" || $elemType == "event") + #writeFunctionDetails($item $elemType) + #elseif ($elemType == "variable" || $elemType == "property") + #writeVarDetails($item) + #end + #end +
    + #end +#end + + + + + +#macro(navigationPane $elementType) + + +#end + +#macro(writeCSS $rootPath $aux_path) + + + #if($aux_path && $aux_path != 'not_specified') + + #end +#end + +#macro(navbarPhys $isStartup) + +#end + +#macro(navbarLog $isStartup) + +#end + +#macro(writeClassAttributes $obj) +#if($obj.comment.extends.size() > 0) +
    + Extends + #foreach ($tagContent in $obj.comment.extends) + #if($velocityCount > 1), #end #writeContent($tagContent.content) + #end +
    +#end +#if($obj.comment.implements.size() > 0) +
    + Implements + #foreach ($tagContent in $obj.comment.implements) + #if($velocityCount > 1), #end #writeContent($tagContent.content) + #end +
    +#end + +#if($obj.subClasses.size() > 0) +
    +
    + #if($obj.commentType == "class")Direct Known Subclasses:#{else}All Known Subinterfaces:#end +
    +
    + #foreach($subclass in $obj.subClasses)#if($velocityCount > 1), #end$subclass.fullName#end +
    +
    +#end + +#if($obj.implementors.size() > 0) +
    +
    + All Known Implementing Classes: +
    +
    + #foreach($subclass in $obj.implementors)#if($velocityCount > 1), #end$subclass.fullName#end +
    +
    +#end +#end + +#macro(writeModuleAttributes $obj) +#if ($obj.comment.requires.size() > 0) +
    + Requires modules: + #foreach($tagContent in $obj.comment.requires) + #if($velocityCount > 1), #end #writeContent($tagContent.content) + #end +
    +#end +#end + + +#macro(writeLogicalContainerSummary $obj) + #if ($obj.elementType == "logical_container" && $obj.commentType != "namespace") + #set($nested = "Nested") + #else + #set ($nested = "") + #end + + #writeSummary($obj.get("class") "class" "$nested Class") + #writeSummary($obj.get("interface") "interface" "$nested Interface") + #writeSummary($obj.object "object" "$nested Object") + #writeSummary($obj.structure "structure" "$nested Structure") + + #writeSummary($obj.variable "variable" "Variable") + #writeLegacies($obj "variable" "Variables") + + + #writeSummary($obj.property "property" "Property") + #writeLegacies($obj "property" "Properties" ) + + #writeSummary($obj.constructor "constructor" "Constructor") + + #writeSummary($obj.function "function" "Function") + #writeLegacies($obj "function" "Functions" ) + + #writeSummary($obj.event "event" "Event") + #writeSummary($obj.ifunction "ifunction" "Function Interface") +#end + +#macro(writeLogicalContainerDetails $obj) + #writeDetails($obj "variable" "Variable") + #writeDetails($obj "property" "Property") + #writeDetails($obj "constructor" "Constructor") + #writeDetails($obj "function" "Function") + #writeDetails($obj "event" "Event") + #writeDetails($obj "ifunction" "Function Interface") +#end + +#macro(writeContainer $obj) + #if($obj.comment.srcUrl) + view source + #end

    + $obj.capCommentType $obj.comment.name +

    + #writeClassAttributes($obj) +
    + +
    + + $obj.comment.modifiers + $obj.commentType + $obj.comment.name + +
    + #writeModuleAttributes($obj) + #if($obj.comment.content) +
    #writeContent($obj.comment.content)
    + #end + #genCommonAttrs($obj.comment) + #if ($obj.physOwner) + Defined in + $obj.physOwner.comment.name + #end +
    +

    + + #writeLogicalContainerSummary($obj) + + #writeLogicalContainerDetails($obj) +#end + +#macro(writeOverview $object) +

    + + $object.fullName + +
    +#end + +#macro(writeRefOverview $coll $elementType $elementName) + #if ($coll.size() > 0) +
    $elementName
    + #foreach($item in $coll) + #writeOverview($item) + #end + #end +#end \ No newline at end of file diff --git a/buildscripts/jGrouseDoc/skins/common/xslt/common.xslt b/buildscripts/jGrouseDoc/skins/common/xslt/common.xslt new file mode 100644 index 00000000..b8477c76 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/xslt/common.xslt @@ -0,0 +1,704 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    +
    +
    + +
    + + + + + + + + + + + () +
    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    +
    + +
    +
    + + +
    + + logical/.html + + +
    +
    + +
    +
    + + + + (, []) + + + + + + physical/ + logical/ + + + .html + + + + .html#___ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Authors: + +
    +
    +
    +
    + +
    + See also: + +
    +
    +
    +
    + +
    + Version: +
    +
    +
    + +
    + Generated on: +
    +
    +
    + +
    + Since: +
    +
    +
    + +
    + Deprecated +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    + + physical/.html + + +
    +
    + &nbsp; +
    +
    + + + + + + + + + + + + + + + summaryTable + + +
    + Summary +
    + +
    + + + +
    +
    +
    +

    + + + + + +

    + + + + + + + classFrame + + + + + + + + + +
    +
    + + + + + +
    + + + + + +
    +
    + + + no + + + + + no + + + + + + + +
    +
    + inherited from + + + + + + + + +
    +
    + + + , + + + + + + + + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + ___ + + + + +

    +
    + +
    + + + + +
    +
    + + +
    + [] + + +
      + +
    +
    +
    +
    + + + + + + + +
  • + + [ + + + + ] + + +
  • +
    + + + + srcUrlLink + + view source + + + + + + + + +

    + + ___ + + + + +

    + + + +
    + + + + + + + + + + +
    +
    +
    + +
    + + + + + () + +
    +
    +
    +
    + +
    + +
    + Parameters:
    + +
    + +
    +
    + +
    +
    +
    +
    + +
    + Returns:
    +
    + + +
      + +
    +
    +
    +
    +
    + +
    + Throws:
    + +
    +
    +
    +
    + + + + + + +
    +
    + + + + + + + + + details +

    Details

    + + + + + true + + +
    +
    +
    + + + + + + + + + + Defined in + + physical/.html + + + + + + + + + + stylesheet + text/css + jgdoc.css + + + stylesheet + text/css + theme.css + + + + stylesheet + text/css + + + + + + +
    diff --git a/buildscripts/jGrouseDoc/skins/noframes/css/jgdoc.css b/buildscripts/jGrouseDoc/skins/noframes/css/jgdoc.css new file mode 100644 index 00000000..5abe5de6 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/css/jgdoc.css @@ -0,0 +1,473 @@ + +@CHARSET "ISO-8859-1"; +/* + jGrouseDoc "NO FRAMES" stylesheet file. + @Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@ + $Id: jgdoc.css 340 2008-01-21 16:13:59Z broofa $ +*/ + +body +{ + /*font-family: Helvetica,Arial,sans-serif; + font-size: 0.9em;*/ +} + + +a +{ + text-decoration: none; +} + +.overviewTitle +{ + font-weight: bold; + font-size: 1.3em; + padding-top: 1em; + clear: both; +} + +.overviewItem +{ +} + + +.overviewSectionHeader +{ + font-weight: bold; + font-size: 1.1em; + padding-top: 0.5em; +} + +.sectionHeader +{ + border: 2px groove black; + font-size: 1.7em; + text-align: left; + font-weight: bold; + background-color: #ccccff; + color: black; + padding: 3px; +} + +.logicalSummary +{ +} + +.summaryTable +{ + border: 2px groove black; +} + +.summaryTableHeader +{ + font-size: 1.7em; + text-align: left; + font-weight: bold; + background-color: #ccccff; + color: black; + padding: 4px; +} + +.summaryTable .summaryItem +{ + border-top: 1px solid; + padding: 2px; +} + +.summaryTable .summaryItemRef +{ + font-weight: bold; +} + +.summaryTable .summaryItemDef +{ +} + +.summaryTable .inheritanceSummary +{ + border-top: 1px solid; + padding: 2px; +} + +.summaryTable .summaryItemDesc +{ + padding-left: 2em; +} + +.elementName +{ + font-weight: bold; +} + +.descSection +{ + font-weight: bold; +} + + +.navbar +{ + font-size: 0.9em; + padding-bottom: 4px; +} + +.currentPage +{ + font-weight: bold; +} + +.navbaritem +{ + float: left; + width: 10em; + background-color: #ccccff; + color: black; + padding: 4px; + margin: 2px; + padding-top: 2px; + padding-bottom: 2px; + text-align: center; +} + +.navbaritem a +{ + background-color: #ccccff; + color: black; + text-decoration: underline; +} + + +.projectDescRef +{ + font-weight: bold; +} + +.paddedDetails +{ + padding-left: 5em; +} + +.example +{ + font-size: 0.8em; + font-family: courier; + white-space: pre; +} + + + +a.searchItem:visited, a.searchItem:link +{ + cursor: pointer; + display: block; + color: black; + padding-top: 2px; + padding-bottom: 2px; +} + + + +.jgdSelectedItem, a.jgdSelectedItem:visited, a.jgdSelectedItem:link +{ + background-color: #0a246a; + color: white; +} + + + + +.jgdSearchRect +{ + width:100%; + height:20em; + border: 2px inset; + overflow: auto; + background-color: white; +} + +.jgsSearchPanel +{ + position: absolute; + background-color: transparent; + clear: both; + line-height: 1.2em; +} + +.jgdSearchString +{ + +} + +.jgsInfo +{ + white-space: pre; + background-color: white; + padding: 0.5em; + position: absolute; + border: 1px solid; +} + + + +/*---------- NavTree ----------------*/ + + + +.navTree a { + text-decoration: none; +} +.navTree a:hover { + text-decoration: underline; +} + +.navTree .contents +{ + list-style: none; + padding-left: 10px; + margin-left: 0px; + clear: both; +} + +.navTree .contents li +{ + clear: both; +} + + +.navTree .contents ul +{ + border-left: 1px solid #cccccc; + margin-left: 6px; + clear: both; +} + + +.navTree .contents span.node +{ + display: block; + float: left; +} + +.navTree span.node +{ + cursor: pointer; +} + +.navTree .open span.node +{ + background: url(open.gif) ; + background-repeat: no-repeat; + background-position: 0em 0.2em; +} + +.navTree .closed span.node +{ + background: url(closed.gif) ; + background-repeat: no-repeat; + background-position: 0em 0.2em; +} + +.navTree .leaf span.node +{ + background: url(node.gif) ; + background-repeat: no-repeat; + background-position: 0em 0.2em; +} + +.navTree .closed .contents +{ + display: none; +} + +.navTree .markerSpace +{ + padding-left: 15px; +} + +.navTree .openAll +{ + background-image: url(openLarge.gif); + background-repeat: no-repeat; + padding-left: 25px; + padding-right: 10px; + background-position: left center; + cursor: pointer; +} + +.navTree .closeAll +{ + background-image: url(closedLarge.gif); + background-repeat: no-repeat; + padding-left: 25px; + padding-right: 10px; + background-position: left center; + cursor: pointer; +} + +.navTree .currentNode +{ + background-color: aqua; +} + +.comment +{ + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +body +{ + font-family: sans-serif; + font-size: 0.9em; +} + +.banner +{ +} +.banner h1 +{ + margin: 0px; +} + +.banner h1 a +{ + background: transparent url(logo.gif) no-repeat scroll left center; + line-height: 100px; + margin: 0px; + padding-left: 130px; + display: block; + height: 100%; + color: black; + text-decoration: none; +} + +.banner .bar +{ + background-color: #567a58; + color: white; + text-align: right; + font-size: 1.5em; + font-weight: bolder; + padding-right: 0.5em; + font-style: oblique; +} + +.projectName +{ +} + +.content +{ + float: right; + margin-left: -25em; + width: 100%; + overflow-Y: hidden; +} + +.startup +{ + height: 100%; + overflow: hidden; +} + +.navigation +{ + border: 2px outset; + float: left; + width: 20em; + background-color: white; + line-height: 1.3em; + /*padding-left: 0.5em;*/ + overflow-x: auto; + margin-top: 0.5em; +} + +.block +{ + margin-left: 22em; + float: none; + height: 100%; +} + +.search +{ + padding-top: 0.5em; +} + +.search .searchLabel +{ + float:left; + padding-right: 0.5em; + height: 1.4em; + padding-top: 4px; + font-weight: bold; +} + +.search .searchBlock +{ + +} + +.navigation h2 +{ + text-align: center; + margin: 0px; + padding: 8px; + border-bottom: thin outset; + background-color: #D8D8D0; + cursor: pointer; +} + +.navigation h2 a +{ + color: black; +} + +.navigation h2 a:hover +{ + text-decoration: underline; +} + + + +ul.navContent +{ + list-style-image: none; + list-style-position: outside; + list-style-type: none; + margin: 0px; + padding: 0px; +} + +ul.navContent2 +{ + list-style-image: none; + list-style-position: outside; + list-style-type: none; + margin: 0px; + padding: 4px; +} + +ul.navContent.closed ul.navContent2 +{ + display: none; +} + +.docScroll +{ + clear: both; + overflow-Y: auto; +} + +ul.paramoption +{ + margin-top: 0px; + margin-bottom: 0px; +} + +a.srcUrlLink +{ + color:#66f; + font-size: 11px; + float: right; +} diff --git a/buildscripts/jGrouseDoc/skins/noframes/img/logo.gif b/buildscripts/jGrouseDoc/skins/noframes/img/logo.gif new file mode 100644 index 00000000..caf9699e Binary files /dev/null and b/buildscripts/jGrouseDoc/skins/noframes/img/logo.gif differ diff --git a/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js b/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js new file mode 100644 index 00000000..9d1f1364 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js @@ -0,0 +1,326 @@ +/** + * Searcher for JGrouseDoc + * $Id: jgdoc.js 324 2008-01-06 16:44:39Z denis.riabtchik $ + */ + +if (typeof jgdoc == 'undefined') +{ + jgdoc = {} + + jgdoc._dataHandlers = []; + + jgdoc.setData = function(data) + { + for (var i = 0; i < jgdoc._dataHandlers.length; i++) + { + jgdoc._dataHandlers[i](data); + } + } +} + +jgdoc.Searcher = +{ + initialize : function() + { + this._searchBox = document.getElementById("jgsSearchString"); + this._searchResults = document.getElementById("jgsSearchResults"); + this._info = document.getElementById("jgsInfo"); + this._currentValue = ""; + this._currentItems = []; + this._currentItem = -1; + this._data = null; + this._searchPanel = document.getElementById("jgsSearchPanel"); + this.addListener(this._searchBox, 'focus', this.dispatcher); + this.addListener(this._searchBox, 'blur', this.dispatcher); + this.addListener(window, 'resize', this.dispatcher); + var width = this._searchBox.offsetWidth - 4; + this._searchPanel.style.width = width + 'px'; + + /*var node = this._searchBox; + var current = 0; + var currentTop = 0; + while (node) + { + current += node.offsetLeft; + currentTop += node.offsetTop; + node = node.offsetParent; + } + + this._searchPanel.style.left = current + 'px';*/ + this.positionBox(); + return this; + }, + + positionBox : function() + { + var node = this._searchBox; + var current = 0; + var currentTop = 0; + while (node) + { + current += node.offsetLeft; + currentTop += node.offsetTop; + node = node.offsetParent; + } + + this._searchPanel.style.left = current + 'px'; + this._searchPanel.style.top = (currentTop + this._searchBox.offsetHeight) + "px"; + + }, + + _getEvent : function(event) + { + return window.event? window.event : event; + }, + + _getTarget : function(event) + { + return event.target || event.srcElement + }, + + addClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + return; + } + } + a.push(className); + element.className = a.join(' '); + }, + + removeClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + a.splice(i, 1); + break; + } + } + element.className = a.join(' '); + + }, + + dispatcher : function(event) + { + if (this != jgdoc.Searcher) + { + arguments.callee.apply(jgdoc.Searcher, arguments) + return; + } + event = this._getEvent(event); + var type = event.type; + var handler = "on" + type; + this[handler](event, this._getTarget(event)); + }, + + onclick : function(event, target) + { + // workaround for IE bug + window.location.href = target.getAttribute("href", 1); + }, + + onmouseover : function(event, target) + { + this.selectItem(target.index); + }, + + onresize : function(event, target) + { + if (this._searchPanel.style.display != 'none') + { + this.positionBox(); + } + }, + + onmouseout : function(event, target) + { + this.unselectItem(target.index); + }, + + onfocus : function(event, target) + { + this._searchPanel.style.display = ''; + this.positionBox(); + }, + + onblur : function(event, target) + { + var athis = this; + window.setTimeout(function() + { + athis._searchPanel.style.display = 'none'; + }, 300); + + }, + + selectItem : function(index) + { + if (index != this._currentItem) + { + this._currentItem = index; + var item = this._currentItems[index]; + this.addClass(item, 'jgdSelectedItem'); + var text = item._data.summary.split('\n').join('
    '); + this._info.innerHTML = text; + } + }, + + unselectItem : function(index) + { + this._currentItem = -1; + var item = this._currentItems[index]; + this.removeClass(item, 'jgdSelectedItem'); + this._info.innerHTML = 'No selection'; + }, + + openItem : function(name) + { + + }, + + + onTimer : function() + { + if (this != jgdoc.Searcher) + { + arguments.callee.apply(jgdoc.Searcher, arguments) + return; + } + var val = this._searchBox.value; + if (val != this._currentValue) + { + this._currentValue = val; + this.redraw(); + } + }, + + setData : function(data) + { + this._data = data; + this.redraw(); + //this._searchBox.focus(); + }, + + addListener : function(element, eventName, handler) + { + if (element.addEventListener) + { + element.addEventListener(eventName, handler, false); + } + else + { + element.attachEvent('on' + eventName, handler); + } + }, + + removeListener : function(element, eventName, handler) + { + if (element.removeEventListener) + { + element.removeEventListener(eventName, handler, false); + } + else + { + element.detachEvent('on' + eventName, handler); + } + }, + + findMatches : function() + { + var result = []; + if (this._currentValue) + { + var v = this._currentValue.toUpperCase(); + for (var i = 0; i < this._data.length; i++) + { + var item = this._data[i]; + if (item.localName.toUpperCase().indexOf(v) == 0) + { + result.push(item); + } + } + } + return result; + }, + + + clearItem : function(item) + { + item._data = null; + this.removeListener(item, 'click', this.dispatcher); + this.removeListener(item, 'mouseover', this.dispatcher); + this.removeListener(item, 'mouseout', this.dispatcher); + }, + + clear : function() + { + for (var i = 0; i < this._currentItems.length; i++) + { + this.clearItem(this._currentItems[i]); + } + this._currentItems = []; + this._searchResults.innerHTML = ""; + this._currentItem = -1; + }, + + + createItem : function(item, index) + { + var d1 = document.createElement("div"); + d1.innerHTML = "" + item.fullName + ""; + d = d1.firstChild; + /*d.href = item.ref; + item.ref = d.href;*/ + d.className = "searchItem"; + //d.title = item.summary; + //d.innerHTML = item.fullName; + d.index = index; + d._data = item; + this.addListener(d, 'click', this.dispatcher); + this.addListener(d, 'mouseover', this.dispatcher); + this.addListener(d, 'mouseout', this.dispatcher); + //todo - set listeners + return d; + }, + + redraw : function() + { + this.clear(); + var res = this.findMatches(); + if (res.length > 0) + { + for (var i = 0; i < res.length; i++) + { + var d = this.createItem(res[i], i); + this._currentItems.push(d); + this._searchResults.appendChild(d); + } + } + else + { + var s = (this._currentValue)? "Not found" : "Start typing the name of the item"; + this._searchResults.innerHTML = s; + } + }, + + start : function() + { + var instance = jgdoc.Searcher.initialize(); + instance.setData([]); + instance._timer = window.setInterval(instance.onTimer, 100); + } +} + +jgdoc._dataHandlers.push(function(data) +{ + jgdoc.Searcher.setData(data); +}); \ No newline at end of file diff --git a/buildscripts/jGrouseDoc/skins/noframes/js/navTree.js b/buildscripts/jGrouseDoc/skins/noframes/js/navTree.js new file mode 100644 index 00000000..ac011da4 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/js/navTree.js @@ -0,0 +1,409 @@ +if (typeof jgdoc == 'undefined') +{ + jgdoc = {} + + jgdoc._dataHandlers = []; + + jgdoc.setData = function(data) + { + for (var i = 0; i < jgdoc._dataHandlers.length; i++) + { + jgdoc._dataHandlers[i](data); + } + } +} + +jgdoc.TreeItem = function(nodeName, item) +{ + this._nodeName = nodeName; + this._data = item; + this._children = []; + +} + +jgdoc.Common = +{ + addClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + return; + } + } + a.push(className); + element.className = a.join(' '); + }, + + removeClass : function(element, className) + { + var s = element.className; + var a = s.split(' '); + var found = false; + for (var i = 0; i < a.length; i++) + { + if (a[i] == className) + { + a.splice(i, 1); + found = true; + break; + } + } + element.className = a.join(' '); + return found; + }, + + addListener : function(element, eventName, handler) + { + if (element.addEventListener) + { + element.addEventListener(eventName, handler, false); + } + else + { + element.attachEvent('on' + eventName, handler); + } + }, + + removeListener : function(element, eventName, handler) + { + if (element.removeEventListener) + { + element.removeEventListener(eventName, handler, false); + } + else + { + element.detachEvent('on' + eventName, handler); + } + } +} + +jgdoc.NavPanel = +{ + clicked : function(e) + { + e = window.event? window.event : e; + var target = e.target || e.srcElement; + var node = target; + while (node != null && node.tagName != 'UL') + { + node = node.parentNode; + } + if (node) + { + var parent = node.parentNode; + var current = parent.firstChild; + while (current) + { + if (current != node && current.nodeType === 1) + { + jgdoc.Common.addClass(current, "closed"); + } + current = current.nextSibling; + } + jgdoc.Common.removeClass(node, "closed"); + } + }, + + dummy : function() + { + } +} + +/* +jgdoc.App = +{ + initialize : function() + { + this._container = document.getElementById("startup"); + this._banner = document.getElementById("banner"); + this._content = document.getElementById("docContent"); + this._navigation = document.getElementById("navigation"); + this._docScroll = document.getElementById("docScroll"); + this._html = document.getElementsByTagName('html')[0]; + this._body = document.getElementsByTagName("body")[0]; + this._searchBlock = document.getElementById("searchBlock"); + this._html.style.overflowY = "hidden"; + + } +}*/ + +jgdoc.NavTree = +{ + initialize : function(defaultName) + { + this._defaultName = defaultName; + }, + + + setData : function(data) { + this._data = data; + this.processItems(); + this.render(); + this.openItem(this._defaultName); + }, + + sorter: function(o1, o2) { + var l1 = o1.localName; + var l2 = o2.localName; + return l1 < l2? -1 : (l1 > l2 ? 1 : 0); + }, + + processItems : function() { + var root; + + // Pass 1: Build index by fullName, and locate the root element + this._byName = {}; + for (var i = 0; i < this._data.length; i++) { + var d = this._data[i]; + if (d.fullName == "GLOBAL") { + root = this._root = d; + } + this._byName[d.fullName] = d; + } + + // Pass 2: Populate _children arrays + for (var i = 0; i < this._data.length; i++) { + var item = this._data[i]; + if (item.elementType == "logical_container" && item != this._root) { + var parent = this._byName[item.parent]; + parent._children = parent._children || []; + parent._children.push(item); + } + } + }, + + findItem : function(name) + { + return this._byName[name]; + }, + + /*setData : function(data) + { + this._data = data; + data.sort(this.sorter); + this._root = data[0]; + this.processItems(); + this.render(); + this.openItem(this._defaultName); + }, + + findItem : function(name) + { + if (name === '' || name == 'GLOBAL') + { + return this._root; + } + var s = name.split('.'); + var current = this._root._children; + var found = null; + for (var i = 0; i < s.length; i++) + { + var detected = false; + for (var j = 0; j < current.length; j++) + { + var item = current[j]; + if (item.localName == s[i]) + { + detected = true; + current = item._children; + found = item; + break; + } + } + if (!detected) + { + return false; + } + } + return found; + }, + + processItems : function() + { + for (var i = 1; i < this._data.length; i++) + { + var item = this._data[i]; + if (item.elementType == "logical_container") + { + var parent = this.findItem(item.parent); + if (!parent._children) + { + parent._children = []; + } + parent._children.push(item); + } + } + }, + + + sorter : function(item1, item2) + { + if (item1.parent == "") + { + return -1; + } + if (item2.parent == "") + { + return 1; + } + if (item1.parent == item2.parent) + { + return item1.localName < item2.localName? -1 : item1.localName > item2.localName? 1 : 0; + } + if (item1.parent == "GLOBAL") + { + return -1; + } + if (item2.parent == "GLOBAL") + { + return 1; + } + return item1.parent < item2.parent? -1 : 1; + }, + */ + + + clicked : function(event) + { + event = window.event? window.event : event; + var target = event.target || event.srcElement; + var span = target.parentNode; + var li = span.parentNode; + var wasOpen = jgdoc.Common.removeClass(li, 'open'); + if (wasOpen) + { + jgdoc.Common.addClass(li, 'closed'); + } + else + { + jgdoc.Common.removeClass(li, 'closed'); + jgdoc.Common.addClass(li, 'open'); + } + span.title = "Click to " + (wasOpen? "expand" : "collapse"); + + }, + + + + + render : function() + { + var d = document.getElementById('content'); + d.innerHTML = ''; + var athis = this; + function renderNode(item) + { + var node = document.createElement('li'); + node.className = item.type; + node.innerHTML = " " + item.localName + ""; + var span = node.firstChild; + var img = span.firstChild; + jgdoc.Common.addListener(img, 'mousedown', athis.clicked); + if (item._children) + { + node.className += (item == athis._root)? ' open' : ' closed'; + span.title = "Click to " + (item != athis._root? 'expand' : 'collapse'); + var subnode = document.createElement("ul"); + subnode.className = 'contents'; + for (var i = 0; i < item._children.length; i++) + { + var child = renderNode(item._children[i]); + subnode.appendChild(child); + } + node.appendChild(subnode); + } + else + { + node.className += ' leaf'; + } + if (item.fullName == athis._defaultName) + { + node.firstChild.nextSibling.className += ' currentNode'; + } + item._node = node; + return node; + } + var root = renderNode(this._root); + d.appendChild(root); + }, + + cancelEvent : function(event) + { + if (event.preventDefault) + { + event.preventDefault(); + event.stopPropagation(); + } + else + { + event.preventDefault(); + event.stopPropagation(); + } + }, + + switchAll : function(doOpen) + { + var ac = doOpen? 'open' : 'closed'; + var rc = doOpen? 'closed' : 'open'; + + var athis = this; + + function doSwitchNode(anode) + { + if (anode._children) + { + if (doOpen || anode != athis._root) + { + jgdoc.Common.removeClass(anode._node, rc); + jgdoc.Common.addClass(anode._node, ac); + } + for (var i = 0; i < anode._children.length; i++) + { + doSwitchNode(anode._children[i]); + } + } + } + doSwitchNode(this._root); + }, + + openItem : function(name) + { + this.switchAll(false); + while (name != 'GLOBAL') + { + var item = this.findItem(name); + if (item) + { + var node = item._node; + jgdoc.Common.removeClass(node, 'closed'); + jgdoc.Common.addClass(node, 'open'); + name = item.parent; + } + else + { + return; + } + } + }, + + onOpenAll : function() + { + jgdoc.NavTree.switchAll(true); + }, + + onCloseAll : function() + { + jgdoc.NavTree.switchAll(false); + } + +}; + +jgdoc._dataHandlers.push(function(data) +{ + //jgdoc.App.initialize(); + jgdoc.NavTree.setData(data); +}); diff --git a/buildscripts/jGrouseDoc/skins/noframes/vm/antgen.vm b/buildscripts/jGrouseDoc/skins/noframes/vm/antgen.vm new file mode 100644 index 00000000..7ed8671f --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/vm/antgen.vm @@ -0,0 +1,77 @@ +#if ($jg.project.comment.name) + #set($projectName=$jg.project.comment.name.trim()) +#end +#if ($jg.project.comment.version.size() > 0) + #set ($version = $jg.project.comment.version.get(0).content.originalString.trim()) +#end +#if ($jg.project.comment.description.size() > 0) + #set ($projectDesc = $jg.project.comment.description.get(0).content.originalString.trim()) +#end +#macro (genSummary $coll $pathPart $section) + #foreach($le in $coll) + + + + + + #if($aux_css != "not_specified") + + #end + + + + + + #end +#end + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/vm/detail.vm b/buildscripts/jGrouseDoc/skins/noframes/vm/detail.vm new file mode 100644 index 00000000..8cb95d88 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/vm/detail.vm @@ -0,0 +1,94 @@ +#if ($jg.get($objectName)) #set ($obj = $jg.get($objectName)) #end + + + + $projectName + + + + + + #if ($aux_css) + + #end + + + + +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + #if ($obj) + #writeContainer($obj) + #else +
    + #if($jg.project) +
    +
    + #if($projectDesc && $projectDesc.length() > 0) +

    $projectDesc

    + #end + #writeContent($jg.project.comment.content) +

    + #genCommonAttrs($jg.project.comment) +

    + #end + #end +
    +
    +
    +
    +
    + #navigationPane($navSection) +
    + + + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/vm/jsindex.vm b/buildscripts/jGrouseDoc/skins/noframes/vm/jsindex.vm new file mode 100644 index 00000000..9f1496a0 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/vm/jsindex.vm @@ -0,0 +1,57 @@ +#macro (writeFunctionJSParams $paramSet) +#foreach($param in $paramSet.params)#if($velocityCount > 1), #end#if($param.hasModifier('optional'))[#end#if($param.typeLink)$param.typeLink.originalString.trim() #end$param.name#if($param.hasModifier('optional'))]#end#end +#end + +#macro(writeFuncJSSummary $func) +#set ($funcModifiers = $func.comment.modifiers) +#if ($func.comment.inheritdesc.size() == 0) +#set ($funcItself = $func) +#else +#set ($funcItself = $jg.get($func.comment.inheritdesc.get(0).name)) +#end +#if($funcModifiers.length() > 0)$funcModifiers #end$func.commentType #if ($funcItself.comment.paramSets.size() != 0)#foreach($paramSet in $funcItself.comment.paramSets)#if ($velocityCount > 1)\n#end#if($funcItself.comment.typeLink)$funcItself.comment.typeLink.originalString #end${func.localName}(#writeFunctionJSParams($paramSet))#end +#else +#if($funcItself.comment.typeLink)$funcItself.comment.typeLink.originalString #end${funcItself.localName}()#end +#end + + +#macro(writeVarJSSummary $var) +#set ($varModifiers = $var.comment.modifiers) +#if ($var.comment.inheritdesc.size() == 0) +#set ($varItself = $var) +#else +#set ($varItself = $jg.get($var.comment.inheritdesc.get(0).name)) +#end +#if($varModifiers.length() > 0)$varModifiers #end$var.commentType #if($varItself.comment.typeLink)$varItself.comment.typeLink.originalString #end${varItself.localName}#end + +#macro(writeContainerJSSummary $cont) +#if($cont.comment.modifiers.length() > 0)$cont.comment.modifiers #end$cont.commentType $cont.localName#end +#macro(writeJSSummary $obj) +#if ($obj.commentType == "variable" || $obj.commentType == "property")#writeVarJSSummary($obj) +#elseif($obj.commentType == "class" || $obj.commentType == "namespace" || $obj.commentType == "struct" || $obj.commentType == "interface" || $obj.commentType == "object")#writeContainerJSSummary($obj) +#elseif($obj.commentType == "function" || $obj.commentType == "constructor" || $obj.commentType == "ifunction" || $obj.commentType == "event")#writeFuncJSSummary($obj)#end +#end + +#macro(writeJS $item) + + { + localName : "$item.localName", + fullName : "$item.fullName", + summary : "#writeJSSummary($item)", + ref : "#writeLink($item.fullName)", + parent : "#if($item.parentName)$item.parentName#end", + type : "$item.commentType", + elementType : "$item.elementType" + }#end + + + +/*Generated by jGrouseDoc*/ +(function() +{ + var data = [#foreach($item in $jg.all())#if($item.commentType != 'file' && $item.commentType != 'module')#if($velocityCount > 1), #end #writeJS($item) #end#end + ]; + jgdoc.setData(data); + +})() + diff --git a/buildscripts/jGrouseDoc/skins/noframes/vm/test.vm b/buildscripts/jGrouseDoc/skins/noframes/vm/test.vm new file mode 100644 index 00000000..bde0e031 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/vm/test.vm @@ -0,0 +1 @@ +$jg.get("_bla").comment.returnsTag \ No newline at end of file diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/antgen.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/antgen.xslt new file mode 100644 index 00000000..6a9e656b --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/antgen.xslt @@ -0,0 +1,357 @@ + + + + + + + + + + true + /skins/noframes/css/jgdoc.css + not_specified + not_specified + + /skins/common + + + + + + + ../ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Documentation build file for . Generated by jGrouseDoc + + + applyJGrouseDoc + + applyJGrouseDoc + + + + yes + + /css + + + + + yes + + /css + + + + + + + /img + + + + + + /img + + + + + + + + /js + + + + + + /xslt/startup.xslt + / + /index.html + + projectName + + + + projectDesc + + + + version + + + + + aux_css + + + + + + + /xslt/jsindex.xslt + / + /jsindex.js + + projectName + + + + projectDesc + + + + version + + + + + + /xslt/detail.xslt + / + + version + + + + + aux_css + + + + + projectName + + + + projectDesc + + + + + + /logical/.html + + objectName + + + + rootPath + + + + navSection + logical + + + trueRootPath + ../ + + + + + + + + + + /physical/.html + + objectName + + + + rootPath + + + + navSection + file + + + trueRootPath + ../ + + + + + + + + + + /physical/.html + + objectName + + + + rootPath + + + + navSection + module + + + trueRootPath + ../ + + + + + + + + + + + + + + + + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/detail.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/detail.xslt new file mode 100644 index 00000000..b5fc4ca1 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/detail.xslt @@ -0,0 +1,360 @@ + + + + + + + + + + not_specified + + + + + + + + + + + +
    + +

    + + + Namespace + Class + Structure + Interface + Object + + + +

    + + +
    + Extends + + + , + + + +
    +
    +
    + + +
    + Implements + + + , + + + +
    +
    +
    + + +
    +
    + Direct Known Subclasses: + All Known Subinterfaces: +
    +
    + + + , + + + + + + + + + + +
    +
    +
    + + +
    +
    + All Known Implementing Classes: +
    +
    + + + , + + + + + + + + + + +
    +
    +
    + + +
    + +
    + + + + + + + +
    + +
    + +
    +
    + + + Defined in + + + physical/.html + + + +
    +

    + + Nested + + + class + Class + + + + interface + Interface + + + + object + Object + + + + struct + Structure + + + + + + variable + Variable + + + + + Variables + variable + + + + + + property + Property + + + + + Properties + property + + + + + + + constructor + Constructor + + + + + function + Function + + + + + event + Event + + + + Functions + function + + + + + + ifunction + Function Interface + + + + + + + Variable + variable + + + + + + Property + property + + + + + + + Constructor + constructor + + + + + + Function + function + + + + + + Event + event + + + + + + Function Interface + ifunction + + +

    +
    + + + + Generated by jGrouseDoc + + + <xsl:value-of select="$projectName"/> + + + + + + + + + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + + +
    + + + + +
    + + + +
    diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/jgsearch.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/jgsearch.xslt new file mode 100644 index 00000000..a8766ff0 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/jgsearch.xslt @@ -0,0 +1,51 @@ + + + + + + + not_specified + + + + + + + + Generated by jGrouseDoc + + + + + + + + + + + + + + + + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/jsindex.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/jsindex.xslt new file mode 100644 index 00000000..bddc7a42 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/jsindex.xslt @@ -0,0 +1,124 @@ + + + + + + + not_specified + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \n + + + + + + + + + + + + + + + + + + + + () + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/*Generated by jGrouseDoc*/ +(function() +{ + var data = [, + + ]; + jgdoc.setData(data); + +})() + + + + { + localName : "", + fullName : "", + summary : "", + ref : "", + parent : "", + type : "", + elementType : "" + + } + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/nfcommon.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/nfcommon.xslt new file mode 100644 index 00000000..16759432 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/nfcommon.xslt @@ -0,0 +1,98 @@ + + + + + + + + + + diff --git a/buildscripts/jGrouseDoc/skins/noframes/xslt/startup.xslt b/buildscripts/jGrouseDoc/skins/noframes/xslt/startup.xslt new file mode 100644 index 00000000..f751561a --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/xslt/startup.xslt @@ -0,0 +1,99 @@ + + + + + + + + not_specified + + + + + + + + + Generated by jGrouseDoc + + + + + + + + + <xsl:value-of select="$projectName"/> + + +
    + +
    +
    + +
    +
    +
    + +
    +
    + +

    +
    + +

    + +

    +
    +
    +
    +
    +
    + + logical + +
    + + + + +
    + + + +
    -- cgit v1.2.3