diff options
51 files changed, 5845 insertions, 0 deletions
| diff --git a/.gitattributes b/.gitattributes index 4dc6438c..85c0e434 100644 --- a/.gitattributes +++ b/.gitattributes @@ -356,6 +356,56 @@ buildscripts/index/api_index.php -text  buildscripts/index/build.php -text  buildscripts/index/quickstart_index.php -text  buildscripts/index/search.php -text +buildscripts/jGrouseDoc/3rdparty/ant/LICENSE -text +buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.dom -text +buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.sax -text +buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.xerces -text +buildscripts/jGrouseDoc/3rdparty/ant/NOTICE -text +buildscripts/jGrouseDoc/3rdparty/velocity/LICENSE -text +buildscripts/jGrouseDoc/3rdparty/velocity/NOTICE -text +buildscripts/jGrouseDoc/README-prado.txt -text +buildscripts/jGrouseDoc/build.xml -text +buildscripts/jGrouseDoc/jgdoc.jar -text +buildscripts/jGrouseDoc/jgrousedoc.properties -text +buildscripts/jGrouseDoc/license.txt -text +buildscripts/jGrouseDoc/skins/common/css/jgdoc.css -text +buildscripts/jGrouseDoc/skins/common/css/jgindex.css -text +buildscripts/jGrouseDoc/skins/common/img/closed.gif -text +buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif -text +buildscripts/jGrouseDoc/skins/common/img/node.gif -text +buildscripts/jGrouseDoc/skins/common/img/open.gif -text +buildscripts/jGrouseDoc/skins/common/img/openLarge.gif -text +buildscripts/jGrouseDoc/skins/common/js/jgdoc.js -text +buildscripts/jGrouseDoc/skins/common/js/jgindex.js -text +buildscripts/jGrouseDoc/skins/common/js/navTree.js -text +buildscripts/jGrouseDoc/skins/common/vm/common.vm -text +buildscripts/jGrouseDoc/skins/common/xslt/common.xslt -text +buildscripts/jGrouseDoc/skins/noframes/css/jgdoc.css -text +buildscripts/jGrouseDoc/skins/noframes/img/logo.gif -text +buildscripts/jGrouseDoc/skins/noframes/js/jgdoc.js -text +buildscripts/jGrouseDoc/skins/noframes/js/navTree.js -text +buildscripts/jGrouseDoc/skins/noframes/vm/antgen.vm -text +buildscripts/jGrouseDoc/skins/noframes/vm/detail.vm -text +buildscripts/jGrouseDoc/skins/noframes/vm/jsindex.vm -text +buildscripts/jGrouseDoc/skins/noframes/vm/test.vm -text +buildscripts/jGrouseDoc/skins/noframes/xslt/antgen.xslt -text +buildscripts/jGrouseDoc/skins/noframes/xslt/detail.xslt -text +buildscripts/jGrouseDoc/skins/noframes/xslt/jgsearch.xslt -text +buildscripts/jGrouseDoc/skins/noframes/xslt/jsindex.xslt -text +buildscripts/jGrouseDoc/skins/noframes/xslt/nfcommon.xslt -text +buildscripts/jGrouseDoc/skins/noframes/xslt/startup.xslt -text +buildscripts/jGrouseDoc/themes/prado/build.xml -text +buildscripts/jGrouseDoc/themes/prado/css/theme.css -text +buildscripts/jGrouseDoc/themes/sample/build.xml -text +buildscripts/jGrouseDoc/themes/sample/css/theme.css -text +buildscripts/jGrouseDoc/themes/sample/img/closed.gif -text +buildscripts/jGrouseDoc/themes/sample/img/closedLarge.gif -text +buildscripts/jGrouseDoc/themes/sample/img/node.gif -text +buildscripts/jGrouseDoc/themes/sample/img/open.gif -text +buildscripts/jGrouseDoc/themes/sample/img/openLarge.gif -text +buildscripts/jGrouseDoc/themes/simple/build.xml -text +buildscripts/jGrouseDoc/themes/simple/css/theme.css -text +buildscripts/jGrouseDoc/velocity-dep-1.5.jar -text  buildscripts/phing/CREDITS -text  buildscripts/phing/LICENSE -text  buildscripts/phing/README -text diff --git a/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE new file mode 100644 index 00000000..f820d4bd --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE @@ -0,0 +1,203 @@ +/* + *                                 Apache License + *                           Version 2.0, January 2004 + *                        http://www.apache.org/licenses/ + * + *   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + * + *   1. Definitions. + * + *      "License" shall mean the terms and conditions for use, reproduction, + *      and distribution as defined by Sections 1 through 9 of this document. + * + *      "Licensor" shall mean the copyright owner or entity authorized by + *      the copyright owner that is granting the License. + * + *      "Legal Entity" shall mean the union of the acting entity and all + *      other entities that control, are controlled by, or are under common + *      control with that entity. For the purposes of this definition, + *      "control" means (i) the power, direct or indirect, to cause the + *      direction or management of such entity, whether by contract or + *      otherwise, or (ii) ownership of fifty percent (50%) or more of the + *      outstanding shares, or (iii) beneficial ownership of such entity. + * + *      "You" (or "Your") shall mean an individual or Legal Entity + *      exercising permissions granted by this License. + * + *      "Source" form shall mean the preferred form for making modifications, + *      including but not limited to software source code, documentation + *      source, and configuration files. + * + *      "Object" form shall mean any form resulting from mechanical + *      transformation or translation of a Source form, including but + *      not limited to compiled object code, generated documentation, + *      and conversions to other media types. + * + *      "Work" shall mean the work of authorship, whether in Source or + *      Object form, made available under the License, as indicated by a + *      copyright notice that is included in or attached to the work + *      (an example is provided in the Appendix below). + * + *      "Derivative Works" shall mean any work, whether in Source or Object + *      form, that is based on (or derived from) the Work and for which the + *      editorial revisions, annotations, elaborations, or other modifications + *      represent, as a whole, an original work of authorship. For the purposes + *      of this License, Derivative Works shall not include works that remain + *      separable from, or merely link (or bind by name) to the interfaces of, + *      the Work and Derivative Works thereof. + * + *      "Contribution" shall mean any work of authorship, including + *      the original version of the Work and any modifications or additions + *      to that Work or Derivative Works thereof, that is intentionally + *      submitted to Licensor for inclusion in the Work by the copyright owner + *      or by an individual or Legal Entity authorized to submit on behalf of + *      the copyright owner. For the purposes of this definition, "submitted" + *      means any form of electronic, verbal, or written communication sent + *      to the Licensor or its representatives, including but not limited to + *      communication on electronic mailing lists, source code control systems, + *      and issue tracking systems that are managed by, or on behalf of, the + *      Licensor for the purpose of discussing and improving the Work, but + *      excluding communication that is conspicuously marked or otherwise + *      designated in writing by the copyright owner as "Not a Contribution." + * + *      "Contributor" shall mean Licensor and any individual or Legal Entity + *      on behalf of whom a Contribution has been received by Licensor and + *      subsequently incorporated within the Work. + * + *   2. Grant of Copyright License. Subject to the terms and conditions of + *      this License, each Contributor hereby grants to You a perpetual, + *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable + *      copyright license to reproduce, prepare Derivative Works of, + *      publicly display, publicly perform, sublicense, and distribute the + *      Work and such Derivative Works in Source or Object form. + * + *   3. Grant of Patent License. Subject to the terms and conditions of + *      this License, each Contributor hereby grants to You a perpetual, + *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable + *      (except as stated in this section) patent license to make, have made, + *      use, offer to sell, sell, import, and otherwise transfer the Work, + *      where such license applies only to those patent claims licensable + *      by such Contributor that are necessarily infringed by their + *      Contribution(s) alone or by combination of their Contribution(s) + *      with the Work to which such Contribution(s) was submitted. If You + *      institute patent litigation against any entity (including a + *      cross-claim or counterclaim in a lawsuit) alleging that the Work + *      or a Contribution incorporated within the Work constitutes direct + *      or contributory patent infringement, then any patent licenses + *      granted to You under this License for that Work shall terminate + *      as of the date such litigation is filed. + * + *   4. Redistribution. You may reproduce and distribute copies of the + *      Work or Derivative Works thereof in any medium, with or without + *      modifications, and in Source or Object form, provided that You + *      meet the following conditions: + * + *      (a) You must give any other recipients of the Work or + *          Derivative Works a copy of this License; and + * + *      (b) You must cause any modified files to carry prominent notices + *          stating that You changed the files; and + * + *      (c) You must retain, in the Source form of any Derivative Works + *          that You distribute, all copyright, patent, trademark, and + *          attribution notices from the Source form of the Work, + *          excluding those notices that do not pertain to any part of + *          the Derivative Works; and + * + *      (d) If the Work includes a "NOTICE" text file as part of its + *          distribution, then any Derivative Works that You distribute must + *          include a readable copy of the attribution notices contained + *          within such NOTICE file, excluding those notices that do not + *          pertain to any part of the Derivative Works, in at least one + *          of the following places: within a NOTICE text file distributed + *          as part of the Derivative Works; within the Source form or + *          documentation, if provided along with the Derivative Works; or, + *          within a display generated by the Derivative Works, if and + *          wherever such third-party notices normally appear. The contents + *          of the NOTICE file are for informational purposes only and + *          do not modify the License. You may add Your own attribution + *          notices within Derivative Works that You distribute, alongside + *          or as an addendum to the NOTICE text from the Work, provided + *          that such additional attribution notices cannot be construed + *          as modifying the License. + * + *      You may add Your own copyright statement to Your modifications and + *      may provide additional or different license terms and conditions + *      for use, reproduction, or distribution of Your modifications, or + *      for any such Derivative Works as a whole, provided Your use, + *      reproduction, and distribution of the Work otherwise complies with + *      the conditions stated in this License. + * + *   5. Submission of Contributions. Unless You explicitly state otherwise, + *      any Contribution intentionally submitted for inclusion in the Work + *      by You to the Licensor shall be under the terms and conditions of + *      this License, without any additional terms or conditions. + *      Notwithstanding the above, nothing herein shall supersede or modify + *      the terms of any separate license agreement you may have executed + *      with Licensor regarding such Contributions. + * + *   6. Trademarks. This License does not grant permission to use the trade + *      names, trademarks, service marks, or product names of the Licensor, + *      except as required for reasonable and customary use in describing the + *      origin of the Work and reproducing the content of the NOTICE file. + * + *   7. Disclaimer of Warranty. Unless required by applicable law or + *      agreed to in writing, Licensor provides the Work (and each + *      Contributor provides its Contributions) on an "AS IS" BASIS, + *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + *      implied, including, without limitation, any warranties or conditions + *      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + *      PARTICULAR PURPOSE. You are solely responsible for determining the + *      appropriateness of using or redistributing the Work and assume any + *      risks associated with Your exercise of permissions under this License. + * + *   8. Limitation of Liability. In no event and under no legal theory, + *      whether in tort (including negligence), contract, or otherwise, + *      unless required by applicable law (such as deliberate and grossly + *      negligent acts) or agreed to in writing, shall any Contributor be + *      liable to You for damages, including any direct, indirect, special, + *      incidental, or consequential damages of any character arising as a + *      result of this License or out of the use or inability to use the + *      Work (including but not limited to damages for loss of goodwill, + *      work stoppage, computer failure or malfunction, or any and all + *      other commercial damages or losses), even if such Contributor + *      has been advised of the possibility of such damages. + * + *   9. Accepting Warranty or Additional Liability. While redistributing + *      the Work or Derivative Works thereof, You may choose to offer, + *      and charge a fee for, acceptance of support, warranty, indemnity, + *      or other liability obligations and/or rights consistent with this + *      License. However, in accepting such obligations, You may act only + *      on Your own behalf and on Your sole responsibility, not on behalf + *      of any other Contributor, and only if You agree to indemnify, + *      defend, and hold each Contributor harmless for any liability + *      incurred by, or claims asserted against, such Contributor by reason + *      of your accepting any such warranty or additional liability. + * + *   END OF TERMS AND CONDITIONS + * + *   APPENDIX: How to apply the Apache License to your work. + * + *      To apply the Apache License to your work, attach the following + *      boilerplate notice, with the fields enclosed by brackets "[]" + *      replaced with your own identifying information. (Don't include + *      the brackets!)  The text should be enclosed in the appropriate + *      comment syntax for the file format. We also recommend that a + *      file or class name and description of purpose be included on the + *      same "printed page" as the copyright notice for easier + *      identification within third-party archives. + * + *   Copyright [yyyy] [name of copyright owner] + * + *   Licensed under the Apache License, Version 2.0 (the "License"); + *   you may not use this file except in compliance with the License. + *   You may obtain a copy of the License at + * + *       http://www.apache.org/licenses/LICENSE-2.0 + * + *   Unless required by applicable law or agreed to in writing, software + *   distributed under the License is distributed on an "AS IS" BASIS, + *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + *   See the License for the specific language governing permissions and + *   limitations under the License. + */ diff --git a/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.dom b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.dom new file mode 100644 index 00000000..05013f19 --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.dom @@ -0,0 +1,71 @@ +This license came from: +http://www.w3.org/Consortium/Legal/copyright-software-19980720 + + +W3C® SOFTWARE NOTICE AND LICENSE +Copyright © 1994-2001 World +Wide Web Consortium, <a href="http://www.w3.org/">World +Wide Web Consortium</a>, (<a href= +"http://www.lcs.mit.edu/">Massachusetts Institute of +Technology</a>, <a href="http://www.inria.fr/">Institut National de +Recherche en Informatique et en Automatique</a>, <a href= +"http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved. +http://www.w3.org/Consortium/Legal/ + +This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions: +Permission to use, copy, modify, and distribute this software +and its documentation, with or without modification,  for any +purpose and without fee or royalty is hereby granted, provided that +you include the following on ALL copies of the software and +documentation or portions thereof, including modifications, that +you make: + +The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work. + +Any pre-existing intellectual property disclaimers, notices, or +terms and conditions. If none exist, a short notice of the +following form (hypertext is preferred, text is permitted) should +be used within the body of any redistributed or derivative code: +"Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. +http://www.w3.org/Consortium/Legal/" + +Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide  +URIs to the location from which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders. +____________________________________ +This formulation of W3C's notice and license became active on +August 14 1998 so as to improve compatibility with GPL. This +version ensures that W3C software licensing terms are no more +restrictive than GPL and consequently W3C software may be +distributed in GPL packages. See the older formulation for the +policy prior to this date. Please see our Copyright FAQ for common  +questions about using materials from +our site, including specific terms and conditions for packages like +libwww, Amaya, and Jigsaw.  +Other questions about this notice can be +directed to site-policy@w3.org. + +webmaster diff --git a/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.sax b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.sax new file mode 100644 index 00000000..006c924b --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.sax @@ -0,0 +1,20 @@ +This license came from: http://www.megginson.com/SAX/copying.html +  However please note future versions of SAX may be covered  +  under http://saxproject.org/?selected=pd + + +This page is now out of date -- see the new SAX site at  +http://www.saxproject.org/ for more up-to-date +releases and other information. Please change your bookmarks. + + +SAX2 is Free! + +I hereby abandon any property rights to SAX 2.0 (the Simple API for +XML), and release all of the SAX 2.0 source code, compiled code, and +documentation contained in this distribution into the Public Domain. +SAX comes with NO WARRANTY or guarantee of fitness for any +purpose. + +David Megginson, david@megginson.com +2000-05-05
\ No newline at end of file diff --git a/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.xerces b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.xerces new file mode 100644 index 00000000..70cb54a0 --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/ant/LICENSE.xerces @@ -0,0 +1,56 @@ +/* + * The Apache Software License, Version 1.1 + * + * + * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights  + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer.  + * + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in + *    the documentation and/or other materials provided with the + *    distribution. + * + * 3. The end-user documentation included with the redistribution, + *    if any, must include the following acknowledgment:   + *       "This product includes software developed by the + *        Apache Software Foundation (http://www.apache.org/)." + *    Alternately, this acknowledgment may appear in the software itself, + *    if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Xerces" and "Apache Software Foundation" must + *    not be used to endorse or promote products derived from this + *    software without prior written permission. For written  + *    permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + *    nor may "Apache" appear in their name, without prior written + *    permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation and was + * originally based on software copyright (c) 1999, International + * Business Machines, Inc., http://www.ibm.com.  For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + */ diff --git a/buildscripts/jGrouseDoc/3rdparty/ant/NOTICE b/buildscripts/jGrouseDoc/3rdparty/ant/NOTICE new file mode 100644 index 00000000..5ef72b96 --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/ant/NOTICE @@ -0,0 +1,20 @@ +   ========================================================================= +   ==  NOTICE file corresponding to the section 4 d of                    == +   ==  the Apache License, Version 2.0,                                   == +   ==  in this case for the Apache Ant distribution.                      == +   ========================================================================= + +   Apache Ant +   Copyright 1999-2006 The Apache Software Foundation + +   This product includes software developed by +   The Apache Software Foundation (http://www.apache.org/). + +   This product includes also software developed by : +     - the W3C consortium (http://www.w3c.org) , +     - the SAX project (http://www.saxproject.org) + +   The <sync> task is based on code Copyright (c) 2002, Landmark +   Graphics Corp that has been kindly donated to the Apache Software +   Foundation. + diff --git a/buildscripts/jGrouseDoc/3rdparty/velocity/LICENSE b/buildscripts/jGrouseDoc/3rdparty/velocity/LICENSE new file mode 100644 index 00000000..75b52484 --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/velocity/LICENSE @@ -0,0 +1,202 @@ +
 +                                 Apache License
 +                           Version 2.0, January 2004
 +                        http://www.apache.org/licenses/
 +
 +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 +
 +   1. Definitions.
 +
 +      "License" shall mean the terms and conditions for use, reproduction,
 +      and distribution as defined by Sections 1 through 9 of this document.
 +
 +      "Licensor" shall mean the copyright owner or entity authorized by
 +      the copyright owner that is granting the License.
 +
 +      "Legal Entity" shall mean the union of the acting entity and all
 +      other entities that control, are controlled by, or are under common
 +      control with that entity. For the purposes of this definition,
 +      "control" means (i) the power, direct or indirect, to cause the
 +      direction or management of such entity, whether by contract or
 +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 +      outstanding shares, or (iii) beneficial ownership of such entity.
 +
 +      "You" (or "Your") shall mean an individual or Legal Entity
 +      exercising permissions granted by this License.
 +
 +      "Source" form shall mean the preferred form for making modifications,
 +      including but not limited to software source code, documentation
 +      source, and configuration files.
 +
 +      "Object" form shall mean any form resulting from mechanical
 +      transformation or translation of a Source form, including but
 +      not limited to compiled object code, generated documentation,
 +      and conversions to other media types.
 +
 +      "Work" shall mean the work of authorship, whether in Source or
 +      Object form, made available under the License, as indicated by a
 +      copyright notice that is included in or attached to the work
 +      (an example is provided in the Appendix below).
 +
 +      "Derivative Works" shall mean any work, whether in Source or Object
 +      form, that is based on (or derived from) the Work and for which the
 +      editorial revisions, annotations, elaborations, or other modifications
 +      represent, as a whole, an original work of authorship. For the purposes
 +      of this License, Derivative Works shall not include works that remain
 +      separable from, or merely link (or bind by name) to the interfaces of,
 +      the Work and Derivative Works thereof.
 +
 +      "Contribution" shall mean any work of authorship, including
 +      the original version of the Work and any modifications or additions
 +      to that Work or Derivative Works thereof, that is intentionally
 +      submitted to Licensor for inclusion in the Work by the copyright owner
 +      or by an individual or Legal Entity authorized to submit on behalf of
 +      the copyright owner. For the purposes of this definition, "submitted"
 +      means any form of electronic, verbal, or written communication sent
 +      to the Licensor or its representatives, including but not limited to
 +      communication on electronic mailing lists, source code control systems,
 +      and issue tracking systems that are managed by, or on behalf of, the
 +      Licensor for the purpose of discussing and improving the Work, but
 +      excluding communication that is conspicuously marked or otherwise
 +      designated in writing by the copyright owner as "Not a Contribution."
 +
 +      "Contributor" shall mean Licensor and any individual or Legal Entity
 +      on behalf of whom a Contribution has been received by Licensor and
 +      subsequently incorporated within the Work.
 +
 +   2. Grant of Copyright License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      copyright license to reproduce, prepare Derivative Works of,
 +      publicly display, publicly perform, sublicense, and distribute the
 +      Work and such Derivative Works in Source or Object form.
 +
 +   3. Grant of Patent License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      (except as stated in this section) patent license to make, have made,
 +      use, offer to sell, sell, import, and otherwise transfer the Work,
 +      where such license applies only to those patent claims licensable
 +      by such Contributor that are necessarily infringed by their
 +      Contribution(s) alone or by combination of their Contribution(s)
 +      with the Work to which such Contribution(s) was submitted. If You
 +      institute patent litigation against any entity (including a
 +      cross-claim or counterclaim in a lawsuit) alleging that the Work
 +      or a Contribution incorporated within the Work constitutes direct
 +      or contributory patent infringement, then any patent licenses
 +      granted to You under this License for that Work shall terminate
 +      as of the date such litigation is filed.
 +
 +   4. Redistribution. You may reproduce and distribute copies of the
 +      Work or Derivative Works thereof in any medium, with or without
 +      modifications, and in Source or Object form, provided that You
 +      meet the following conditions:
 +
 +      (a) You must give any other recipients of the Work or
 +          Derivative Works a copy of this License; and
 +
 +      (b) You must cause any modified files to carry prominent notices
 +          stating that You changed the files; and
 +
 +      (c) You must retain, in the Source form of any Derivative Works
 +          that You distribute, all copyright, patent, trademark, and
 +          attribution notices from the Source form of the Work,
 +          excluding those notices that do not pertain to any part of
 +          the Derivative Works; and
 +
 +      (d) If the Work includes a "NOTICE" text file as part of its
 +          distribution, then any Derivative Works that You distribute must
 +          include a readable copy of the attribution notices contained
 +          within such NOTICE file, excluding those notices that do not
 +          pertain to any part of the Derivative Works, in at least one
 +          of the following places: within a NOTICE text file distributed
 +          as part of the Derivative Works; within the Source form or
 +          documentation, if provided along with the Derivative Works; or,
 +          within a display generated by the Derivative Works, if and
 +          wherever such third-party notices normally appear. The contents
 +          of the NOTICE file are for informational purposes only and
 +          do not modify the License. You may add Your own attribution
 +          notices within Derivative Works that You distribute, alongside
 +          or as an addendum to the NOTICE text from the Work, provided
 +          that such additional attribution notices cannot be construed
 +          as modifying the License.
 +
 +      You may add Your own copyright statement to Your modifications and
 +      may provide additional or different license terms and conditions
 +      for use, reproduction, or distribution of Your modifications, or
 +      for any such Derivative Works as a whole, provided Your use,
 +      reproduction, and distribution of the Work otherwise complies with
 +      the conditions stated in this License.
 +
 +   5. Submission of Contributions. Unless You explicitly state otherwise,
 +      any Contribution intentionally submitted for inclusion in the Work
 +      by You to the Licensor shall be under the terms and conditions of
 +      this License, without any additional terms or conditions.
 +      Notwithstanding the above, nothing herein shall supersede or modify
 +      the terms of any separate license agreement you may have executed
 +      with Licensor regarding such Contributions.
 +
 +   6. Trademarks. This License does not grant permission to use the trade
 +      names, trademarks, service marks, or product names of the Licensor,
 +      except as required for reasonable and customary use in describing the
 +      origin of the Work and reproducing the content of the NOTICE file.
 +
 +   7. Disclaimer of Warranty. Unless required by applicable law or
 +      agreed to in writing, Licensor provides the Work (and each
 +      Contributor provides its Contributions) on an "AS IS" BASIS,
 +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 +      implied, including, without limitation, any warranties or conditions
 +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 +      PARTICULAR PURPOSE. You are solely responsible for determining the
 +      appropriateness of using or redistributing the Work and assume any
 +      risks associated with Your exercise of permissions under this License.
 +
 +   8. Limitation of Liability. In no event and under no legal theory,
 +      whether in tort (including negligence), contract, or otherwise,
 +      unless required by applicable law (such as deliberate and grossly
 +      negligent acts) or agreed to in writing, shall any Contributor be
 +      liable to You for damages, including any direct, indirect, special,
 +      incidental, or consequential damages of any character arising as a
 +      result of this License or out of the use or inability to use the
 +      Work (including but not limited to damages for loss of goodwill,
 +      work stoppage, computer failure or malfunction, or any and all
 +      other commercial damages or losses), even if such Contributor
 +      has been advised of the possibility of such damages.
 +
 +   9. Accepting Warranty or Additional Liability. While redistributing
 +      the Work or Derivative Works thereof, You may choose to offer,
 +      and charge a fee for, acceptance of support, warranty, indemnity,
 +      or other liability obligations and/or rights consistent with this
 +      License. However, in accepting such obligations, You may act only
 +      on Your own behalf and on Your sole responsibility, not on behalf
 +      of any other Contributor, and only if You agree to indemnify,
 +      defend, and hold each Contributor harmless for any liability
 +      incurred by, or claims asserted against, such Contributor by reason
 +      of your accepting any such warranty or additional liability.
 +
 +   END OF TERMS AND CONDITIONS
 +
 +   APPENDIX: How to apply the Apache License to your work.
 +
 +      To apply the Apache License to your work, attach the following
 +      boilerplate notice, with the fields enclosed by brackets "[]"
 +      replaced with your own identifying information. (Don't include
 +      the brackets!)  The text should be enclosed in the appropriate
 +      comment syntax for the file format. We also recommend that a
 +      file or class name and description of purpose be included on the
 +      same "printed page" as the copyright notice for easier
 +      identification within third-party archives.
 +
 +   Copyright [yyyy] [name of copyright owner]
 +
 +   Licensed under the Apache License, Version 2.0 (the "License");
 +   you may not use this file except in compliance with the License.
 +   You may obtain a copy of the License at
 +
 +       http://www.apache.org/licenses/LICENSE-2.0
 +
 +   Unless required by applicable law or agreed to in writing, software
 +   distributed under the License is distributed on an "AS IS" BASIS,
 +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +   See the License for the specific language governing permissions and
 +   limitations under the License.
 diff --git a/buildscripts/jGrouseDoc/3rdparty/velocity/NOTICE b/buildscripts/jGrouseDoc/3rdparty/velocity/NOTICE new file mode 100644 index 00000000..c016d50c --- /dev/null +++ b/buildscripts/jGrouseDoc/3rdparty/velocity/NOTICE @@ -0,0 +1,7 @@ +Apache Velocity + +Copyright (C) 2000-2007 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + diff --git a/buildscripts/jGrouseDoc/README-prado.txt b/buildscripts/jGrouseDoc/README-prado.txt new file mode 100644 index 00000000..2f28a686 --- /dev/null +++ b/buildscripts/jGrouseDoc/README-prado.txt @@ -0,0 +1,6 @@ +To keep the footprint as small as possible we've removed 
 +the /samples directory and some unused skins and themes
 +from /skins and /themes.
 +
 +If you need these examples please got to 
 +http://code.google.com/p/jgrousedoc/.
\ No newline at end of file diff --git a/buildscripts/jGrouseDoc/build.xml b/buildscripts/jGrouseDoc/build.xml new file mode 100644 index 00000000..61848820 --- /dev/null +++ b/buildscripts/jGrouseDoc/build.xml @@ -0,0 +1,178 @@ +<?xml version="1.0"?>
 +    <!-- 
 +        jGrouseDoc Sample build file. 
 +        @Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +        $Id: build.xml 522 2008-03-31 23:34:36Z denis.riabtchik $
 +    -->
 +
 +<project name="jGrouseDoc Sample" basedir="." default="default" >
 +    <description>
 +            jGrouse sample file
 +    </description>
 +    <!--
 +    <taskdef name="jgdoc" classname="jgrouse.jgdoc.ant.JGTask" classpath="${jGrouseHome}/jgdoc.jar"></taskdef>
 +    <taskdef name="fastxslt" classname="jgrouse.jgdoc.ant.FastXsltTask" classpath="${jGrouseHome}/jgdoc.jar"></taskdef>
 +    -->
 +
 +    <!-- ================================= 
 +          target: default              
 +         ================================= -->
 +    <target name="default" description="jGrouseDoc task" depends="setup, clean, makeProjectFile, antgen, antrun, cleanupTempFiles">
 +    </target>
 +    
 +    <target name="makeProjectFile" description="Extract comments from source code" depends="setup">
 +        <mkdir dir="${outputDir}"/>
 +        <jgdoc output="${outputDir}/${projectFile}" encoding="${encoding}" stopOnErrors="${stopOnErrors}" 
 +        	suppressGlobalWarnings="${suppressGlobalWarnings}" outputformat="${outputFormat}" srcUrl="${srcUrl}"
 +        	privateprefix="${privatePrefix}">
 +            <fileset dir="${inputDir}" includes="${fileMask}">
 +            </fileset>
 +        </jgdoc>      
 +    </target>
 +    
 +	<target name="antgen" depends="antgenxml, antgenvm"></target>
 +    
 +    <target name="antgenxml" depends="setup" if="isXML">
 +        <delete file="${outputDir}/antgen.xml"/>
 +        <xslt style="${jGrouseHome}/skins/${skin}/xslt/antgen.xslt" in="${outputDir}/${projectFile}" out="${outputDir}/antgen.xml">             
 +            <param name="jGrouseHome" expression="${jGrouseHome}"/>
 +            <param name="projectName" expression="${projectName}"/>
 +            <param name="projectDesc" expression="${projectDesc}"/>
 +            <param name="projectFile" expression="${projectFile}"/>
 +            <param name="useFullNames" expression="${useFullNames}"/>
 +            <param name="outDir" expression="${outputDir}"/>
 +            <param name="version" expression="${appVersion}"/>
 +            <param name="aux_css" expression="${aux_css}"/>
 +            <param name="skinDir" expression="${jGrouseHome}/skins/${skin}"/>
 +        </xslt>
 +    </target>
 +	
 +	<target name="antgenvm" depends="setup" if="isBIN">
 +        <delete file="${outputDir}/antgen.xml"/>
 +        <vmtask resourcePath="., ${jGrouseHome}" source="${outputDir}/${projectFile}" loglevel="INFO">
 +            <template templatename="skins/${skin}/vm/antgen.vm">
 +                <output file="${outputDir}/antgen.xml">
 +                    <param key="jGrouseHome" value="${jGrouseHome}"/>
 +                    <param key="projectName" value="${projectName}"/>
 +                    <param key="projectDesc" value="${projectDesc}"/>
 +                    <param key="projectFile" value="${projectFile}"/>
 +                    <param key="useFullNames" value="${useFullNames}"/>
 +                    <param key="outDir" value="${outputDir}"/>
 +                    <param key="version" value="${appVersion}"/>
 +                    <param key="aux_css" value="${aux_css}"/>
 +                    <param key="skin" value="${skin}"/>
 +                    <param key="skinDir" value="${jGrouseHome}/skins/${skin}"/>
 +                    <param key="commonSkin" value="${jGrouseHome}/skins/common"/>
 +                </output>
 +            </template>
 +        </vmtask>
 +	</target>
 +    
 +    <target name="antrun" depends="setup">
 +        <ant antfile="${outputDir}/antgen.xml"></ant>
 +        <ant antfile="${jGrouseHome}/themes/${theme}/build.xml"></ant>
 +    </target>
 +    
 +    <target name="cleanupTempFiles" depends="setup">
 +        <delete file="${outputDir}/antgen.xml"/>
 +        <delete file="${outputDir}/${projectFile}"/>
 +    </target>
 +    
 +    <target name="clean" depends="setup">
 +          <delete dir="${outputDir}"></delete>
 +    </target>
 +    
 +    <target name="setup">
 +        <condition property="configFile" value="jgrousedoc.properties">
 +            <not><isset property="configFile"/></not>
 +        </condition>
 +        <property file="${configFile}"/>
 +        <fail message="jGrouseHome home not defined">
 +            <condition>
 +               <and>
 +                 <not><isset property="jGrouseHome"/></not>
 +                 <not><isset property="jGrouseHome.default"/></not>
 +               </and>
 +             </condition>
 +        </fail>
 +        <condition property="jGrouseHome" value="${jGrouseHome.default}">
 +            <not><isset property="jGrouseHome"/></not>
 +        </condition>
 +        <condition property="jgdocTask" value="${jGrouseHome}/jgdoc.jar">
 +            <not><isset property="jgdocTask"/></not>
 +        </condition>
 +        <taskdef name="jgdoc" classname="jgrouse.jgdoc.ant.JGTask" classpath="${jgdocTask}"></taskdef>
 +        <taskdef name="fastxslt" classname="jgrouse.jgdoc.ant.FastXsltTask" classpath="${jgdocTask}"></taskdef>
 +        
 +        <condition property="inputDir" value="${inputDir.default}">
 +            <isset property="inputDir.default"/>
 +        </condition>
 +        <condition property="inputDir" value="source">
 +            <not><isset property="inputDir"/></not>
 +        </condition>
 +        <condition property="fileMask" value="${fileMask.default}">
 +            <isset property="fileMask.default"/>
 +        </condition>
 +        <condition property="fileMask" value="**/*.js">
 +              <not><isset property="fileMask"/></not>
 +        </condition>
 +        
 +        <condition property="outputDir" value="${outputDir.default}">
 +            <isset property="outputDir.default"/>
 +        </condition>
 +        <condition property="outputDir" value="api">
 +              <not><isset property="outputDir"/></not>
 +        </condition>
 +        
 +        <condition property="skin" value="noframes">
 +              <not><isset property="skin"/></not>
 +        </condition>
 +        <condition property="theme" value="sample">
 +              <not><isset property="theme"/></not>
 +        </condition>
 +        <condition property="projectFile" value="jgrouse.jgd">
 +            <not><isset property="projectFile"/></not>
 +        </condition>
 +        <condition property="projectName" value="Project name not specified">
 +            <not><isset property="projectName"/></not>
 +        </condition>
 +        <condition property="appVersion" value="Version not specified">
 +            <not><isset property="appVersion"/></not>
 +        </condition>
 +        <condition property="projectDesc" value="Project Description not specified">
 +            <not><isset property="projectDesc"/></not>
 +        </condition>
 +        <condition property="stopOnErrors" value="false">
 +            <not><isset property="stopOnErrors"/></not>
 +        </condition>
 +        <condition property="srcUrl" value="not_defined">
 +            <not><isset property="srcUrl"/></not>
 +        </condition>
 +        <condition property="privatePrefix" value="not_defined">
 +            <not><isset property="privatePrefix"/></not>
 +        </condition>
 +        <condition property="outputFormat" value="BIN">
 +            <not><isset property="outputFormat"/></not>
 +        </condition>
 +    	<condition property="isXML">
 +    		<equals arg1="${outputFormat}" arg2="xml" casesensitive="false" trim="true"/>
 +    	</condition>
 +        <condition property="isBIN">
 +            <equals arg1="${outputFormat}" arg2="bin" casesensitive="false" trim="true"/>
 +        </condition>
 +        <condition property="encoding" value="UTF-8">
 +            <not><isset property="encoding"/></not>
 +        </condition>
 +        <condition property="srcEncoding" value="DEFAULT">
 +	            <not><isset property="srcEncoding"/></not>
 +        </condition>
 +        <condition property="aux_css" value="not_specified">
 +	            <not><isset property="aux_css"/></not>
 +        </condition>
 +    	
 +    	
 +        <taskdef name="vmtask" classname="jgrouse.jgdoc.ant.VMTask" classpath="${jgdocTask};${jGrouseHome}/velocity-dep-1.5.jar"></taskdef>
 +    </target>
 +        
 +
 +</project>
 diff --git a/buildscripts/jGrouseDoc/jgdoc.jar b/buildscripts/jGrouseDoc/jgdoc.jarBinary files differ new file mode 100644 index 00000000..f1665846 --- /dev/null +++ b/buildscripts/jGrouseDoc/jgdoc.jar diff --git a/buildscripts/jGrouseDoc/jgrousedoc.properties b/buildscripts/jGrouseDoc/jgrousedoc.properties new file mode 100644 index 00000000..ba3a0818 --- /dev/null +++ b/buildscripts/jGrouseDoc/jgrousedoc.properties @@ -0,0 +1,17 @@ +#set jGrouseHome - location of jGrouseDoc distribution
 +#jGrouseHome.default=buildscripts/jGrouseDoc
 +jGrouseHome.default=.
 +#set the location of your source files
 +inputDir.default=../../framework/Web/Javascripts/source/prado
 +#Set mask for input files
 +#fileMask.default=**/scriptaculous-adapter.js
 +fileMask.default=**/*.js
 +#set output directory
 +outputDir.default=../../docs/jsapi
 +#set project information
 +projectName=Prado 
 +projectDesc=v3.1.2 Javascript API Manual
 +appVersion=3.1.2
 +theme=prado
 +########### for additional information regarding configuration parameters
 +########### see http://code.google.com/p/jgrousedoc/wiki/AdvancedConfiguration
\ No newline at end of file diff --git a/buildscripts/jGrouseDoc/license.txt b/buildscripts/jGrouseDoc/license.txt new file mode 100644 index 00000000..ca9e7124 --- /dev/null +++ b/buildscripts/jGrouseDoc/license.txt @@ -0,0 +1,21 @@ +Copyright (c) 2007, Denis Riabtchik and jGrouseDoc contributors, as shown on http://code.google.com/p/jgrousedoc/
 +
 +All rights reserved.
 +
 +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
 +
 +    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 +    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 +    * Neither the names of jGrouse, jGrouseDoc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
 +
 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file 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.gifBinary files differ new file mode 100644 index 00000000..ab9701f2 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/img/closed.gif diff --git a/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif b/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gifBinary files differ new file mode 100644 index 00000000..97e3ab95 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/img/closedLarge.gif diff --git a/buildscripts/jGrouseDoc/skins/common/img/node.gif b/buildscripts/jGrouseDoc/skins/common/img/node.gifBinary files differ new file mode 100644 index 00000000..82362651 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/img/node.gif diff --git a/buildscripts/jGrouseDoc/skins/common/img/open.gif b/buildscripts/jGrouseDoc/skins/common/img/open.gifBinary files differ new file mode 100644 index 00000000..01286477 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/img/open.gif diff --git a/buildscripts/jGrouseDoc/skins/common/img/openLarge.gif b/buildscripts/jGrouseDoc/skins/common/img/openLarge.gifBinary files differ new file mode 100644 index 00000000..d4162470 --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/common/img/openLarge.gif 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('<br/>');
 +            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('<dl>');
 +
 +    // 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('<h3 class="letter_section"><a name="' + letter + '">' + letter + '</a></h3>');
 +      }
 +
 +      // Render the entry's HTML
 +      cn = cn.join(' ');
 +      h.push(
 +        '<dt title="' + entry.summary + '" class="' + cn + '">' +
 +          '<a href="' + entry.ref + '">' + ln + '</a>' +
 +        '</dt>' +
 +        '<dd class="' + cn + '">' +
 +          '<a href="' + srcLink + '">' + srcName + '</a>' +
 +        '</dd>'
 +      );
 +    }
 +    h.push('</dl>');
 +
 +    // 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] ?
 +        '<span class="has_entries"><a href="#' + letter + '">' + letter + '</a></span>' :
 +        '<span class="no_entries">' + letter + '</span>'
 +      );
 +    }
 +    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 = "<span class='node'><span class='markerSpace'> </span></span><a href='" + item.ref + "' target='classFrame' title='" + item.summary + "'>" + item.localName + "</a>";
 +            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)
 +<a href="#writeLink($section.resolvedPath)">$section.text</a>#else$section.text#end
 +#end    
 +#end
 +
 +#macro (writeType $type)
 +<span class="type">#writeContent($type)</span>
 +#end
 +
 +
 +
 +
 +#macro(genCommonAttrs $comment)
 +    #if($comment.author.size() > 0)
 +        <div class="authors">
 +            <span class="descSection">Authors:</span>
 +            #foreach($author in $comment.author)
 +                <div class="paddedDetails">#writeContent($author.content)</div>
 +            #end
 +        </div>      
 +    #end
 +    #if ($comment.see.size() > 0)
 +        <div class="seealso">
 +            <span class="descSection">See also:</span>
 +            #foreach($see in $comment.see)
 +                <div class="paddedDetails">#writeContent($see.content)</div>
 +            #end
 +        </div>      
 +    #end
 +    #if ($comment.version.size() > 0)
 +        <div class="version">
 +            <span class="descSection">Version:</span>
 +            #foreach($version in $comment.version)
 +                <div class="paddedDetails">#writeContent($version.content)</div>
 +            #end
 +        </div>      
 +    #end
 +    #if ($comment.timestamp.size() > 0)
 +        <div class="generated">
 +            <span class="descSection">Generated on:</span>
 +            <div class="paddedDetails">$jg.project.timestamp</div>
 +        </div>      
 +    #end
 +    #if ($comment.since.size() > 0)
 +        <div class="since">
 +            <span class="descSection">Since:</span>
 +            #foreach($since in $comment.since)
 +                <div class="paddedDetails">#writeContent($since.content)</div>
 +            #end
 +        </div>      
 +    #end
 +    #if ($comment.deprecated.size() > 0)
 +        <div class="deprecated">
 +            <span class="descSection">Deprecated:</span>
 +            #foreach($dep in $comment.deprecated)
 +                <div class="paddedDetails">#writeContent($dep.content)</div>
 +            #end
 +        </div>      
 +    #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)
 +        <a href="$obj.comment.srcUrl" class="srcUrlLink">view source</a>
 +    #end    
 +#end
 +
 +
 +#macro(writeParamOption $paramOption)
 +    <li>
 +        <code>
 +            #if($paramOption.hasModifier("optional"))[#end
 +            <span class="modifiers">$paramOption.strModifiers</span>
 +            #writeType($paramOption.typeLink)
 +            $paramOption.name
 +            #if($paramOption.hasModifier("optional"))]#end
 +        </code> 
 +        #writeContent($paramOption.content)
 +    </li>
 +#end
 +
 +
 +#macro(writeParam $param)
 +    <div class="param paddedDetails">
 +        <code>
 +            #if($param.hasModifier("optional"))[#end${param.name}#if($param.hasModifier("optional"))]#end
 +        </code>
 +        #writeContent($param.content)
 +        #if($param.children.size() > 0)
 +            <ul class="paramoption">
 +                #foreach($paramOption in $param.children)
 +                    #writeParamOption($paramOption)
 +                #end
 +            </ul>
 +        #end
 +    </div>   
 +#end
 +
 +
 +#macro(writePhysOwner $element)
 +    #if($element.hasSamePhysOwner)
 +        <span class="definedIn">Defined in </span>
 +        <a href="#writeLink($element.physOwner)">$element.physOwner.comment.name</a>
 +    #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)
 +    <h3>
 +        <a name="___$func.localName">
 +            <span class="objType">$memberType</span>
 +            <span class="objName">$func.localName</span>            
 +        </a> 
 +    </h3>
 +    #if ($funcItself.comment.paramSets.size() > 0)
 +        #foreach($paramSet in $funcItself.comment.paramSets)
 +            <div>
 +                <code>
 +                    <span class="modifiers">$funcModifiers</span>
 +                    #writeType($funcItself.comment.typeLink)
 +                    ${funcItself.localName}(#writeFunctionParams($paramSet))
 +                </code> 
 +            </div>          
 +        #end
 +    #else
 +            <div>
 +                <code>
 +                    <span class="modifiers">$funcModifiers</span>
 +                    #writeType($funcItself.comment.typeLink)
 +                    ${funcItself.localName}()
 +                </code>
 +            </div>    
 +    #end
 +    <div class="comment">
 +        #writeContent($funcItself.comment.content)
 +    </div>
 +    #if ($funcItself.comment.paramSets.size() > 0)
 +    	<div class="parameters">
 +        <span class="descSection">Parameters:</span><br/>
 +            #foreach($paramSet in $funcItself.comment.paramSets)
 +                <div>
 +                    <div class="paramset">#writeContent($paramSet.content)</div>
 +                    <div>
 +                    #foreach($param in $paramSet.params)
 +                        #writeParam($param)
 +                    #end
 +                    </div>
 +                </div>
 +            #end
 +        </div>
 +    #end
 +    #if($funcItself.comment.returnsTag )
 +    	<div class="returns">
 +	        <span class="descSection">Returns:</span><br/>
 +	        <div class="paddedDetails">
 +	            #set ($return = $funcItself.comment.returnsTag)
 +	            #writeContent($return.content)
 +	            #if($return.children.size() > 0)
 +	                <ul class="paramoption">
 +	                    #foreach($paramOption in $return.children)
 +	                        #writeParamOption($paramOption)
 +	                    #end
 +	                </ul>
 +	            #end
 +	        </div>
 +        </div>      
 +    #end
 +    #if($funcItself.comment.throws.size() > 0)
 +    	<div class="throws">
 +	        <span class="descSection">Throws:</span><br/>
 +	        #foreach($throws in $funcItself.comment.throws)
 +	                <div class="paddedDetails">#writeContent($throws.content)</div>
 +	        #end
 +        </div>
 +    #end
 +    #genCommonAttrs($funcItself.comment)
 +    #writePhysOwner($func)
 +    <hr/>       
 +#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)
 +    <h3>
 +        <a name="___$var.localName">
 +            <span class="objType">$var.commentType</span> <span class="modifiers">$varModifiers</span>
 +            #writeType($varItself.comment.typeLink) 
 +            <span class="objName">$var.localName</span>         
 +        </a>
 +    </h3>
 +    <div class="comment">
 +        #writeContent($varItself.comment.content)
 +    </div>    
 +    #genCommonAttrs($varItself.comment)
 +    #writePhysOwner($var)
 +    <hr />  
 +#end
 +
 +
 +
 +
 +#macro(writeLegacies $obj $memberType $memberName )
 +    #foreach($legacy in $obj.legacies)
 +        #if ($legacy.get($memberType).size() > 0)
 +            <div class="summaryTable">
 +                <div class="summaryTableHeader">
 +                   $memberName inherited from <a href="#writeLink($legacy.ancestor.fullName)">$legacy.ancestor.fullName</a> 
 +                </div>
 +                <div class="inheritanceSummary">
 +                    #foreach($item in $legacy.get($memberType))#if($velocityCount > 1), #end<a href="#writeLink($item.fullName)">$item.localName</a>#end
 +                </div>
 +             </div>
 +             <br/>          
 +        #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
 +    <div class="summaryItemDef">
 +        <span class="modifiers">$varModifiers</span>
 +        #writeType($variable.comment.typeLink)
 +        <a href="#writeLink($variable.fullName)"><span class="elementName">$variable.localName</span></a>
 +    </div> 
 +    <div class="summaryItemDesc">
 +        #writeContent($varItself.comment.summary)
 +    </div>  
 +#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)
 +            <div class="summaryItemDef">
 +                <span class="modifiers">$funcModifiers</span>
 +                #writeType($func.comment.typeLink)
 +                <a href="#writeLink($func.fullName)"><span class="elementName">$func.localName</span></a>
 +                (#writeFunctionParams($paramSet))
 +            </div>          
 +        #end
 +    #else
 +           <div class="summaryItemDef">
 +                <span class="modifiers">$funcModifiers</span>
 +                #writeType($func.comment.typeLink)
 +                <a href="#writeLink($func.fullName)"><span class="elementName">$func.localName</span></a>()
 +            </div>
 +    #end
 +    <div class="summaryItemDesc">
 +        #writeContent($funcItself.comment.summary)
 +    </div>  
 +#end
 +
 +
 +#macro(writeLogicalSummary $class)
 +    <div class="summaryItemDef">
 +        <span class="elementName">
 +            <a href="${rootPath}logical/${class.path}.html">$class.comment.name</a>
 +        </span>
 +    </div>
 +    <div class="summaryItemDesc">
 +        #writeContent($class.comment.summary)
 +    </div>
 +#end
 +
 +
 +#macro(writeSummary $coll $elemType $elemName)
 +    #if($coll.size() != 0)
 +        <div class="summaryTable $elemType">
 +            <div class="summaryTableHeader">
 +                <span class="objType">$elemName</span> Summary
 +            </div>
 +        #foreach($item in $coll)
 +            <div class="summaryItem">
 +                #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
 +            </div>
 +        #end
 +        </div>
 +        <p/>
 +    #end
 +#end
 +
 +
 +
 +#macro(writeDetails $object $elemType $memberName)
 +    #if ($object.get($elemType).size() > 0)
 +        <div class="details $elemType">
 +            <h2 class="sectionHeader">$memberName Details</h2>
 +            #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
 +        </div>
 +    #end
 +#end
 +
 +
 +
 +
 +
 +#macro(navigationPane $elementType)
 +<div class="navigation" id="navigation">
 +    <ul class="navContent#if($elementType != "logical") closed#end">
 +        <li>
 +            <div class="navTree">
 +                <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +                    <a href="javascript:jgdoc.NavPanel.dummy()">Navigation</a>
 +                </h2>
 +                <ul class="navContent2">
 +                    <li>
 +                        <div>
 +                            <a class="openAll" href="javascript:jgdoc.NavTree.onOpenAll()">Open All</a>
 +                            <a class="closeAll" href="javascript:jgdoc.NavTree.onCloseAll()">Close All</a>
 +                        </div>
 +                        <div>
 +                            <ul id = "content" class="contents">
 +                                Loading...
 +                            </ul>
 +                        </div>
 +                    </li>
 +                </ul>
 +            </div>
 +        </li>
 +    </ul>
 +    <ul class="navContent#if($elementType != "file") closed#end">
 +        <li>
 +            <div class="fileTree">
 +                <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +                    <a href="javascript:jgdoc.NavPanel.dummy()">Files</a>
 +                </h2>
 +                <ul class="navContent2">
 +                    <li>
 +                        #foreach($file in $jg.files)
 +                            #if(!$file.isModuleFile())
 +                            <div>
 +                                <a href="physical/${file.path}.html">$file.comment.name</a>
 +                            </div>                              
 +                            #end
 +                        #end
 +                    </li>
 +                </ul>
 +            </div>
 +        </li>       
 +    </ul>
 +    <ul class="navContent#if($elementType != "module") closed#end">
 +        <li>
 +            <div class="moduleTree">
 +                <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +                    <a href="javascript:jgdoc.NavPanel.dummy()">Modules</a>
 +                </h2>
 +                <ul class="navContent2">
 +                    <li>
 +                        #foreach($module in $jg.modules)
 +                            <div>
 +                                <a href="physical/${module.path}.html">$module.comment.name</a>
 +                            </div>                              
 +                        #end                        
 +                    </li>
 +                </ul>
 +            </div>
 +        </li>       
 +    </ul>
 +</div>  
 +    
 +#end
 +
 +#macro(writeCSS $rootPath $aux_path)
 +	<link rel="stylesheet" type="text/css" href="${rootPath}jgdoc.css"/>
 +	<link rel="stylesheet" type="text/css" href="${rootPath}theme.css"/>
 +	#if($aux_path && $aux_path != 'not_specified')
 +	<link rel="stylesheet" type="text/css" href="${rootPath}$aux_css"/>
 +	#end
 +#end
 +
 +#macro(navbarPhys $isStartup)
 +    <div class="navbar">
 +        <div class="navbaritem">
 +            #if ($isStartup == "yes")           
 +                <a href="$rootPath/overview-summary-log.html">Logical View</a>
 +            #else
 +                <a href="$rootPath/overview-summary.html">Start</a>
 +            #end
 +        </div>
 +        <div class="navbaritem">
 +        	<a href="$rootPath/jgindex.html">Index</a>
 +           </xsl:element>
 +        </div>
 +        <div class="navbaritem">
 +        	<a href="$rootPath/jgsearch.html">Search</a>
 +        </div>
 +    </div>	
 +#end
 +
 +#macro(navbarLog $isStartup)
 +    <div class="navbar">
 +        <div class="navbaritem">
 +            #if ($isStartup == "yes")        	
 +                <a href="$rootPath/overview-summary.html">Physical View</a>
 +            #else
 +                <a href="$rootPath/overview-summary-log.html">Start</a>
 +            #end
 +        </div>
 +        <div class="navbaritem">
 +            <a href="$rootPath/jgindex.html">Index</a>
 +           </xsl:element>
 +        </div>
 +        <div class="navbaritem">
 +            <a href="$rootPath/jgsearch.html">Search</a>
 +        </div>
 +    </div>
 +#end
 +
 +#macro(writeClassAttributes $obj)
 +#if($obj.comment.extends.size() > 0)
 +    <div class="extends">
 +        <span class="descSection">Extends </span>
 +        #foreach ($tagContent in $obj.comment.extends)
 +            #if($velocityCount > 1), #end #writeContent($tagContent.content)
 +        #end
 +    </div>                                      
 +#end
 +#if($obj.comment.implements.size() > 0)
 +    <div class="implements">
 +        <span class="descSection">Implements </span>
 +        #foreach ($tagContent in $obj.comment.implements)
 +            #if($velocityCount > 1), #end #writeContent($tagContent.content)
 +        #end
 +    </div>                                      
 +#end
 +
 +#if($obj.subClasses.size() > 0)
 +    <div class="subclasses">
 +        <div class="descSection">
 +            #if($obj.commentType == "class")Direct Known Subclasses:#{else}All Known Subinterfaces:#end
 +        </div>
 +        <div class="paddedDetails">
 +            #foreach($subclass in $obj.subClasses)#if($velocityCount > 1), #end<a href="#writeLink($subclass.fullName)">$subclass.fullName</a>#end
 +        </div>
 +    </div>                                      
 +#end
 +
 +#if($obj.implementors.size() > 0)
 +    <div>
 +        <div>
 +            All Known Implementing Classes:
 +        </div>
 +        <div>
 +            #foreach($subclass in $obj.implementors)#if($velocityCount > 1), #end<a href="#writeLink($subclass.fullName)">$subclass.fullName</a>#end
 +        </div>
 +    </div>                                      
 +#end	
 +#end
 +
 +#macro(writeModuleAttributes $obj)
 +#if ($obj.comment.requires.size() > 0)
 +    <div class="requires">
 +        <span class="descSection">Requires modules: </span>
 +        #foreach($tagContent in $obj.comment.requires)
 +        	#if($velocityCount > 1), #end #writeContent($tagContent.content)
 +        #end
 +    </div>
 +#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)
 +    <a href="$obj.comment.srcUrl" class="srcUrlLink">view source</a>
 +    #end<H2>
 +        <span class="objType">$obj.capCommentType</span> $obj.comment.name
 +    </H2>
 +    #writeClassAttributes($obj)
 +    <hr/>
 +    <!-- description -->
 +    <div>
 +       <code>
 +            <span class="modifiers">$obj.comment.modifiers</span>
 +            <span class="objType">$obj.commentType</span> 
 +            <b>$obj.comment.name</b>
 +       </code>
 +    </div>
 +    #writeModuleAttributes($obj)
 +    #if($obj.comment.content)
 +        <div class="comment">#writeContent($obj.comment.content)</div>
 +    #end
 +    #genCommonAttrs($obj.comment)
 +    #if ($obj.physOwner)
 +        <span class="definedIn">Defined in </span>
 +        <a href="#writeLink($obj.physOwner.fullName)">$obj.physOwner.comment.name</a>
 +    #end
 +    <hr/> 
 +    <p />
 +    
 +    #writeLogicalContainerSummary($obj)
 +    <!-- ============== Details coming here =================== -->
 +    #writeLogicalContainerDetails($obj)  
 +#end
 +
 +#macro(writeOverview $object)
 +    <div class="overviewItem">
 +        <a href="#writeLink($object.fullName)" target="classFrame">
 +            $object.fullName
 +        </a>
 +    </div>  
 +#end
 +
 +#macro(writeRefOverview $coll $elementType $elementName)
 +    #if ($coll.size() > 0)
 +        <div class="overviewTitle">$elementName</div>
 +        #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 @@ +<!-- 
 +	jGrouseDoc template file. Shared templates.
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: common.xslt 515 2008-03-31 19:32:57Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	
 +	<xsl:template name="parentPath">
 +		<xsl:param name="parentName"/>
 +		<xsl:value-of select="/jgdoc/items/*[@id=$parentName]/@path" />		
 +	</xsl:template>	 
 +	
 +	<xsl:template match="type">
 +	   <span class="type"><xsl:apply-templates select="*"/></span>
 +	   <xsl:text> </xsl:text>
 +	</xsl:template>
 +	
 +	<xsl:template match="*" mode="writeFuncSummary">
 +		<xsl:choose>
 +			<xsl:when test="count(comment/inheritdesc) != 0">
 +				<xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +				<xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="writeFuncSummary1">
 +					<xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +					<xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +				</xsl:apply-templates>
 +			</xsl:when>
 +			<xsl:otherwise>
 +				<xsl:apply-templates select="." mode="writeFuncSummary1">
 +					<xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +				</xsl:apply-templates>
 +			</xsl:otherwise>
 +		</xsl:choose>		
 +	</xsl:template>
 +	
 +	<xsl:template match="*" mode="writeFuncSummary1">
 +		<xsl:param name="origName"/>
 +		<xsl:param name="modifiers"/>
 +		<xsl:choose>
 +			<xsl:when test="count(comment/paramSet) != 0">
 +				<xsl:for-each select="comment/paramSet">
 +					<div class="summaryItemDef">
 +                        <span class="modifiers"><xsl:value-of select="$modifiers"/></span>
 +                        <xsl:text> </xsl:text>
 +						<xsl:apply-templates select="../../comment/type" />
 +						<xsl:element name="a">
 +							<xsl:attribute name="href">
 +								<xsl:call-template name="writeLink">
 +									<xsl:with-param name="refName"><xsl:value-of select="$origName"/></xsl:with-param>
 +								</xsl:call-template>
 +							</xsl:attribute>
 +							<span class="elementName"><xsl:value-of select="../../@localName"/></span>
 +						</xsl:element>
 +						<xsl:call-template name="writeFunctionParams"> 
 +							<xsl:with-param name="funcName"><xsl:value-of select="../../@id"/></xsl:with-param>
 +								<xsl:with-param name="paramSetCount"><xsl:value-of select="position()"/></xsl:with-param>
 +						</xsl:call-template>
 +					</div>
 +				</xsl:for-each>	
 +			</xsl:when>
 +			<xsl:otherwise>
 +				<div class="summaryItemDef">
 +                    <span class="modifiers"><xsl:value-of select="$modifiers"/></span>
 +                    <xsl:text> </xsl:text>                  
 +					<xsl:apply-templates select="comment/type" />
 +					<xsl:element name="a">
 +						<xsl:attribute name="href">
 +						  <xsl:call-template name="writeLink">
 +                            <xsl:with-param name="refName"><xsl:value-of select="$origName"/></xsl:with-param>
 +                          </xsl:call-template>
 +						</xsl:attribute>
 +						<span class="elementName"><xsl:value-of select="@localName"/></span>
 +					</xsl:element>()
 +				</div>
 +			</xsl:otherwise>
 +		</xsl:choose>
 +		<div class="summaryItemDesc">
 +		<xsl:apply-templates select="comment/summary/content"/>
 +		</div>
 +	</xsl:template>
 +	
 +	<xsl:template match="*" mode="writeVarSummary">
 +		<xsl:choose>
 +			<xsl:when test="count(comment/inheritdesc) != 0">
 +				<xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +				<xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="writeVarSummary1">
 +					<xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +				</xsl:apply-templates>
 +			</xsl:when>
 +			<xsl:otherwise>
 +				<xsl:apply-templates select="." mode="writeVarSummary1">
 +					<xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +				</xsl:apply-templates>
 +			</xsl:otherwise>
 +		</xsl:choose>		
 +	</xsl:template>
 +	
 +	<xsl:template match="*" mode="writeVarSummary1">
 +		<xsl:param name="origName"/>
 +        <xsl:param name="modifiers"/>
 +		<div class="summaryItemDef">
 +            <span class="modifiers"><xsl:value-of select="$modifiers"/></span>
 +            <xsl:text> </xsl:text>
 +			<xsl:apply-templates select="comment/type" />
 +			<xsl:element name="a">
 +				<xsl:attribute name="href">
 +					<xsl:call-template name="writeLink">
 +						<xsl:with-param name="refName"><xsl:value-of select="$origName"/></xsl:with-param>
 +					</xsl:call-template>
 +				</xsl:attribute>
 +				<span class="elementName"><xsl:value-of select="@localName" /></span>
 +			</xsl:element>
 +		</div> 
 +		<div class="summaryItemDesc">
 +			<xsl:apply-templates select="comment/summary/content"/>
 +		</div>	
 +	</xsl:template>
 +	
 +	<xsl:template match="*" mode="writeLogicalSummary">
 +		<div class="summaryItemDef">
 +			<span class="elementName"><xsl:element name="a">
 +				<xsl:attribute name="href"><xsl:value-of select="$rootPath"/>logical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +				<xsl:value-of select="comment/name"/>
 +			</xsl:element></span>
 +		</div>
 +		<div class="summaryItemDesc">
 +			<xsl:apply-templates select="comment/summary/content"/>
 +		</div>
 +	</xsl:template>
 +	
 +	<xsl:template name="writeFunctionParams">
 +		<xsl:param name="funcName"/>
 +		<xsl:param name="paramSetCount"/>(<xsl:for-each select="/jgdoc/items/*[@id=$funcName]/comment/paramSet[$paramSetCount]/param"><xsl:if test="position() != 1">, </xsl:if><xsl:if test="@optional = 'true'">[</xsl:if><xsl:apply-templates select="type"/><xsl:value-of select="normalize-space(@name)"/><xsl:if test="@optional = 'true'">]</xsl:if></xsl:for-each>)</xsl:template>
 +	
 +	<xsl:template name="writeLink">
 +		<xsl:param name="refName"/>
 +		<xsl:for-each select="/jgdoc/items/*[@id=$refName]">
 +			<xsl:value-of select="$rootPath"/><xsl:choose>
 +				<xsl:when test="@elementType='phys_container'">physical/</xsl:when>
 +				<xsl:otherwise>logical/</xsl:otherwise>
 +				</xsl:choose>
 +				<xsl:choose >
 +					<xsl:when test="(@elementType='phys_container') or (@elementType='logical_container')"
 +						><xsl:value-of select="@path"/>.html</xsl:when>
 +						<xsl:otherwise>
 +								<xsl:call-template name="parentPath">
 +									<xsl:with-param name="parentName" select="@parentName"/>
 +								</xsl:call-template>.html#___<xsl:value-of select="@localName" />						
 +						</xsl:otherwise>
 +				</xsl:choose>
 +		</xsl:for-each>
 +	</xsl:template>
 +	
 +	<xsl:template match="contentSection">
 +		<xsl:value-of select="." disable-output-escaping="yes"/> 
 +	</xsl:template>
 +	
 +	<xsl:template match="link">
 +		<xsl:choose>
 +			<xsl:when test="string-length(@resolvedPath) > 0">
 +				<xsl:element name="a">
 +					<xsl:attribute name="href">
 +						<xsl:call-template name="writeLink">
 +							<xsl:with-param name="rootPath"><xsl:value-of select="$rootPath"/></xsl:with-param>
 +							<xsl:with-param name="refName"><xsl:value-of select="@resolvedPath"/></xsl:with-param>
 +						</xsl:call-template>
 +					</xsl:attribute><xsl:value-of select="." disable-output-escaping="yes"/></xsl:element>
 +			</xsl:when>
 +			<xsl:otherwise>
 +				<xsl:value-of select="."/>
 +			</xsl:otherwise>
 +		</xsl:choose>
 +	</xsl:template>
 +	
 +	<xsl:template match="content">
 +		  <xsl:apply-templates />
 +	</xsl:template>
 +
 +
 +	<xsl:template match="comment" mode="genCommonAttrs">
 +		<xsl:if test="count(author/tagContent) != 0">
 +		    <div class="authors">
 +			<span class="descSection">Authors:</span>
 +			<xsl:for-each select="author/tagContent">
 +				<div class="paddedDetails"><xsl:apply-templates select="."/></div>
 +			</xsl:for-each>
 +			</div>
 +		</xsl:if>
 +		<xsl:if test="count(see/tagContent) != 0">
 +		    <div class="seealso">
 +			<span class="descSection">See also:</span>
 +			<xsl:for-each select="see/tagContent">
 +				<div class="paddedDetails"><xsl:apply-templates select="content"/></div>
 +			</xsl:for-each>
 +			</div>
 +		</xsl:if>
 +		<xsl:if test="count(version) != 0">
 +		    <div class="version">
 +			<span class="descSection version">Version:</span>
 +				<div class="paddedDetails"><xsl:value-of select="$version"/></div>
 +			</div>
 +		</xsl:if>
 +        <xsl:if test="count(timestamp) != 0">
 +            <div class="generated">
 +            <span class="descSection">Generated on:</span>
 +                <div class="paddedDetails"><xsl:value-of select="/jgdoc/project/@timestamp"/> <xsl:text> </xsl:text> <xsl:apply-templates select="version/tagContent"/></div>
 +            </div>
 +        </xsl:if>
 +		<xsl:if test="count(since/tagContent) != 0">
 +		    <div class="since">
 +			<span class="descSection">Since:</span>
 +				<div class="paddedDetails"><xsl:apply-templates select="since/tagContent"/></div>
 +		    </div>
 +		</xsl:if>
 +		<xsl:if test="count(deprecated/tagContent) != 0">
 +		    <div class="deprecated">
 +			<span class="descSection">Deprecated</span>
 +				<div class="paddedDetails"><xsl:apply-templates select="deprecated/tagContent"/></div>
 +		    </div>
 +		</xsl:if>
 +	</xsl:template>
 +
 +
 +
 +    <!-- new stuff -->
 +    
 +    <xsl:template match="function|constructor|ifunction|event" mode="writeSummary">
 +        <xsl:apply-templates select="." mode="writeFuncSummary"/>
 +    </xsl:template>
 +    
 +    <xsl:template match="variable|property" mode="writeSummary">
 +        <xsl:apply-templates select="." mode="writeVarSummary"/>
 +    </xsl:template>
 +
 +    <xsl:template match="namespace|class|interface|struct|object" mode="writeSummary">
 +        <xsl:apply-templates select="." mode="writeLogicalSummary"/>
 +    </xsl:template>
 +    
 +    <xsl:template match="module" mode="writeSummary">
 +	    <div class="summaryItemDef">
 +	        <span class="elementName"><xsl:element name="a">
 +	            <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +	            <xsl:value-of select="comment/name"/>
 +	        </xsl:element></span>
 +	    </div>
 +	    <div class="summaryItemDesc">
 +	        <xsl:apply-templates select="comment/summary/content"/><xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
 +	    </div>    
 +    </xsl:template>
 +
 +    
 +    <xsl:template name="writeRefSummary">
 +        <xsl:param name="fullName"/>
 +        <xsl:apply-templates select="/jgdoc/items/*[@id=$fullName]" mode="writeSummary">
 +        </xsl:apply-templates>
 +    </xsl:template>
 +    
 +    <xsl:template match="children" mode="writeSummary">
 +        <xsl:param name="elementType"/>
 +        <xsl:param name="elementName"/>
 +        <xsl:if test="count(ref[@type=$elementType]) != 0">
 +            <xsl:element name="div">
 +                <xsl:attribute name="class">
 +                    <xsl:text>summaryTable </xsl:text>
 +                    <xsl:value-of select="$elementType"/>
 +                </xsl:attribute>
 +	            <div class="summaryTableHeader" >
 +	                <span class="objType"><xsl:value-of select="$elementName"/></span> Summary
 +	            </div>
 +	            <xsl:for-each select="ref[@type=$elementType]">
 +	               <div class="summaryItem"> 
 +		                <xsl:call-template name="writeRefSummary">
 +		                   <xsl:with-param name="fullName"><xsl:value-of select="@refId"/></xsl:with-param>
 +		                </xsl:call-template>
 +	                </div>
 +	            </xsl:for-each>
 +            </xsl:element>
 +	        <p/>
 +        </xsl:if>
 +    </xsl:template>
 +    
 +    <xsl:template name="writeOverview">
 +        <xsl:param name="objName"/>
 +            <div class="overviewItem">
 +                <xsl:element name="a">
 +                    <xsl:attribute name="href">
 +                        <xsl:call-template name="writeLink">
 +                            <xsl:with-param name="refName"><xsl:value-of select="$objName"/></xsl:with-param>
 +                        </xsl:call-template>
 +                    </xsl:attribute>
 +                    <xsl:attribute name="target">classFrame</xsl:attribute>
 +                    <xsl:choose>
 +                        <xsl:when test="/jgdoc/items/*[@id=$objName]/@parentName='_GLOBAL_NAMESPACE'">
 +	                        <xsl:value-of select="/jgdoc/items/*[@id=$objName]/comment/name"/>
 +                        </xsl:when>
 +                        <xsl:otherwise>
 +	                        <xsl:value-of select="/jgdoc/items/*[@id=$objName]/@id"/>
 +                        </xsl:otherwise>
 +                    </xsl:choose>                    
 +                </xsl:element>
 +            </div>
 +    </xsl:template>
 +    
 +    <xsl:template match="children" mode="writeRefOverview">
 +        <xsl:param name="elementType"/>
 +        <xsl:param name="elementName"/>
 +        <xsl:if test="count(ref[@type=$elementType]) != 0">
 +	        <div class="overviewTitle"><xsl:value-of select="$elementName"/></div>
 +	        <xsl:for-each select="ref[@type=$elementType]">
 +	           <xsl:call-template name="writeOverview">
 +	               <xsl:with-param name="objName"><xsl:value-of select="@refId"/></xsl:with-param>
 +	           </xsl:call-template>
 +	        </xsl:for-each>
 +        </xsl:if>
 +    </xsl:template>
 +    
 +    <xsl:template name="navbarPhys">
 +        <xsl:param name="isStartup">no</xsl:param>
 +        <div class="navbar">
 +            <xsl:if test="$isStartup='yes'">
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>overview-summary-log.html</xsl:attribute>
 +                   Logical View
 +               </xsl:element>
 +            </div>
 +            </xsl:if>
 +            <xsl:if test="$isStartup != 'yes'">
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>overview-summary.html</xsl:attribute>
 +                   Start
 +               </xsl:element>
 +            </div>
 +            </xsl:if>        
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>jgindex.html</xsl:attribute>
 +                   Index
 +               </xsl:element>
 +            </div>
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>jgsearch.html</xsl:attribute>
 +                   Search
 +               </xsl:element>
 +            </div>
 +        </div>        
 +    </xsl:template>
 +    
 +    <xsl:template name="navbarLog">
 +        <xsl:param name="isStartup">no</xsl:param>
 +	    <div class="navbar">
 +	        <xsl:if test="$isStartup='yes'">
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>overview-summary.html</xsl:attribute>
 +                   Physical View
 +               </xsl:element>
 +            </div>
 +	        </xsl:if>
 +            <xsl:if test="$isStartup != 'yes'">
 +            <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>overview-summary-log.html</xsl:attribute>
 +                   Start
 +               </xsl:element>
 +            </div>
 +            </xsl:if>
 +	        <div class="navbaritem">
 +	           <xsl:element name="a">
 +	               <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>jgindex.html</xsl:attribute>
 +	               Index
 +	           </xsl:element>
 +	        </div>
 +	        <div class="navbaritem">
 +               <xsl:element name="a">
 +                   <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>jgsearch.html</xsl:attribute>
 +                   Search
 +               </xsl:element>
 +	        </div>
 +	    </div>      
 +    </xsl:template>
 +    
 +    <xsl:template match="legacies" mode="inheritance">
 +        <xsl:param name="memberName"/>
 +        <xsl:param name="memberType"/>
 +         <xsl:for-each select="legacy[count(legacyItem[@type=$memberType]) != 0]">
 +             <div class="summaryTable">
 +                <div class="summaryTableHeader">
 +                   <xsl:value-of select="$memberName"/> inherited from 
 +                         <xsl:element name="a">
 +                             <xsl:attribute name="href">
 +                                 <xsl:call-template name="writeLink">
 +                                     <xsl:with-param name="refName"><xsl:value-of select="@parent"/></xsl:with-param>
 +                                 </xsl:call-template>
 +                             </xsl:attribute>
 +                             <xsl:value-of select="@parent" />
 +                         </xsl:element> 
 +                 </div>
 +                 <div class="inheritanceSummary">
 +                         <xsl:for-each select="legacyItem[@type=$memberType]">
 +                             <xsl:if test="position() != 1">
 +                                 <xsl:text>, </xsl:text>
 +                             </xsl:if>
 +                             <xsl:element name="a">
 +                                 <xsl:attribute name="href">
 +                                     <xsl:call-template name="writeLink">
 +                                         <xsl:with-param name="refName"><xsl:value-of select="@idRef"/></xsl:with-param>
 +                                     </xsl:call-template>
 +                                 </xsl:attribute>
 +                                 <xsl:value-of select="@ref" />
 +                             </xsl:element> 
 +                             <xsl:text> </xsl:text>
 +                         </xsl:for-each>
 +                 </div>
 +             </div>
 +             <br/>
 +         </xsl:for-each>    
 +    </xsl:template>
 +    
 +    <xsl:template match="ref" mode="writeDetails">
 +        <xsl:param name="memberName"/>
 +        <xsl:param name="memberType"/>
 +        <xsl:param name="original"/>
 +        <xsl:param name="modifiers"/>
 +        <xsl:variable name="curName"><xsl:value-of select="@refId"/></xsl:variable>
 +        
 +        <xsl:apply-templates select="/jgdoc/items/*[@id=$curName]" mode="writeDetails">
 +            <xsl:with-param name="memberName"><xsl:value-of select="$memberName"/></xsl:with-param>
 +            <xsl:with-param name="memberType"><xsl:value-of select="$memberType"/></xsl:with-param>
 +            <xsl:with-param name="original"><xsl:value-of select="$original"/></xsl:with-param>
 +            <xsl:with-param name="modifiers"><xsl:value-of select="$modifiers"/></xsl:with-param>
 +        </xsl:apply-templates>
 +    
 +    </xsl:template>  
 +    
 +    <xsl:template match="function|constructor|ifunction|event" mode="writeDetails">
 +        <xsl:param name="memberName"/>
 +        <xsl:param name="memberType"/>
 +        <xsl:param name="original"/>
 +        <xsl:param name="modifiers"/>
 +        <xsl:variable name="effMods">
 +          <xsl:choose>
 +              <xsl:when test="$original = 'true'"><xsl:value-of select="comment/modifiers/@name"/></xsl:when>
 +              <xsl:otherwise><xsl:value-of select="$modifiers"/></xsl:otherwise>
 +          </xsl:choose>
 +        </xsl:variable>
 +        <xsl:choose>
 +            <xsl:when test="count(comment/inheritdesc) != 0">
 +                <xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +                <xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="writeDetails">
 +                    <xsl:with-param name="memberName"><xsl:value-of select="$memberName"/></xsl:with-param>
 +                    <xsl:with-param name="memberType"><xsl:value-of select="$memberType"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="$effMods"/></xsl:with-param>
 +                    <xsl:with-param name="original">false</xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:when>
 +            <xsl:otherwise>
 +                <xsl:apply-templates select="." mode="writeDetails1">
 +                    <xsl:with-param name="memberName"><xsl:value-of select="$memberName"/></xsl:with-param>
 +                    <xsl:with-param name="memberType"><xsl:value-of select="$memberType"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="$effMods"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:otherwise>
 +        </xsl:choose>
 +    </xsl:template>
 +    
 +    <xsl:template match="variable|property" mode="writeDetails">
 +        <xsl:param name="original"/>
 +        <xsl:param name="modifiers"/>
 +        <xsl:variable name="effMods">
 +          <xsl:choose>
 +              <xsl:when test="$original = 'true'"><xsl:value-of select="comment/modifiers/@name"/></xsl:when>
 +              <xsl:otherwise><xsl:value-of select="$modifiers"/></xsl:otherwise>
 +          </xsl:choose>
 +        </xsl:variable>
 +        
 +        <xsl:choose>
 +            <xsl:when test="count(comment/inheritdesc) != 0">
 +                <xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +                <xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="writeVarDetails1"/>
 +                <xsl:with-param name="modifiers"><xsl:value-of select="$effMods"/></xsl:with-param>
 +            </xsl:when>
 +            <xsl:otherwise>
 +                <xsl:apply-templates select="." mode="writeVarDetails1">
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="$effMods"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:otherwise>    
 +        </xsl:choose>
 +    </xsl:template>
 +    
 +    <xsl:template match="variable|property" mode="writeVarDetails1">
 +        <xsl:param name="modifiers"/>
 +        <xsl:apply-templates select="comment/srcUrl" mode="writeDetails1"/>
 +        <h3>
 +            <xsl:element name="a">
 +                <xsl:attribute name="name">___<xsl:value-of select='@localName'/>
 +                </xsl:attribute>
 +                <span class="objType"><xsl:value-of select="name()"/></span> <xsl:text> </xsl:text> <span class="modifiers"><xsl:value-of select="$modifiers"/></span> <xsl:text> </xsl:text> 
 +                <xsl:apply-templates select="comment/type" /><span class="objName"><xsl:value-of select='@localName' /></span>
 +            </xsl:element>
 +        </h3>
 +        <div class="comment">
 +        <xsl:apply-templates select='comment/commentContent/content'/>
 +        </div>
 +        <xsl:apply-templates select="comment" mode="genCommonAttrs" />
 +        <xsl:apply-templates select="." mode="physOwner">
 +            <xsl:with-param name="testNode"><xsl:value-of select='@id'/></xsl:with-param>
 +        </xsl:apply-templates>                      
 +        <hr />
 +    </xsl:template>
 +    
 +    <xsl:template match="param" mode="writeDetails1">
 +        <div class="param paddedDetails">
 +            <code><xsl:if test="@optional = 'true'">[</xsl:if><xsl:value-of select="@name"/><xsl:if test="@optional = 'true'">]</xsl:if></code> <xsl:text> </xsl:text>
 +            <xsl:apply-templates select="content"/>
 +            <xsl:if test="count(paramOptions/paramoption) != 0">
 +            <ul class="paramoption">
 +            <xsl:apply-templates select="paramOptions/paramoption" mode="writeDetails1"/>
 +            </ul>
 +            </xsl:if>
 +        </div>    
 +    </xsl:template>
 +    
 +    <xsl:template match="modifiers" mode="writeDetails1">
 +                <span class="modifiers"><xsl:value-of select="@name"/></span>
 +                <xsl:text> </xsl:text>
 +    </xsl:template>
 +    
 +    <xsl:template match="paramoption" mode="writeDetails1">
 +        <li >
 +            <code>
 +                <xsl:if test="@optional = 'true'">[</xsl:if>
 +                <xsl:apply-templates select="modifiers" mode="writeDetails1"/>
 +                <xsl:apply-templates select="type" />
 +                <xsl:value-of select="@name"/>
 +                <xsl:if test="@optional = 'true'">]</xsl:if>
 +            </code> <xsl:text> </xsl:text>
 +            <xsl:apply-templates select="content"/>
 +        </li>
 +    </xsl:template>
 +    
 +    <xsl:template match="comment/srcUrl" mode="writeDetails1">
 +        <xsl:element name="a">
 +            <xsl:attribute name="class">srcUrlLink</xsl:attribute>
 +            <xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
 +            view source
 +        </xsl:element>
 +    </xsl:template>
 +    
 +    <xsl:template match="function|constructor|ifunction|event" mode="writeDetails1">
 +        <xsl:param name="memberName"/>
 +        <xsl:param name="memberType"/>
 +        <xsl:param name="modifiers"/>
 +        <xsl:apply-templates select="comment/srcUrl" mode="writeDetails1"/>
 +        <h3>
 +            <xsl:element name="a">
 +                <xsl:attribute name="name">___<xsl:value-of select='@localName'/>
 +                </xsl:attribute>
 +                <span class="objType"><xsl:value-of select="$memberType"/></span><xsl:text> </xsl:text>
 +                <span class="objName"><xsl:value-of select='@localName'/></span>
 +            </xsl:element>
 +        </h3>
 +        <xsl:choose>
 +            <xsl:when test="count(comment/paramSet) != 0">
 +                <xsl:for-each select="comment/paramSet">
 +                    <div>
 +                        <code>
 +                        <span class="modifiers"><span class="modifiers"><xsl:value-of select="$modifiers"/></span></span>
 +                        <xsl:text> </xsl:text>
 +                        <xsl:apply-templates select="../../comment/type" />
 +                        <xsl:value-of select="../../@localName"/>
 +                        <xsl:call-template name="writeFunctionParams"> 
 +                            <xsl:with-param name="funcName"><xsl:value-of select="../../@id"/></xsl:with-param>
 +                                <xsl:with-param name="paramSetCount"><xsl:value-of select="position()"/></xsl:with-param>
 +                        </xsl:call-template> 
 +                        </code> 
 +                    </div> 
 +                </xsl:for-each>  
 +            </xsl:when>
 +            <xsl:otherwise>
 +                <div>
 +                    <code>
 +                    <span class="modifiers"><xsl:value-of select="$modifiers"/></span>
 +                    <xsl:text> </xsl:text>
 +                    <xsl:apply-templates select="comment/type" />
 +                    <xsl:value-of select="@localName"/>()
 +                    </code>
 +                </div>
 +            </xsl:otherwise>                    
 +        </xsl:choose>
 +        <div class="comment">
 +            <xsl:apply-templates select="comment/commentContent/content" />
 +        </div>
 +        <xsl:if test="count(comment/paramSet) != 0">
 +            <div class="parameters">
 +	            <span class="descSection">Parameters:</span><br/>
 +	            <xsl:for-each select='comment/paramSet'>
 +	                <div class="paramset">
 +	                    <xsl:apply-templates select="paramSetDesc/content"/>
 +	                </div>
 +	                <div>
 +	                    <xsl:apply-templates select="param" mode="writeDetails1"/>
 +	                </div>
 +	            </xsl:for-each>
 +            </div>
 +        </xsl:if>
 +        <xsl:if test="count(comment/returns/tagContent) > 0">
 +            <div class="returns">
 +	            <span class="descSection">Returns:</span><br/>
 +	            <div class="paddedDetails">
 +	                <xsl:apply-templates select='comment/returns/tagContent'/>
 +	                <xsl:if test="count(comment/returns/paramOptions/paramoption) != 0">
 +	                    <ul class="paramoption">
 +	                    <xsl:apply-templates select="comment/returns/paramOptions/paramoption" mode="writeDetails1"/>
 +	                    </ul>
 +	                </xsl:if>
 +	            </div>
 +            </div>
 +        </xsl:if>
 +        <xsl:if test="count(comment/throws/tagContent) > 0">
 +            <div class="throws">
 +	            <span class="descSection">Throws:</span><br/>
 +	            <xsl:for-each select='comment/throws/tagContent/content'>
 +	                <div class="paddedDetails"><xsl:apply-templates select='.'/></div>
 +	            </xsl:for-each>
 +            </div>
 +        </xsl:if>
 +        
 +        <xsl:apply-templates select="comment" mode="genCommonAttrs" />
 +
 +        <xsl:apply-templates select="." mode="physOwner">
 +            <xsl:with-param name="testNode"><xsl:value-of select='@id'/></xsl:with-param>
 +        </xsl:apply-templates>
 +        <hr />
 +    </xsl:template>
 +    
 +    
 +    <xsl:template name="writeDetails">
 +        <xsl:param name="memberName"/>
 +        <xsl:param name="memberType"/>
 +        <xsl:param name="objectName"/>
 +        <xsl:if
 +                test="count(/jgdoc/items/*[@id=$objectName]/children/ref[@type=$memberType]) != 0">
 +                <xsl:element name="div">
 +                    <xsl:attribute name="class"><xsl:text>details </xsl:text><xsl:value-of select="$memberType"/></xsl:attribute>
 +	                <h2 class="sectionHeader"><xsl:value-of select="$memberName"/> Details</h2>
 +	                <xsl:for-each
 +	                    select="/jgdoc/items/*[@id=$objectName]/children/ref[@type=$memberType]">
 +	                    <xsl:apply-templates select="." mode="writeDetails">
 +	                        <xsl:with-param name="memberName"><xsl:value-of select="$memberName"/></xsl:with-param>
 +	                        <xsl:with-param name="memberType"><xsl:value-of select="$memberType"/></xsl:with-param>
 +	                        <xsl:with-param name="original">true</xsl:with-param>
 +	                    </xsl:apply-templates>
 +	                </xsl:for-each>
 +                </xsl:element>
 +            </xsl:if>   
 +    </xsl:template>           
 +
 +
 +    <xsl:template match = "*" mode="physOwner">
 +        <xsl:param name="testNode"/>
 +        <xsl:variable name='owner' select="@parentName"/>
 +        
 +        <xsl:variable name='parentPhys'><xsl:value-of select='/jgdoc/items/*[@id=$owner]/@physOwner'/></xsl:variable>
 +        <xsl:variable name='phys'><xsl:value-of select='@physOwner'/></xsl:variable>
 +        <xsl:if test="$phys != $parentPhys">
 +            <span class="definedIn">Defined in </span><xsl:element name="a">
 +                <xsl:attribute name="href">
 +                    <xsl:value-of select="$rootPath"/>physical/<xsl:value-of select="/jgdoc/items/*[@id=$phys]/@path"/>.html</xsl:attribute>
 +                <xsl:value-of select="/jgdoc/items/*[@id=$phys]/comment/name"/>
 +            </xsl:element>
 +        </xsl:if>
 +    </xsl:template>
 +    
 +    <xsl:template name="writeCss">
 +        <xsl:param name="rootPath"/>
 +        <xsl:param name="aux_path"/>
 +	    <xsl:element name="link">
 +	        <xsl:attribute name="rel">stylesheet</xsl:attribute>
 +	        <xsl:attribute name="type">text/css</xsl:attribute>
 +	        <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>jgdoc.css</xsl:attribute>
 +	    </xsl:element>
 +	      <xsl:element name="link">
 +	        <xsl:attribute name="rel">stylesheet</xsl:attribute>
 +	        <xsl:attribute name="type">text/css</xsl:attribute>
 +	        <xsl:attribute name="href"><xsl:value-of select="$rootPath"/>theme.css</xsl:attribute>
 +	    </xsl:element>
 +	    <xsl:if test="$aux_css != 'not_specified'">
 +	        <xsl:element name="link">
 +	            <xsl:attribute name="rel">stylesheet</xsl:attribute>
 +	            <xsl:attribute name="type">text/css</xsl:attribute>
 +	            <xsl:attribute name="href"><xsl:value-of select="$rootPath"/><xsl:value-of select="$aux_css"/></xsl:attribute>
 +	        </xsl:element>
 +	    </xsl:if>
 +    
 +    </xsl:template>
 +
 +</xsl:stylesheet>
 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.gifBinary files differ new file mode 100644 index 00000000..caf9699e --- /dev/null +++ b/buildscripts/jGrouseDoc/skins/noframes/img/logo.gif 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('<br/>');
 +            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 = "<a href='" + item.ref + "'>" + item.fullName + "</a>";
 +        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 = "<span class='node'><span class='markerSpace'> </span></span><a href='" + item.ref + "' title='" + item.summary + "'>" + item.localName + "</a>";
 +            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)
 +    	
 +        <output file="$outDir/$pathPart/${le.path}.html">
 +            <param key="projectName" value="$projectName"/>
 +            <param key="projectDesc" value="$projectDesc"/>
 +            <param key="version" value="$version"/>
 +            #if($aux_css != "not_specified")
 +            <param key="aux_css" value="$aux_css"/>
 +            #end
 +            <param key="objectName" value="$le.fullName"/>
 +            <param key="rootPath" value=""/>
 +            <param key="navSection" value="$section"/>
 +            <param key="trueRootPath" value="../$le.rootPath"/>
 +        </output>
 +    #end	
 +#end
 +<?xml version="1.0" encoding="$encoding"?>
 +    <!-- Documentation build file for $projectName. Generated by jGrouseDoc-->
 +<project name="$projectName" default="applyJGrouseDoc">
 +	<target name="applyJGrouseDoc">
 +		<copy todir="$outDir" overwrite="yes">
 +            <fileset dir="$commonSkin/css" />
 +        </copy>
 +        <copy todir="$outDir" overwrite="yes">
 +            <fileset dir="$skinDir/css" />
 +        </copy>
 +        <copy todir="$outDir">
 +            <fileset dir="$commonSkin/img" />
 +        </copy>
 +        <copy todir="$outDir" overwrite="yes">
 +            <fileset dir="$skinDir/img" />
 +        </copy>
 +        <copy todir="$outDir" overwrite="yes">
 +            <fileset dir="$skinDir/js" />
 +        </copy>
 +        
 +        
 +        <vmtask resourcePath="., ${jGrouseHome}" source="${outDir}/${projectFile}" loglevel="INFO">
 +            <template templatename="skins/${skin}/vm/jsindex.vm" vmlibs="skins/common/vm/common.vm">
 +            	<output file="$outDir/jsindex.js">
 +                    <param key="projectName" value="$projectName"/>
 +                    <param key="projectDesc" value="$projectDesc"/>
 +                    <param key="version" value="$version"/>           
 +                    <param key="rootPath" value=""/>     		
 +                </output>
 +            </template>
 +            <template templatename="skins/${skin}/vm/detail.vm" vmlibs="skins/common/vm/common.vm">
 +		        <output file="$outDir/index.html">
 +		            <param key="projectName" value="$projectName"/>
 +		            <param key="projectDesc" value="$projectDesc"/>
 +		            <param key="version" value="$version"/>                     
 +		            #if($aux_css != "not_specified")
 +		            <param key="aux_css" value="$aux_css"/>
 +		            #end
 +		            <param key="objectName" value="_not_specified_"/>
 +		            <param key="navSection" value="logical"/>
 +		            <param key="trueRootPath" value=""/>
 +		            <param key="rootPath" value=""/>
 +		        </output>
 +            	
 +            	#genSummary($jg.logical "logical" "logical")
 +            	#genSummary($jg.files "physical" "file")
 +                #genSummary($jg.modules "physical" "module")
 +            </template>
 +        </vmtask>	        
 +    </target>
 +</project>
 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
 +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 +<html>
 +    <head>
 +        <title>$projectName</title>
 +        <META http-equiv="Content-Type" content="text/html; charset=$encoding">        
 +        <script>
 +
 +			(function()
 +			{
 +			    var loc = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
 +                loc = loc.split('\\');
 +                loc = loc.join('/');					    
 +			    loc = loc.split('/');
 +			    loc.pop();
 +			    loc = loc.join('/');
 +			    loc += '/' + '$trueRootPath';
 +			
 +			    document.write("<base href='" + loc + "'></base>");
 +			})();
 +         
 +        </script>
 +
 +        <link rel="stylesheet" type="text/css" href="${rootPath}jgdoc.css">
 +        <link rel="stylesheet" type="text/css" href="${rootPath}theme.css">
 +        #if ($aux_css)
 +        	<link rel="stylesheet" type="text/css" href="${rootPath}$aux_css">
 +        #end
 +	    <script type="text/javascript" src="navTree.js"></script>
 +	    <script type="text/javascript" src="jgdoc.js"></script>
 +	</head>
 +    <body>
 +        <div class="startup" id="startup">
 +            <div class="banner" id="banner">
 +                <h1 class="projectName">
 +	               <a href=".">$projectName</a>   
 +                </h1>
 +                <div class="bar">
 +	                 version $version
 +	            </div>
 +	         </div>
 +             <div class="content" id="docContent">
 +                  <div class="block">
 +                        <div id="searchBlock">
 +			                <div class="search" >
 +			                    <div class="searchLabel">Search:</div>
 +			                    <div class="searchBlock" style="height:100%">
 +					                <input id="jgsSearchString" type="text" size="60" class="jgdSearchString"/>
 +					                <div id="jgsSearchPanel" class="jgsSearchPanel" style="display:none">
 +						                <div  class="jgdSearchRect" >
 +						                    <div id="jgsSearchResults">
 +						                        Loading....
 +						                    </div>
 +						                </div>
 +					                   <div id="jgsInfo" class="jgsInfo" >No selection</div>
 +                                    </div>
 +                                 </div>
 +			                </div>
 +		                </div>
 +		                <div id="docScroll" class="docScroll">
 +		                    <div>
 +			                    <hr/>
 +						        <div>
 +						        #if ($obj)	
 +						        	#writeContainer($obj)              
 +                                #else
 +                                    <hr/>
 +                                    #if($jg.project)
 +                                    <div class="projectDesc">
 +                                        <a name="desc"></a><br/>
 +                                        #if($projectDesc && $projectDesc.length() > 0)
 +                                        	<h1>$projectDesc</h1>
 +                                        #end
 +                                        #writeContent($jg.project.comment.content)
 +                                        <p />
 +                                        #genCommonAttrs($jg.project.comment)
 +                                    </div>                                    	
 +                                    #end
 +                                #end
 +						        </div>
 +        		          </div>			                    
 +		                </div>
 +        	       </div>
 +             </div>
 +             #navigationPane($navSection)
 +		</div>	
 +	</body>
 +    <script type="text/javascript">
 +        jgdoc.Searcher.start();
 +        jgdoc.NavTree.initialize("#if($obj)$obj.fullName#else'GLOBAL'#end");
 +    </script>			
 +	<script type="text/javascript" src="jsindex.js">
 +    </script>
 +</html>
 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 @@ +<!-- 
 +	jGrouseDoc template file. Creates ant file that renders all documentation
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: antgen.xslt 331 2008-01-08 02:11:41Z denis.riabtchik $
 +-->
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	<xsl:output method="XML"/>
 +	<xsl:param name="projectName"/>
 +	<xsl:param name="projectDesc"/>
 +	<xsl:param name="jGrouseHome"/>
 +	<xsl:param name="projectFile"/>
 +	<xsl:param name="outDir"/>
 +	<xsl:param name="version"/>	
 +	<xsl:param name="useFullNames">true</xsl:param>
 +    <xsl:param name="css"><xsl:value-of select="$jGrouseHome"/>/skins/noframes/css/jgdoc.css</xsl:param>
 +    <xsl:param name='aux_css'>not_specified</xsl:param>
 +    <xsl:param name="skinDir">not_specified</xsl:param>
 +	
 +    <xsl:variable name="commonSkin"><xsl:value-of select="$jGrouseHome"/>/skins/common</xsl:variable>	
 +	
 +	<xsl:template name="dotdot">
 +		<xsl:param name="arg"/>
 +		<xsl:param name="sep"/>
 +		<xsl:param name="firstPart" select="substring-before($arg, $sep)"/>
 +		<xsl:param name="lastPart" select="substring-after($arg, $sep)"/>
 +		<xsl:if test="string-length($firstPart) != 0">../</xsl:if>
 +		<xsl:if test="string-length($lastPart) != 0"><xsl:call-template name="dotdot">
 +		<xsl:with-param name="arg" select="$lastPart"/>
 +		<xsl:with-param name="sep" select="$sep"/>
 +		</xsl:call-template></xsl:if>
 +	</xsl:template>
 +	
 +	
 +	
 +	<xsl:template match="/">
 +        <xsl:variable name="_projectName">
 +           <xsl:choose>
 +               <xsl:when test="count(/jgdoc/project/comment/name) != 0">
 +                   <xsl:value-of select="normalize-space(/jgdoc/project/comment/name)"/>
 +               </xsl:when>
 +               <xsl:otherwise>
 +                   <xsl:value-of select="$projectName"/>
 +               </xsl:otherwise>
 +           </xsl:choose>
 +       </xsl:variable>
 +       <xsl:variable name="_version">
 +           <xsl:choose>
 +               <xsl:when test="count(/jgdoc/project/comment/version/tagContent/content) != 0">
 +                   <xsl:value-of select="normalize-space(/jgdoc/project/comment/version/tagContent/content)"/>
 +               </xsl:when>
 +               <xsl:otherwise>
 +                   <xsl:value-of select="$version"/>
 +               </xsl:otherwise>
 +           </xsl:choose>
 +       </xsl:variable>
 +       <xsl:variable name="_projectDesc">
 +           <xsl:choose>
 +               <xsl:when test="count(/jgdoc/project/comment/description/tagContent/content) != 0">
 +                   <xsl:value-of select="normalize-space(/jgdoc/project/comment/description/tagContent/content)"/>
 +               </xsl:when>
 +               <xsl:otherwise>
 +                   <xsl:value-of select="$projectDesc"/>
 +               </xsl:otherwise>
 +           </xsl:choose>
 +       </xsl:variable>	
 +		<xsl:comment>Documentation build file for <xsl:value-of select="projectName"/>. Generated by jGrouseDoc</xsl:comment>
 +		<xsl:element name="project">
 +			<xsl:attribute name="name"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +			<xsl:attribute name="default">applyJGrouseDoc</xsl:attribute>
 +			<xsl:element name="target">
 +				<xsl:attribute name="name">applyJGrouseDoc</xsl:attribute>
 +				<!-- copy CSS file -->
 +                <xsl:element name="copy">
 +                    <xsl:attribute name="todir"><xsl:value-of select="$outDir"/></xsl:attribute>
 +                    <xsl:attribute name="overwrite">yes</xsl:attribute>
 +                    <xsl:element name="fileset">
 +                        <xsl:attribute name="dir"><xsl:value-of select="$commonSkin"/>/css</xsl:attribute>
 +                    </xsl:element>
 +                </xsl:element>
 +				<xsl:element name="copy">
 +				    <xsl:attribute name="todir"><xsl:value-of select="$outDir"/></xsl:attribute>
 +                    <xsl:attribute name="overwrite">yes</xsl:attribute>
 +				    <xsl:element name="fileset">
 +				        <xsl:attribute name="dir"><xsl:value-of select="$skinDir"/>/css</xsl:attribute>
 +				    </xsl:element>
 +				</xsl:element>
 +				<!-- 
 +				<xsl:element name="copy">
 +					<xsl:attribute name="file"><xsl:value-of select="$css"/></xsl:attribute>
 +					<xsl:attribute name="tofile"><xsl:value-of select='$outDir'/>/jgdoc.css</xsl:attribute>
 +                    <xsl:attribute name="overwrite">yes</xsl:attribute>
 +				</xsl:element>
 +				-->
 +                <xsl:element name="copy">
 +                    <xsl:attribute name="todir"><xsl:value-of select="$outDir"/></xsl:attribute>
 +                    <xsl:element name="fileset">
 +                        <xsl:attribute name="dir"><xsl:value-of select="$commonSkin"/>/img</xsl:attribute>
 +                    </xsl:element>
 +                </xsl:element>
 +                <xsl:element name="copy">
 +                    <xsl:attribute name="todir"><xsl:value-of select="$outDir"/></xsl:attribute>
 +                    <xsl:element name="fileset">
 +                        <xsl:attribute name="dir"><xsl:value-of select="$skinDir"/>/img</xsl:attribute>
 +                    </xsl:element>
 +                </xsl:element>
 +				
 +				<!-- copy JS file -->
 +                <xsl:element name="copy">
 +                    <xsl:attribute name="todir"><xsl:value-of select='$outDir'/></xsl:attribute>
 +                    <xsl:element name="fileset">
 +                        <xsl:attribute name="dir"><xsl:value-of select="$skinDir"/>/js</xsl:attribute>
 +                    </xsl:element>
 +                </xsl:element>
 +                
 +				<!-- create main file -->
 +				<xsl:element name="xslt">
 +					<xsl:attribute name="style"><xsl:value-of select="$skinDir"/>/xslt/startup.xslt</xsl:attribute>
 +					<xsl:attribute name="in"><xsl:value-of select='$outDir'/>/<xsl:value-of select="$projectFile"/></xsl:attribute>
 +					<xsl:attribute name="out"><xsl:value-of select='$outDir'/>/index.html</xsl:attribute>
 +					<xsl:element name="param">
 +						<xsl:attribute name="name">projectName</xsl:attribute>
 +						<xsl:attribute name="expression"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +					</xsl:element>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="name">projectDesc</xsl:attribute>
 +                        <xsl:attribute name="expression"><xsl:value-of select="$_projectDesc"/></xsl:attribute>
 +                    </xsl:element>
 +					<xsl:element name="param">
 +						<xsl:attribute name="name">version</xsl:attribute>
 +						<xsl:attribute name="expression"><xsl:value-of select="$_version"/></xsl:attribute>
 +					</xsl:element>
 +                    <xsl:if test="$aux_css != 'not_specified'">
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">aux_css</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$aux_css"/></xsl:attribute>
 +                        </xsl:element>
 +                    </xsl:if>
 +				</xsl:element>
 +				<!-- =========== javascript index ================= -->
 +				<xsl:element name="xslt">
 +                    <xsl:attribute name="style"><xsl:value-of select="$skinDir"/>/xslt/jsindex.xslt</xsl:attribute>
 +                    <xsl:attribute name="in"><xsl:value-of select='$outDir'/>/<xsl:value-of select="$projectFile"/></xsl:attribute>
 +                    <xsl:attribute name="out"><xsl:value-of select='$outDir'/>/jsindex.js</xsl:attribute>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="name">projectName</xsl:attribute>
 +                        <xsl:attribute name="expression"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +                    </xsl:element>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="name">projectDesc</xsl:attribute>
 +                        <xsl:attribute name="expression"><xsl:value-of select="$_projectDesc"/></xsl:attribute>
 +                    </xsl:element>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="name">version</xsl:attribute>
 +                        <xsl:attribute name="expression"><xsl:value-of select="$_version"/></xsl:attribute>
 +                    </xsl:element>
 +                </xsl:element>
 +                <!-- ============ logical stuff ================= -->
 +                <xsl:element name="fastxslt">
 +                    <xsl:attribute name="template"><xsl:value-of select="$skinDir"/>/xslt/detail.xslt</xsl:attribute>
 +                    <xsl:attribute name="source"><xsl:value-of select='$outDir'/>/<xsl:value-of select="$projectFile"/></xsl:attribute>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="key">version</xsl:attribute>
 +                        <xsl:attribute name="value"><xsl:value-of select="$_version"/></xsl:attribute>
 +                    </xsl:element>
 +                    <xsl:if test="$aux_css != 'not_specified'">
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="key">aux_css</xsl:attribute>
 +                            <xsl:attribute name="value"><xsl:value-of select="$aux_css"/></xsl:attribute>
 +                        </xsl:element>
 +                    </xsl:if>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="key">projectName</xsl:attribute>
 +                        <xsl:attribute name="value"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +                    </xsl:element>
 +                    <xsl:element name="param">
 +                        <xsl:attribute name="key">projectDesc</xsl:attribute>
 +                        <xsl:attribute name="value"><xsl:value-of select="$_projectDesc"/></xsl:attribute>
 +                    </xsl:element>
 +                        
 +                    <xsl:for-each select="/jgdoc/items/*[@elementType='logical_container']">
 +                        <xsl:element name="output">
 +                            <xsl:attribute name="file"><xsl:value-of select='$outDir'/>/logical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">objectName</xsl:attribute>
 +                                <xsl:attribute name="value"><xsl:value-of select="@id"/></xsl:attribute>
 +                            </xsl:element>
 +	                        <xsl:element name="param">
 +	                            <xsl:attribute name="key">rootPath</xsl:attribute>
 +	                            <xsl:attribute name="value"></xsl:attribute>
 +	                        </xsl:element>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">navSection</xsl:attribute>
 +                                <xsl:attribute name="value">logical</xsl:attribute>
 +                            </xsl:element>	                                              
 +	                        <xsl:element name="param">
 +	                            <xsl:attribute name="key">trueRootPath</xsl:attribute>
 +	                            <xsl:attribute name="value">../<xsl:call-template name="dotdot">
 +	                                <xsl:with-param name="arg" select="comment/name" />
 +	                                <xsl:with-param name="sep" select="'.'"/>
 +	                            </xsl:call-template></xsl:attribute>
 +	                        </xsl:element>                                                  
 +	                   </xsl:element>
 +                    </xsl:for-each>
 +                    
 +                    <xsl:for-each select="/jgdoc/items/file">
 +                        <xsl:element name="output">
 +                            <xsl:attribute name="file"><xsl:value-of select='$outDir'/>/physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">objectName</xsl:attribute>
 +                                <xsl:attribute name="value"><xsl:value-of select="@id"/></xsl:attribute>
 +                            </xsl:element>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">rootPath</xsl:attribute>
 +                                <xsl:attribute name="value"></xsl:attribute>
 +                            </xsl:element>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">navSection</xsl:attribute>
 +                                <xsl:attribute name="value">file</xsl:attribute>
 +                            </xsl:element>                                                  
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">trueRootPath</xsl:attribute>
 +                                <xsl:attribute name="value">../<xsl:call-template name="dotdot">
 +                                    <xsl:with-param name="arg" select="comment/name" />
 +                                    <xsl:with-param name="sep" select="'/'"/>
 +                                    </xsl:call-template>
 +                                </xsl:attribute>
 +                            </xsl:element>                                                  
 +                       </xsl:element>
 +                    </xsl:for-each>    
 +                    <xsl:for-each select="/jgdoc/items/module">
 +                        <xsl:element name="output">
 +                            <xsl:attribute name="file"><xsl:value-of select='$outDir'/>/physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">objectName</xsl:attribute>
 +                                <xsl:attribute name="value"><xsl:value-of select="@id"/></xsl:attribute>
 +                            </xsl:element>
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">rootPath</xsl:attribute>
 +                                <xsl:attribute name="value"></xsl:attribute>
 +                            </xsl:element>          
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">navSection</xsl:attribute>
 +                                <xsl:attribute name="value">module</xsl:attribute>
 +                            </xsl:element>                                        
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="key">trueRootPath</xsl:attribute>
 +                                <xsl:attribute name="value">../<xsl:call-template name="dotdot">
 +                                    <xsl:with-param name="arg" select="comment/name" />
 +                                    <xsl:with-param name="sep" select="'.'"/>
 +                                    </xsl:call-template>
 +                                </xsl:attribute>
 +                            </xsl:element>                                                  
 +                       </xsl:element>
 +                    </xsl:for-each>                        
 +                </xsl:element>
 +                
 +                
 +                <!-- 
 +                <xsl:for-each select="/jgdoc/items/file">
 +                    <xsl:element name="xslt">
 +                        <xsl:attribute name="style"><xsl:value-of select="$skinDir"/>/xslt/detail.xslt</xsl:attribute>
 +                        <xsl:attribute name="in"><xsl:value-of select='$outDir'/>/<xsl:value-of select="$projectFile"/></xsl:attribute>
 +                        <xsl:attribute name="out"><xsl:value-of select='$outDir'/>/physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +                        
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">objectName</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="@id"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">rootPath</xsl:attribute>
 +                            <xsl:attribute name="expression"></xsl:attribute>
 +                        </xsl:element>                      
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">trueRootPath</xsl:attribute>
 +                            <xsl:attribute name="expression">../<xsl:call-template name="dotdot">
 +                                <xsl:with-param name="arg" select="comment/name" />
 +                                <xsl:with-param name="sep" select="'/'"/>
 +                            </xsl:call-template></xsl:attribute>
 +                        </xsl:element>                      
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">version</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_version"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:if test="$aux_css != 'not_specified'">
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="name">aux_css</xsl:attribute>
 +                                <xsl:attribute name="expression"><xsl:value-of select="$aux_css"/></xsl:attribute>
 +                            </xsl:element>
 +                        </xsl:if>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">projectName</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">projectDesc</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_projectDesc"/></xsl:attribute>
 +                        </xsl:element>                        
 +                         <xsl:element name="param">
 +                            <xsl:attribute name="name">navSection</xsl:attribute>
 +                            <xsl:attribute name="expression">file</xsl:attribute>
 +                        </xsl:element>  
 +                    </xsl:element>
 +                </xsl:for-each>                
 +                 
 +                <xsl:for-each select="/jgdoc/items/module">
 +                    <xsl:element name="xslt">
 +                        <xsl:attribute name="style"><xsl:value-of select="$skinDir"/>/xslt/detail.xslt</xsl:attribute>
 +                        <xsl:attribute name="in"><xsl:value-of select='$outDir'/>/<xsl:value-of select="$projectFile"/></xsl:attribute>
 +                        <xsl:attribute name="out"><xsl:value-of select='$outDir'/>/physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +                        
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">objectName</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="@id"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">rootPath</xsl:attribute>
 +                            <xsl:attribute name="expression"></xsl:attribute>
 +                        </xsl:element>                      
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">trueRootPath</xsl:attribute>
 +                            <xsl:attribute name="expression">../<xsl:call-template name="dotdot">
 +                                <xsl:with-param name="arg" select="comment/name" />
 +                                <xsl:with-param name="sep" select="'.'"/>
 +                            </xsl:call-template></xsl:attribute>
 +                        </xsl:element>                      
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">version</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_version"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:if test="$aux_css != 'not_specified'">
 +                            <xsl:element name="param">
 +                                <xsl:attribute name="name">aux_css</xsl:attribute>
 +                                <xsl:attribute name="expression"><xsl:value-of select="$aux_css"/></xsl:attribute>
 +                            </xsl:element>
 +                        </xsl:if>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">projectName</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_projectName"/></xsl:attribute>
 +                        </xsl:element>
 +                        <xsl:element name="param">
 +                            <xsl:attribute name="name">projectDesc</xsl:attribute>
 +                            <xsl:attribute name="expression"><xsl:value-of select="$_projectDesc"/></xsl:attribute>
 +                        </xsl:element>                        
 +                         <xsl:element name="param">
 +                            <xsl:attribute name="name">navSection</xsl:attribute>
 +                            <xsl:attribute name="expression">module</xsl:attribute>
 +                        </xsl:element>  
 +                    </xsl:element>
 +                </xsl:for-each>                   
 +                 -->
 +                
 +			</xsl:element>
 +		</xsl:element>
 +		
 +	</xsl:template>
 +</xsl:stylesheet>
 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 @@ +<!-- 
 +	jGrouseDoc template file. 
 +	Creates content for top-left frame with all namespaces
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: detail.xslt 339 2008-01-21 00:21:30Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	<xsl:param name='rootPath' />
 +    <xsl:param name='trueRootPath' />
 +    <xsl:param name="projectDesc"/>
 +    <xsl:param name="projectName"/>
 +	<xsl:param name='version'/>	
 +    <xsl:param name='objectName' />
 +    <xsl:param name='aux_css'>not_specified</xsl:param>
 +    <xsl:param name="navSection"/>
 +	
 +	<xsl:output method='HTML' doctype-public="-//W3C//DTD HTML 4.01//EN"
 +		doctype-system="http://www.w3.org/TR/html4/strict.dtd">
 +
 +	</xsl:output> 
 +    <xsl:import href="../../common/xslt/common.xslt"/>
 +    <xsl:import href="nfcommon.xslt"/>
 +    
 +    
 +    <xsl:template match="/jgdoc/items/*">
 +        <xsl:variable name="objType"><xsl:value-of select="name()"/></xsl:variable>
 +        <div>
 +                <xsl:apply-templates select="comment/srcUrl" mode="writeDetails1"/>
 +                <H2>
 +                    <span class="objType">
 +                    <xsl:choose> 
 +                        <xsl:when test="$objType = 'namespace'">Namespace </xsl:when>
 +                        <xsl:when test="$objType = 'class'">Class </xsl:when>
 +                        <xsl:when test="$objType = 'struct'">Structure </xsl:when>
 +                        <xsl:when test="$objType = 'interface'">Interface </xsl:when>
 +                        <xsl:when test="$objType = 'object'">Object </xsl:when>
 +                    </xsl:choose>
 +                    </span>
 +                    <xsl:value-of 
 +                        select="comment/name" /> 
 +                </H2>
 +                <xsl:if test="($objType = 'class') or ($objType = 'interface')">
 +                    <xsl:if test="count(comment/extends) > 0">
 +                        <div class="extends">
 +                        <span class="descSection">Extends </span>
 +                        <xsl:for-each select="comment/extends/tagContent">
 +                            <xsl:if test="position() > 1">
 +                                <xsl:text>, </xsl:text>
 +                            </xsl:if> 
 +                            <xsl:apply-templates select="content"/>
 +                        </xsl:for-each>
 +                        </div>
 +                    </xsl:if>
 +                </xsl:if> 
 +                <xsl:if test="($objType = 'class')">
 +                    <xsl:if test="count(comment/implements) > 0">
 +                        <div class="implements">
 +                        <span class="descSection">Implements </span>
 +                        <xsl:for-each select="comment/implements/tagContent">
 +                            <xsl:if test="position() > 1">
 +                                <xsl:text>, </xsl:text>
 +                            </xsl:if>
 +                            <xsl:apply-templates select="content"/>
 +                        </xsl:for-each>
 +                        </div>
 +                    </xsl:if>
 +                </xsl:if>
 +                
 +                <xsl:if test="count(/jgdoc/items/*[(name() = 'class' or name() = 'interface') and comment/extends/tagContent[@name=$objectName]]) != 0">
 +                    <div class="subclasses">
 +                        <div class="descSection">
 +                            <xsl:if test="name() = 'class'">Direct Known Subclasses:</xsl:if>
 +                            <xsl:if test="name() = 'interface'">All Known Subinterfaces:</xsl:if>
 +                        </div>
 +                        <div class="paddedDetails">
 +                           <xsl:for-each select="/jgdoc/items/*[comment/extends/tagContent[@name=$objectName]]">
 +                               <xsl:if test="position() > 1">
 +                                <xsl:text>, </xsl:text>
 +                            </xsl:if>
 +                            <xsl:element name="a">
 +                                <xsl:attribute name="href">
 +                                    <xsl:call-template name="writeLink">
 +                                        <xsl:with-param name="refName"><xsl:value-of select="@id"/></xsl:with-param>
 +                                    </xsl:call-template>
 +                                </xsl:attribute>
 +                                <span><xsl:value-of select="@id"/></span>
 +                            </xsl:element>
 +                           </xsl:for-each>
 +                        </div>
 +                    </div>
 +                </xsl:if>
 +
 +                <xsl:if test="count(/jgdoc/items/class[comment/implements/tagContent[@name=$objectName]]) != 0">
 +                    <div>
 +                        <div>
 +                            All Known Implementing Classes:
 +                        </div>
 +                        <div>
 +                           <xsl:for-each select="/jgdoc/items/class[comment/implements/tagContent[@name=$objectName]]">
 +                               <xsl:if test="position() > 1">
 +                                <xsl:text>, </xsl:text>
 +                            </xsl:if>
 +                            <xsl:element name="a">
 +                                <xsl:attribute name="href">
 +                                    <xsl:call-template name="writeLink">
 +                                        <xsl:with-param name="refName"><xsl:value-of select="@id"/></xsl:with-param>
 +                                    </xsl:call-template>
 +                                </xsl:attribute>
 +                                <span><xsl:value-of select="@id"/></span>
 +                            </xsl:element>
 +                           </xsl:for-each>
 +                        </div>
 +                    </div>
 +                </xsl:if>
 +
 +                
 +                <hr/>
 +                <!-- description -->
 +                <div>
 +                    <code>
 +                        <span class="modifiers"><xsl:value-of select="comment/modifiers/@name"/></span>
 +                        <xsl:text> </xsl:text>
 +                        <span class="objType"><xsl:value-of select="$objType"/></span> 
 +                        <xsl:text> </xsl:text>
 +                        <b><xsl:value-of select="comment/name"/></b>
 +                 </code>
 +                </div>
 +                <xsl:for-each
 +                    select='comment/commentContent/content'>
 +                    <div class="comment">
 +                    <xsl:apply-templates select='.'/>
 +                    </div>
 +                </xsl:for-each>
 +                <xsl:apply-templates select="comment" mode="genCommonAttrs" />
 +                <xsl:for-each select="/jgdoc/items/*[@id=$objectName and @physOwner != '']">
 +                    <span class="definedIn">Defined in </span>
 +                    <xsl:element name='a'>
 +                        <xsl:attribute name='href'>
 +                            <xsl:value-of select="$rootPath"/>physical/<xsl:value-of select="/jgdoc/items/*[@id=/jgdoc/items/*[@id=$objectName]/@physOwner]/@path"/>.html</xsl:attribute>
 +                        <xsl:value-of select='/jgdoc/items/*[@id=/jgdoc/items/*[@id=$objectName]/@physOwner]/comment/name'/>
 +                    </xsl:element>
 +                </xsl:for-each>
 +                <hr/> 
 +                <p />
 +                
 +                <xsl:variable name="nested"><xsl:if test="@elementType = 'logical_container' and name() != 'namespace'">Nested</xsl:if></xsl:variable>
 +                
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                   <xsl:with-param name="elementType">class</xsl:with-param>
 +                   <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Class</xsl:with-param>
 +                </xsl:apply-templates>  
 +
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                   <xsl:with-param name="elementType">interface</xsl:with-param>
 +                   <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Interface</xsl:with-param>
 +                </xsl:apply-templates>  
 +                
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                   <xsl:with-param name="elementType">object</xsl:with-param>
 +                   <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Object</xsl:with-param>
 +                </xsl:apply-templates>
 +                
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                   <xsl:with-param name="elementType">struct</xsl:with-param>
 +                   <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Structure</xsl:with-param>
 +                </xsl:apply-templates>  
 +
 +
 +                <!-- Variables -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">variable</xsl:with-param>
 +                    <xsl:with-param name="elementName">Variable</xsl:with-param>
 +                </xsl:apply-templates>              
 +
 +
 +                <xsl:apply-templates select="legacies" mode="inheritance">
 +                    <xsl:with-param name="memberName">Variables</xsl:with-param>
 +                    <xsl:with-param name="memberType">variable</xsl:with-param>
 +                </xsl:apply-templates>                
 +
 +
 +                <!-- properties -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">property</xsl:with-param>
 +                    <xsl:with-param name="elementName">Property</xsl:with-param>
 +                </xsl:apply-templates>     
 +                
 +
 +                <xsl:apply-templates select="legacies" mode="inheritance">
 +                    <xsl:with-param name="memberName">Properties</xsl:with-param>
 +                    <xsl:with-param name="memberType">property</xsl:with-param>
 +                </xsl:apply-templates>                
 +
 +
 +                
 +                <!-- Constructors -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">constructor</xsl:with-param>
 +                    <xsl:with-param name="elementName">Constructor</xsl:with-param>
 +                </xsl:apply-templates>                
 +                
 +                <!-- Functions -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">function</xsl:with-param>
 +                    <xsl:with-param name="elementName">Function</xsl:with-param>
 +                </xsl:apply-templates>
 +                
 +                <!-- Events -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">event</xsl:with-param>
 +                    <xsl:with-param name="elementName">Event</xsl:with-param>
 +                </xsl:apply-templates>
 +                
 +                <xsl:apply-templates select="legacies" mode="inheritance">
 +                    <xsl:with-param name="memberName">Functions</xsl:with-param>
 +                    <xsl:with-param name="memberType">function</xsl:with-param>
 +                </xsl:apply-templates>                
 +                
 +                                
 +                <!-- Function interfaces -->
 +                <xsl:apply-templates select="children" mode="writeSummary">
 +                    <xsl:with-param name="elementType">ifunction</xsl:with-param>
 +                    <xsl:with-param name="elementName">Function Interface</xsl:with-param>
 +                </xsl:apply-templates>
 +                
 +                <!-- ============== Details coming here =================== -->                
 +
 +                <!-- variables -->              
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Variable</xsl:with-param>
 +                    <xsl:with-param name="memberType">variable</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>
 +
 +                <!-- properties -->
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Property</xsl:with-param>
 +                    <xsl:with-param name="memberType">property</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>
 +                                
 +                
 +                <!-- constructors -->
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Constructor</xsl:with-param>
 +                    <xsl:with-param name="memberType">constructor</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>
 +                
 +                <!-- functions -->
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Function</xsl:with-param>
 +                    <xsl:with-param name="memberType">function</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>    
 +                
 +                <!-- events -->
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Event</xsl:with-param>
 +                    <xsl:with-param name="memberType">event</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>            
 +
 +                <!-- function interfaces -->
 +                <xsl:call-template name="writeDetails">
 +                    <xsl:with-param name="memberName">Function Interface</xsl:with-param>
 +                    <xsl:with-param name="memberType">ifunction</xsl:with-param>
 +                    <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param>
 +                </xsl:call-template>        
 +        </div>
 +    </xsl:template>
 +    
 +
 +	<xsl:template match="/">
 +		<xsl:comment>Generated by jGrouseDoc</xsl:comment>
 +		<html>
 +		    <head>
 +                 <title><xsl:value-of select="$projectName"/></title>
 +                 <script>
 +
 +					(function()
 +					{
 +					    var loc = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
 +                        loc = loc.split('\\');
 +                        loc = loc.join('/');					    
 +					    loc = loc.split('/');
 +					    loc.pop();
 +					    loc = loc.join('/');
 +					    loc += '/' + '<xsl:value-of select="$trueRootPath"/>';
 +					
 +					    document.write("<base href='" + loc + "'></base>");
 +					})();
 +                 
 +                 </script>
 +                 
 +			     <xsl:call-template name="writeCss">
 +			         <xsl:with-param name="rootPath"></xsl:with-param>
 +			         <xsl:with-param name="aux_css"><xsl:value-of select="$aux_css"/></xsl:with-param>
 +			     </xsl:call-template>
 +                 <script type="text/javascript" src="navTree.js"></script>
 +                 <script type="text/javascript" src="jgdoc.js"></script>
 +			</head>
 +			<body>
 +                <div class="startup" id="startup">
 +                     <div class="banner" id="banner">
 +			             <h1 class="projectName">
 +			                 <xsl:element name="a">
 +			                     <xsl:attribute name="href">.</xsl:attribute>
 +			                     <xsl:value-of select="$projectName"/>
 +			                 </xsl:element>
 +			             </h1>
 +			             <div class="bar">
 +			                 version <xsl:value-of select="$version"/>
 +			             </div>
 +			         </div>
 +                     <div class="content" id="docContent">
 +		                  <div class="block">
 +		                        <div id="searchBlock">
 +					                <div class="search" >
 +					                    <div class="searchLabel">Search:</div>
 +					                    <div class="searchBlock" style="height:100%">
 +							                <input id="jgsSearchString" type="text" size="60" class="jgdSearchString"/>
 +							                <div id="jgsSearchPanel" class="jgsSearchPanel" style="display:none">
 +								                <div  class="jgdSearchRect" >
 +								                    <div id="jgsSearchResults">
 +								                        Loading....
 +								                    </div>
 +								                </div>
 +							                   <div id="jgsInfo" class="jgsInfo" >No selection</div>
 +		                                    </div>
 +		                                 </div>
 +					                </div>
 +				                </div>
 +				                <div id="docScroll" class="docScroll">
 +				                    <div>
 +					                    <hr/>
 +						                <xsl:apply-templates select="/jgdoc/items/*[@id=$objectName]"/>
 +					                </div>			                    
 +				                </div>
 +                	       </div>
 +		             </div>
 +                     <xsl:call-template name="navigationPane">
 +                          <xsl:with-param name="elementType"><xsl:value-of select="$navSection"/></xsl:with-param>
 +                     </xsl:call-template>  
 +				</div>	
 +			</body>
 +            <script type="text/javascript">
 +                jgdoc.Searcher.start();
 +                jgdoc.NavTree.initialize('<xsl:value-of select="$objectName"/>');
 +            </script>			
 +			<script type="text/javascript" src="jsindex.js">
 +            </script>
 +		</html>
 +	</xsl:template>
 +
 +
 +
 +</xsl:stylesheet>
 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 @@ +<!-- 
 +	jGrouseDoc template file. Renders search pane
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: jgsearch.xslt 276 2007-12-09 00:50:40Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	<xsl:param name='rootPath' />
 +	<xsl:param name="projectDesc"/>
 +	<xsl:param name='version'/>
 +    <xsl:param name='aux_css'>not_specified</xsl:param>
 +	
 +	<xsl:output method='HTML' doctype-public="-//W3C//DTD HTML 4.01//EN"
 +		doctype-system="http://www.w3.org/TR/html4/strict.dtd">
 +
 +	</xsl:output>
 +	<xsl:import href="../../common/xslt/common.xslt"/>
 +	
 +	<xsl:template match="/">
 +		<xsl:comment>Generated by jGrouseDoc</xsl:comment>
 +	
 +		<html>
 +		    <head>
 +                <xsl:call-template name="writeCss">
 +                     <xsl:with-param name="rootPath"><xsl:value-of select="$rootPath"/></xsl:with-param>
 +                     <xsl:with-param name="aux_css"><xsl:value-of select="$aux_css"/></xsl:with-param>
 +                 </xsl:call-template>
 +            <script type="text/javascript" src="jgdoc.js">
 +            </script>
 +			</head>
 +			<body>
 +			    <div class="search">
 +			    <h1>Search</h1>
 +				<input id="jgsSearchString" type="text" class="jgdSearchString"/>
 +				<div  class="jgdSearchRect" >
 +				    <div id="jgsSearchResults">
 +				        Loading....
 +				    </div>
 +				</div>
 +				<div id="jgsInfo" class="jgsInfo" ></div>
 +				</div>
 +			</body>
 +            <script type="text/javascript">
 +            jgdoc.Searcher.start();
 +            </script>
 +			<script type="text/javascript" src="jsindex.js">
 +            </script>
 +		</html>
 +	</xsl:template>
 +</xsl:stylesheet>
 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 @@ +<!-- 
 +	jGrouseDoc template file. Creates Javascript index
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: jsindex.xslt 276 2007-12-09 00:50:40Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	<xsl:param name='fileName' />
 +	<xsl:param name='rootPath' />
 +	<xsl:param name='version'/>	
 +    <xsl:param name='aux_css'>not_specified</xsl:param>
 +	
 +	<xsl:output method='text'>
 +	</xsl:output>
 +    <xsl:import href="../../common/xslt/common.xslt"/>
 +	
 +    <xsl:template match="function|constructor|ifunction|event" mode="JSwriteSummary">
 +        <xsl:choose>
 +            <xsl:when test="count(comment/inheritdesc) != 0">
 +                <xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +                <xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="JSwriteFuncSummary1">
 +                    <xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:when>
 +            <xsl:otherwise>
 +                <xsl:apply-templates select="." mode="JSwriteFuncSummary1">
 +                    <xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                    <xsl:with-param name="modifiers"><xsl:value-of select="comment/modifiers/@name"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:otherwise>
 +        </xsl:choose>       
 +    </xsl:template>
 +    
 +    <xsl:template match="function|constructor|ifunction|event" mode="JSwriteFuncSummary1">
 +        <xsl:param name="origName"/>
 +        <xsl:param name="modifiers"/>
 +        <xsl:value-of select="name()"/><xsl:text> </xsl:text>  
 +        <xsl:choose>
 +            <xsl:when test="count(comment/paramSet) != 0">
 +                <xsl:for-each select="comment/paramSet"><xsl:if test="position() != 1"><xsl:text>\n</xsl:text></xsl:if><xsl:if test="string-length($modifiers) != 0">
 +                        <xsl:value-of select="$modifiers"/><xsl:text> </xsl:text>
 +                        </xsl:if>
 +                        <xsl:if test="count(../../comment/type) != 0">
 +                        <xsl:apply-templates select="../../comment/type"/>
 +                        <xsl:text> </xsl:text>
 +                        </xsl:if> 
 +                        <xsl:value-of select="../../@localName"/>
 +                        <xsl:call-template name="writeFunctionParams"> 
 +                            <xsl:with-param name="funcName"><xsl:value-of select="../../@id"/></xsl:with-param>
 +                                <xsl:with-param name="paramSetCount"><xsl:value-of select="position()"/></xsl:with-param>
 +                        </xsl:call-template>
 +                </xsl:for-each> 
 +            </xsl:when>
 +            <xsl:otherwise>
 +                    <xsl:if test="string-length($modifiers) != 0">
 +                    <xsl:value-of select="$modifiers"/>
 +                    <xsl:text> </xsl:text></xsl:if>
 +                    <xsl:if test="count(comment/type) != 0">                  
 +                    <xsl:apply-templates select="comment/type"/>
 +                    <xsl:text> </xsl:text></xsl:if><xsl:value-of select="@localName"/>()</xsl:otherwise>
 +        </xsl:choose>
 +    </xsl:template>	
 +    
 +    <xsl:template match="class|namespace|struct|interface|object" mode="JSwriteSummary">
 +        <xsl:if test="count(comment/modifiers) != 0"><xsl:value-of select="comment/modifiers/@name"/><xsl:text> </xsl:text></xsl:if>
 +        <xsl:value-of select="name()"/><xsl:text> </xsl:text>
 +        <xsl:value-of select="@localName"/>
 +    </xsl:template>
 +    
 +    
 +    <xsl:template match="variable|property" mode="JSwriteSummary">
 +        <xsl:choose>
 +            <xsl:when test="count(comment/inheritdesc) != 0">
 +                <xsl:variable name="fn"><xsl:value-of select="comment/inheritdesc/tagContent/@name"/></xsl:variable>
 +                <xsl:apply-templates select="/jgdoc/items/*[@id=$fn]" mode="JSwriteVarSummary1">
 +                    <xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:when>
 +            <xsl:otherwise>
 +                <xsl:apply-templates select="." mode="JSwriteVarSummary1">
 +                    <xsl:with-param name="origName"><xsl:value-of select="@id"/></xsl:with-param>
 +                </xsl:apply-templates>
 +            </xsl:otherwise>
 +        </xsl:choose>       
 +    </xsl:template>
 +    
 +    <xsl:template match="variable|property" mode="JSwriteVarSummary1">
 +        <xsl:param name="origName"/>
 +            <xsl:value-of select="name()"/><xsl:text> </xsl:text>
 +            <xsl:if test="count(comment/type) != 0">
 +            <xsl:apply-templates select="comment/type"/>
 +            <xsl:text> </xsl:text></xsl:if>
 +            <xsl:value-of select="@localName" />
 +    </xsl:template>
 +    
 +    	
 +
 +	<xsl:template match="/">
 +/*Generated by jGrouseDoc*/
 +(function()
 +{
 +    var data = [<xsl:for-each select="/jgdoc/items/*[@elementType != 'phys_container']//comment"><xsl:sort select="@localName"/><xsl:if test="position() != 1">,</xsl:if>
 +        <xsl:call-template name="writeJS"/>
 +    </xsl:for-each>];
 +    jgdoc.setData(data);
 +    
 +})()
 +	</xsl:template>
 +	
 +	<xsl:template name="writeJS">
 +	   {
 +	       localName : "<xsl:value-of select="../@localName"/>",
 +	       fullName : "<xsl:value-of select="../@id"/>",
 +	       summary : "<xsl:apply-templates select=".." mode="JSwriteSummary"/>",
 +	       ref : "<xsl:call-template name="writeLink"><xsl:with-param name="refName"><xsl:value-of select="../@id"/></xsl:with-param></xsl:call-template>",
 +	       parent : "<xsl:value-of select="../@parentName"/>",
 +	       type : "<xsl:value-of select="name(..)"/>",
 +	       elementType : "<xsl:value-of select="../@elementType"/>"
 +	       
 +	   }
 +	</xsl:template>
 +</xsl:stylesheet>
 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 @@ +<!-- 
 +	jGrouseDoc template file. Renders search pane
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: nfcommon.xslt 276 2007-12-09 00:50:40Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	
 +    <xsl:template name="navigationPane">
 +        <xsl:param name="elementType"/>
 +	    <div class="navigation" id="navigation">
 +	       <xsl:element name="ul">
 +	           <xsl:if test="$elementType = 'logical'">
 +	               <xsl:attribute name="class">navContent</xsl:attribute>
 +	           </xsl:if>
 +               <xsl:if test="$elementType != 'logical'">
 +                   <xsl:attribute name="class">navContent closed</xsl:attribute>
 +               </xsl:if>
 +	           <li>
 +			       <div class="navTree">
 +			           <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +			             <a href="javascript:jgdoc.NavPanel.dummy()">Navigation</a></h2>
 +			           <ul class="navContent2">
 +			               <li>
 +					           <div>
 +					               <a class="openAll" href="javascript:jgdoc.NavTree.onOpenAll()">Open All</a>
 +					               <a class="closeAll" href="javascript:jgdoc.NavTree.onCloseAll()">Close All</a>
 +					           </div>
 +					           
 +					           <div>
 +					               <ul id = "content" class="contents">
 +					                   Loading...
 +					               </ul>
 +					           </div>
 +					       </li>
 +					   </ul>
 +			       </div>
 +			   </li>
 +		   </xsl:element>
 +		   <xsl:element name="ul">
 +               <xsl:if test="$elementType = 'file'">
 +                   <xsl:attribute name="class">navContent</xsl:attribute>
 +               </xsl:if>
 +               <xsl:if test="$elementType != 'file'">
 +                   <xsl:attribute name="class">navContent closed</xsl:attribute>
 +               </xsl:if>
 +               <li>
 +                   <div class="fileTree">
 +                       <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +                            <a href="javascript:jgdoc.NavPanel.dummy()">Files</a></h2>
 +                       <ul class="navContent2">
 +                           <li>
 +				                <xsl:for-each select="/jgdoc/items/file[@isModuleFile='false']">
 +				                    <xsl:sort select="@id"/>
 +				                    <div>
 +				                        <xsl:element name="a">
 +				                            <xsl:attribute name="href">physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +				                            <xsl:value-of select="comment/name"/>
 +				                        </xsl:element>
 +				                    </div>
 +				                </xsl:for-each> 
 +                           </li>
 +                       </ul>
 +                   </div>
 +               </li>
 +           </xsl:element>		       
 +           <xsl:element name="ul">
 +               <xsl:if test="$elementType = 'module'">
 +                   <xsl:attribute name="class">navContent</xsl:attribute>
 +               </xsl:if>
 +               <xsl:if test="$elementType != 'module'">
 +                   <xsl:attribute name="class">navContent closed</xsl:attribute>
 +               </xsl:if>
 +               <li>
 +                   <div class="moduleTree">
 +                       <h2 onclick="jgdoc.NavPanel.clicked(event)">
 +                        <a href="javascript:jgdoc.NavPanel.dummy()">Modules</a></h2>
 +                       <ul class="navContent2">
 +                           <li>
 +				                <xsl:for-each select="/jgdoc/items/module">
 +				                    <xsl:sort select="@id"/>
 +				                    <div>
 +				                        <xsl:element name="a">
 +				                            <xsl:attribute name="href">physical/<xsl:value-of select="@path"/>.html</xsl:attribute>
 +				                            <xsl:value-of select="comment/name"/>
 +				                        </xsl:element>
 +				                    </div>
 +				                </xsl:for-each> 
 +                           </li>
 +                       </ul>
 +                   </div>
 +               </li>
 +            </xsl:element>            
 +	    </div>
 +    </xsl:template>
 +	
 +</xsl:stylesheet>
 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 @@ +<!-- 
 +	jGrouseDoc template file. 
 +	Creates content for top-left frame with all namespaces
 +	@Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@
 +	$Id: startup.xslt 276 2007-12-09 00:50:40Z denis.riabtchik $
 +-->
 +
 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +	version="1.0">
 +	<xsl:param name='rootPath' />
 +    <xsl:param name="projectDesc"/>
 +    <xsl:param name="projectName"/>
 +	<xsl:param name='version'/>	
 +    <xsl:param name='aux_css'>not_specified</xsl:param>
 +	
 +	<xsl:output method='HTML' doctype-public="-//W3C//DTD HTML 4.01//EN"
 +		doctype-system="http://www.w3.org/TR/html4/strict.dtd">
 +
 +	</xsl:output> 
 +    <xsl:import href="../../common/xslt/common.xslt"/>
 +    <xsl:import href="nfcommon.xslt"/>
 +
 +	<xsl:template match="/">
 +		<xsl:comment>Generated by jGrouseDoc</xsl:comment>
 +		<html>
 +		    <head>
 +			     <xsl:call-template name="writeCss">
 +			         <xsl:with-param name="rootPath"><xsl:value-of select="$rootPath"/></xsl:with-param>
 +			         <xsl:with-param name="aux_css"><xsl:value-of select="$aux_css"/></xsl:with-param>
 +			     </xsl:call-template>
 +                 <script type="text/javascript" src="navTree.js"></script>
 +                 <script type="text/javascript" src="jgdoc.js"></script>
 +                 <title><xsl:value-of select="$projectName"/></title>
 +			</head>
 +			<body>
 +			    <div class="startup" id="startup">
 +			         <div class="banner" id="banner">
 +                         <h1 class="projectName">
 +                             <xsl:element name="a">
 +                                 <xsl:attribute name="href">.</xsl:attribute>
 +                                 <xsl:attribute name="class">banner</xsl:attribute>
 +                                 <xsl:value-of select="$projectName"/>
 +                             </xsl:element>
 +                         </h1>
 +                         <div class="bar">
 +                             version <xsl:value-of select="$version"/>
 +                         </div>
 +                     </div>
 +		             <div class="content" id="docContent">
 +		                  <div class="block">
 +				                <div class="search" id="searchBlock">
 +				                    <div class="searchLabel">Search:</div>
 +				                    <div class="searchBlock">
 +						                <input id="jgsSearchString" type="text" size="60" class="jgdSearchString"/>
 +						                <div id="jgsSearchPanel" class="jgsSearchPanel" style="display:none">
 +							                <div  class="jgdSearchRect" >
 +							                    <div id="jgsSearchResults">
 +							                        Loading....
 +							                    </div>
 +							                </div>
 +						                   <div id="jgsInfo" class="jgsInfo" >No selection</div>
 +	                                    </div>
 +	                                 </div>
 +				                </div>
 +				                <div id="docScroll" class="docScroll">
 +				                    <div>
 +				                    <hr/>
 +					                <xsl:if test="count(/jgdoc/project) != 0">
 +					                    <div class="projectDesc">
 +					                    <a name="desc"></a><br/>
 +					                    <xsl:if test="string-length($projectDesc) != 0">
 +					                       <h1><xsl:value-of select="$projectDesc"/></h1>
 +					                    </xsl:if>
 +					                    <xsl:apply-templates select='/jgdoc/project/comment/commentContent/content'/>
 +					                    <p />
 +					                    <xsl:apply-templates select="/jgdoc/project/comment" mode="genCommonAttrs" />
 +					                    </div>
 +					                </xsl:if>
 +					                </div>				                    
 +				                </div>
 +                	       </div>
 +		             </div>
 +		             <xsl:call-template name="navigationPane">
 +		                  <xsl:with-param name="elementType">logical</xsl:with-param>
 +		             </xsl:call-template>  
 +				</div>	  
 +			</body>
 +            <script type="text/javascript">
 +                jgdoc.Searcher.start();
 +                jgdoc.NavTree.initialize('GLOBAL');
 +            </script>			
 +			<script type="text/javascript" src="jsindex.js">
 +            </script>
 +		</html>
 +	</xsl:template>
 +
 +
 +
 +</xsl:stylesheet>
 diff --git a/buildscripts/jGrouseDoc/themes/prado/build.xml b/buildscripts/jGrouseDoc/themes/prado/build.xml new file mode 100644 index 00000000..80b31b40 --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/prado/build.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?>
 +
 +<project name="prado theme" default="applyJGrouseDoc">
 +
 +    <target name="applyJGrouseDoc">
 +        <echo>Applying simple theme</echo>
 +        <copy todir="${outputDir}">
 +            <fileset dir="${jGrouseHome}/themes/prado/css" includes="*.css"></fileset>
 +        </copy>
 +    </target>
 +</project>
 diff --git a/buildscripts/jGrouseDoc/themes/prado/css/theme.css b/buildscripts/jGrouseDoc/themes/prado/css/theme.css new file mode 100644 index 00000000..8fffb79e --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/prado/css/theme.css @@ -0,0 +1,99 @@ +body {
 +	margin:10px;
 +	padding:0px;
 +}
 +body,div,span,p,input {
 +	color:#333333;
 +    font-family:Verdana,sans-serif,Arial;
 +    font-size: 10pt;
 +}
 +h1, h2, h3, h4 {
 +    color:#821B18;
 +    font-family:Verdana,Helvetica,Arial,Lucida Grande,Trebuchet MS;
 +    font-weight:normal;
 +    margin:0px 0px 10px;
 +    padding:0px;
 +}
 +
 +a, a span {
 +    color:#CD2C27;
 +    text-decoration:none;
 +}
 +a:hover {
 +    color:#821B18;
 +    text-decoration:underline;
 +}
 +
 +hr{
 +  border: 0px; 
 +  border-top: solid 1px silver;
 +  border-bottom: solid 1px #fff;
 +}
 +
 +.banner { display: none }
 +
 +.comment {
 +    background-color:#F0F0F0;
 +    margin-bottom:5px;
 +    margin-top:10px;
 +    padding:1em 8px;
 +}
 +
 +.summaryTable, .details { 
 +    margin-top: .5em;
 +    border: 1px solid silver;
 +    font-size: 1em;
 +}
 +.summaryTableHeader, .details .sectionHeader {
 +    border: 0;
 +    background-color:#F0F0F0;
 +    font-size:1.2em;
 +    font-weight:bold;
 +    padding:5px;
 +    text-align:left;
 +}
 +.summaryTable .summaryItem {
 +    padding: .25em;
 +    border-top: 1px solid silver;
 +}
 +.summaryTable .summaryItemDef {
 +    font-family: "courier new", courier;
 +}
 +.summaryTable .summaryItemDesc {
 +    margin-top: .25em;
 +}
 + 
 +.details .comment {
 +    background-color: #fff;
 +}
 +
 +.details h3, .details div code {
 +    margin-top: .25em;
 +    padding: .25em;
 +}
 +.details h3 a span {
 +    font-size: 18px;
 +    color:#750000;
 +}
 +.details div code {
 +    color: #000;
 +    font-weight: bold;
 +}
 +.details div code span {
 +    font-weight: normal;
 +}
 +
 +.details .returns, .details .parameters {
 +    border: 1px solid silver;
 +    margin: .5em;
 +}
 +.details .returns br, .details .parameters br, .details h3 a span.objType {
 +    display: none;
 +}
 +.details .returns .descSection, .details .parameters .descSection {
 +    display: block;
 +    border-bottom: 1px solid silver;
 +    background-color:#F0F0F0;
 +    padding: .25em;
 +}
 +    
\ No newline at end of file diff --git a/buildscripts/jGrouseDoc/themes/sample/build.xml b/buildscripts/jGrouseDoc/themes/sample/build.xml new file mode 100644 index 00000000..9e029fe5 --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/build.xml @@ -0,0 +1,14 @@ +<?xml version="1.0"?>
 +
 +<project name="sample theme" default="applyJGrouseDoc">
 +
 +    <target name="applyJGrouseDoc">
 +        <echo>Applying sample theme</echo>
 +    	<copy todir="${outputDir}" overwrite="yes">
 +            <fileset dir="${jGrouseHome}/themes/sample/css" includes="*.css"></fileset>
 +    	</copy>
 +    	<copy todir="${outputDir}" overwrite="yes">
 +            <fileset dir="${jGrouseHome}/themes/sample/img" includes="*"></fileset>
 +    	</copy>
 +    </target>
 +</project>
 diff --git a/buildscripts/jGrouseDoc/themes/sample/css/theme.css b/buildscripts/jGrouseDoc/themes/sample/css/theme.css new file mode 100644 index 00000000..7a1484e5 --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/css/theme.css @@ -0,0 +1,122 @@ +/*--------- sample theme --------------*/
 +
 +body {
 +	font-family: sans-serif;
 +	font-size: 0.9em;
 +}
 +
 +code {
 +	font-size: 1.1em;
 +}
 +
 +a:link, a:visited
 +{
 +	color: blue;
 +}
 +
 +
 +a:hover {
 +	text-decoration: underline;
 +}
 +
 +a[name]:hover {
 +    text-decoration: none;
 +}
 +
 +
 +hr {
 +	border: 1px;
 +	background-color: #D0D0D0;
 +}
 +
 +.summaryTable {
 +	border: medium none;
 +	margin-top: 0.5em;
 +}
 +
 +.summaryTableHeader {
 +	background-color: #66CCCC;
 +	font-size: 1.3em;
 +}
 +
 +.summaryTable .summaryItem {
 +	border : none;
 +	border-bottom: 1px solid;
 +	border-color: #d0d0d0;
 +	padding-top: 0.3em;
 +}
 +
 +.summaryTable .summaryItemRef
 +{
 +	font-weight: normal;
 +}
 +
 +
 +.summaryTable .inheritanceSummary 
 +{
 +	border: none;
 +}
 +
 +.sectionHeader {
 +	background-color: #66CCCC;
 +	border: medium none;
 +	font-size: 1.3em;
 +}
 +
 +.elementName {
 +	font-weight: normal;
 +}
 +
 +.paddedDetails {
 +	font-size: 0.9em;
 +}
 +
 +.paddedDetails code {
 +	font-weight: bolder;
 +}
 +
 +.type 
 +{
 +	color: green;
 +	font-weight: bolder;
 +}
 +
 +.modifiers
 +{
 +	color: purple;
 +}
 +
 +.logicalDetail .summaryTable
 +{
 +	display: inherit;
 +}
 +
 +.navbaritem
 +{
 +	background-color: #66CCCC;
 +}
 +
 +.navbaritem a
 +{
 +    background-color: #66CCCC;
 +    color: black;
 +    text-decoration: underline;
 +}
 +
 +/** this is to show how to hide parent names */
 +.overview .parent
 +{
 +	/*display: none;*/
 +}
 +
 +a.searchItem
 +{
 +    color: black;
 +}
 +
 +a.jgdSelectedItem.searchItem 
 +{
 +	color: white;
 +	text-decoration: none;
 +}
 +
 diff --git a/buildscripts/jGrouseDoc/themes/sample/img/closed.gif b/buildscripts/jGrouseDoc/themes/sample/img/closed.gifBinary files differ new file mode 100644 index 00000000..1fe701b8 --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/img/closed.gif diff --git a/buildscripts/jGrouseDoc/themes/sample/img/closedLarge.gif b/buildscripts/jGrouseDoc/themes/sample/img/closedLarge.gifBinary files differ new file mode 100644 index 00000000..c136e65d --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/img/closedLarge.gif diff --git a/buildscripts/jGrouseDoc/themes/sample/img/node.gif b/buildscripts/jGrouseDoc/themes/sample/img/node.gifBinary files differ new file mode 100644 index 00000000..e823455d --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/img/node.gif diff --git a/buildscripts/jGrouseDoc/themes/sample/img/open.gif b/buildscripts/jGrouseDoc/themes/sample/img/open.gifBinary files differ new file mode 100644 index 00000000..eee77bda --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/img/open.gif diff --git a/buildscripts/jGrouseDoc/themes/sample/img/openLarge.gif b/buildscripts/jGrouseDoc/themes/sample/img/openLarge.gifBinary files differ new file mode 100644 index 00000000..a23ed9ba --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/sample/img/openLarge.gif diff --git a/buildscripts/jGrouseDoc/themes/simple/build.xml b/buildscripts/jGrouseDoc/themes/simple/build.xml new file mode 100644 index 00000000..c4c8f57f --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/simple/build.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?>
 +
 +<project name="sample theme" default="applyJGrouseDoc">
 +
 +    <target name="applyJGrouseDoc">
 +        <echo>Applying simple theme</echo>
 +        <copy todir="${outputDir}">
 +            <fileset dir="${jGrouseHome}/themes/simple/css" includes="*.css"></fileset>
 +        </copy>
 +    </target>
 +</project>
 diff --git a/buildscripts/jGrouseDoc/themes/simple/css/theme.css b/buildscripts/jGrouseDoc/themes/simple/css/theme.css new file mode 100644 index 00000000..2ec9fe9b --- /dev/null +++ b/buildscripts/jGrouseDoc/themes/simple/css/theme.css @@ -0,0 +1 @@ +/* empty theme */
\ No newline at end of file diff --git a/buildscripts/jGrouseDoc/velocity-dep-1.5.jar b/buildscripts/jGrouseDoc/velocity-dep-1.5.jarBinary files differ new file mode 100644 index 00000000..be52b9a2 --- /dev/null +++ b/buildscripts/jGrouseDoc/velocity-dep-1.5.jar | 
