Mercurial > public > gradleplugins
changeset 16:8400a7db1330
USASR-1307: update templates to groovydoc 2.3.6
author | smith@nwoca.org |
---|---|
date | Wed, 31 Dec 2014 22:35:45 +0000 |
parents | e3c55e83c9a4 |
children | 3741247de37a |
files | build.gradle src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css |
diffstat | 4 files changed, 3013 insertions(+), 835 deletions(-) [+] |
line wrap: on
line diff
--- a/build.gradle Fri Jan 17 18:16:29 2014 +0000 +++ b/build.gradle Wed Dec 31 22:35:45 2014 +0000 @@ -1,5 +1,6 @@ -apply from: "${gradle.hasProperty('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation :'http://hg.ssdt-ohio.org/browse/public/develkit'}/init.gradle" +def ssdtInit = GradleVersion.current() < GradleVersion.version('2.0') ? 'init' : 'init20' +apply from: "${gradle.ext.has('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation : 'http://hg.ssdt-ohio.org/browse/public/develkit'}/${ssdtInit}.gradle" description = "SSDT Gradle Plugins" @@ -14,7 +15,7 @@ sourceCompatibility = 1.6 dependencies { - groovy localGroovy() + compile localGroovy() compile gradleApi() testCompile 'junit:junit:4.10' }
--- a/src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy Fri Jan 17 18:16:29 2014 +0000 +++ b/src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy Wed Dec 31 22:35:45 2014 +0000 @@ -18,4 +18,6 @@ } + def propertyMissing(String name) { getAdaptee()."$name" } + }
--- a/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html Fri Jan 17 18:16:29 2014 +0000 +++ b/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html Wed Dec 31 22:35:45 2014 +0000 @@ -1,651 +1,735 @@ - -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!-- **************************************************************** --> -<!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * --> -<!-- * i.e. only iterate & print data where possible. Thanks, Jez. * --> -<!-- **************************************************************** --> -<% - - - classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc) - - def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "") - def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } - def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) } - def visibleFields = classDoc.fields().findAll(isVisible) - def visibleProperties = classDoc.properties() // props visible be defn - def visibleMethods = classDoc.methods().findAll(isVisible) - def visibleConstructors = classDoc.constructors().findAll(isVisible) - def visibleNested = classDoc.innerClasses().findAll(isVisible) - boolean hasFields = !classDoc.isAnnotationType() && visibleFields - boolean hasProperties = !classDoc.isAnnotationType() && visibleProperties - boolean hasElements = classDoc.isAnnotationType() && visibleFields - boolean methodSummaryShown = visibleMethods - boolean fieldSummaryShown = hasFields - boolean hasEnumConstants = classDoc.enumConstants() - def dolink = { t, boolean b -> - boolean isArray = false - if (!t || t instanceof String) { - return (classDoc.getDocUrl(t, b) -'java.util.' - 'java.lang.') - } - if (t instanceof org.codehaus.groovy.tools.groovydoc.ArrayClassDocWrapper) { - t = t.delegate - isArray = true - } - if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { - if (t.fullPathName == 'def') return classDoc.getDocUrl("java.lang.Object def", b) - return "<a href='" + classDoc.relativeRootPath + t.fullPathName + ".html'>" + ( (b ? t.qualifiedTypeName() : t.name() ) - "java.lang." - "java.util." ) + "</a>" + (isArray ? "[]" : "") - } - return ( classDoc.getDocUrl(t.qualifiedTypeName(), b) - 'java.util.' - 'java.lang.' ) + (isArray ? "[]" : "") - } - def linkfull = { t -> dolink(t, true) } - def linkable = { t -> dolink(t, false) } - def modifiersWithIgnore = { t, boolean ignorePublic -> - (t.isPrivate()?"private ":"") + - (t.isPublic() && !ignorePublic?"public ":"") + - (t.isProtected()?"protected ":"") + - (t.isStatic()?"static ":"") + - (t.isFinal()?"final ":"") + - (t.respondsTo('isAbstract') && t.isAbstract()?"abstract ":"") - } - def modifiers = { t -> modifiersWithIgnore(t, classDoc.isGroovy()) } - def modifiersBrief = { t -> - (t.isPrivate()?"private ":"") + - (t.isProtected()?"protected ":"") + - (t.isStatic()?"static ":"") - } - def annotations = { t, sepChar -> - t.annotations() ? t.annotations().collect { -// it.isTypeAvailable() ? '@'+linkable(it.type().name())+(it.description()-('@'+it.type().name())): it.description() - it.description() - }.join(sepChar) + sepChar : '' - } - def elementTypes = [ - "required":"true", - "optional":"false" - ] - def isRequired = { f, v -> - def req = f.constantValueExpression() == null; req.toString() == v - } - def upcase = { n -> n[0].toUpperCase() + n[1..-1] } - def paramsOf = { n, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName()) + (param.vararg()?'... ':' ') + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") } - def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } - def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' } -%> -<html> -<head> -<!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} --> -<title>${title}</title> -<meta name="date" content="${new Date().format('yyyy-MM-dd')}"> -<meta http-equiv="Content-Type" content="text/html; charset=${props.charset}"> -<link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon"> -<link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon"> -<link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style"> -<script type="text/javascript"> -function windowTitle() -{ - if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="${title}"; - } -} -</script> -<noscript> -</noscript> - -</head><body onload="windowTitle();" bgcolor="white"> -<hr> - -<!-- ========= START OF TOP NAVBAR ======= --> -<A NAME="navbar_top"><!-- --></A> -<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> -<TR> -<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> -<A NAME="navbar_top_firstrow"><!-- --></A> -<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> - <TR ALIGN="center" VALIGN="top"> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> - - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> - <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> - <!--<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> - --> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> - </TR> -</TABLE> -</TD> -<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> -<% if (props.header) { %><b>${props.header}</b><% } %> -</EM></TD> -</TR> - -<TR> -<TD BGCOLOR="white" CLASS="NavBarCell2"><!--<FONT SIZE="-2"> - <A HREF="${classDoc.relativeRootPath}groovy/lang/ExpandoMetaClass.ExpandoMetaProperty.html" title="class in groovy.lang"><B>PREV CLASS</B></A> - - <A HREF="${classDoc.relativeRootPath}groovy/lang/GroovyClassLoader.html" title="class in groovy.lang"><B>NEXT CLASS</B></A></FONT>--></TD> -<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}.html" target="_top"><B>FRAMES</B></A> - <A HREF="${classDoc.name()}.html" target="_top"><B>NO FRAMES</B></A> - <script type="text/javascript"> - <!-- - if(window==top) { - document.writeln('<A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A>'); - } - //--> -</script> -<noscript> - <A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A> -</noscript> - -</FONT></TD> - -</TR> -<TR> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -SUMMARY: <% - if (classDoc.isAnnotationType()) { - def hasReq = classDoc.fields().any{ isRequired(it, "true") } - def hasOpt = classDoc.fields().any{ isRequired(it, "false") } - %><% if (hasReq) { %><A HREF="#required_element_summary"><% } %>REQUIRED<% if (hasReq) { %></A><% } - %> | <% if (hasOpt) { %><A HREF="#optional_element_summary"><% } %>OPTIONAL<% if (hasOpt) { %></A><% } %><% - } else { - if (visibleNested) { %><A HREF="#nested_summary"><% } %>NESTED<% if (visibleNested) { %></A><% } - if (classDoc.isEnum()) { - %> | <% if (hasEnumConstants) { %><A HREF="#enum_constant_summary"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A><% } - } - %> | <% if (hasFields) { %><A HREF="#field_summary"><% } %>FIELD<% if (hasFields) { %></A><% } - if (hasProperties) { %> | <A HREF="#property_summary">PROPERTY</A><% } - if (classDoc.isClass()) { - %> | <% if (visibleConstructors) { %><A HREF="#constructor_summary"><% } %>CONSTR<% if (visibleConstructors) { %></A><% } - } - %> | <% if (visibleMethods) { %><A HREF="#method_summary"><% } %>METHOD<% if (visibleMethods) { %></A><% } - } - %></FONT></TD> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: <% - if (classDoc.isAnnotationType()) { - if (hasElements) { %><A HREF="#element_detail"><% } %>ELEMENT<% if (hasElements) { %></A><% } - } else { - if (classDoc.isEnum()) { - if (hasEnumConstants) { %><A HREF="#enum_constant_detail"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A> | <% } - } - if (hasFields) { %><A HREF="#field_detail"><% } %>FIELD<% if (hasFields) { %></A><% } - if (hasProperties) { %> | <A HREF="#prop_detail">PROPERTY</A><% } - if (classDoc.isClass()) { - %> | <% if (visibleConstructors) { %><A HREF="#constructor_detail"><% } %>CONSTR<% if (visibleConstructors) { %></A><% } - } - %> | <% if (visibleMethods) { %><A HREF="#method_detail"><% } %>METHOD<% if (visibleMethods) { %></A><% } - } - %></FONT></TD> -</TR> -</TABLE> -<!-- ========= END OF TOP NAVBAR ========= --> - - -<HR> -<!-- ======== START OF CLASS DATA ======== --> -<H2> -<% -def pkg = classDoc.containingPackage().nameWithDots() -if (pkg != "DefaultPackage") { -%> -<FONT SIZE="-1"> -${pkg}</FONT> -<BR> -<% } %> -<span CLASS="ClassTitleFont"> ${classDoc.typeDescription} ${classDoc.name()}</span></H2> -<% -def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses -if (parents.size() >= 2) { - %><pre><% - parents.eachWithIndex { p, i -> - %>${(i > 0 ? " " * i + " " * (i - 1) + "<img src='" + classDoc.relativeRootPath + "inherit.gif'>" : "") + ( i == parents.size() - 1 ? p.qualifiedTypeName() : linkfull(p))}\n<% - } - %></pre><% -} -if (classDoc.isInterface()) { - Set interfaces = classDoc.parentInterfaces - interfaces -= classDoc - if (interfaces) { - %><dl><dt><b>All Superinterfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><% - } -} else { - // TODO follow up the tree collecting interfaces seen? - def interfaces = classDoc.interfaces() - if (interfaces) { - %><dl><dt><b>All Implemented Interfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><% - } -} -%><hr> -<PRE>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()} -<% if (classDoc.isInterface() && classDoc.interfaces()) { -%>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')} -<% } else if (classDoc.superclass()) { -%>extends ${linkable(classDoc.superclass())} -<% } %> -</PRE> -<% if (classDoc.commentText()) { %> -<P> -${classDoc.commentText()} -</P> -<hr> -<% } %> - -<!-- =========== NESTED CLASS SUMMARY =========== --> - -<A NAME="nested_summary"><!-- --></A> -<% if (visibleNested) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Nested Class Summary</B></FONT></TH> - </TR> - <% for (c in visibleNested) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> - <CODE>${modifiersBrief(c) + c.typeSourceDescription}</CODE></FONT></TD> - <TD> - <CODE>${linkable(c)}</CODE> - <BR> - <P>${c.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } %> - -<!-- =========== ENUM CONSTANT SUMMARY =========== --> - -<A NAME="enum_constant_summary"><!-- --></A> -<% if (hasEnumConstants) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Enum Constant Summary</B></FONT></TH> - </TR> - <% for (ec in classDoc.enumConstants()) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD> - <CODE><B><A HREF="#${ec.name()}">${ec.name()}</A></B></CODE> - <BR> - <P>${ec.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } %> - -<!-- =========== FIELD SUMMARY =========== --> - -<A NAME="field_summary"><!-- --></A> -<% if (hasFields) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Field Summary</B></FONT></TH> - </TR> - <% for (field in visibleFields) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> - <CODE>${modifiersBrief(field) + linkable(field.type())}</CODE></FONT></TD> - <TD> - <CODE><B><A HREF="#${field.name()}">${field.name()}</A></B></CODE> - <BR> - <P>${field.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } - classes = [] - if (classDoc.isInterface()) { - classes.addAll(classDoc.interfaces().toList()) - } else { - if (classDoc.superclass()) classes += classDoc.superclass() - else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) - } - visited = [classDoc] as Set - while (classes) { - Set nextLevel = [] - classes.each { c -> - if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) - else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() - nextLevel -= visited - visited += nextLevel - def list = [] - if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { - list = c.fields().findAll(isVisible).collect { field -> - "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" - } - } else { - list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field -> - // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" - field.name - } - } - if (list) { - if (!fieldSummaryShown) { - fieldSummaryShown = true - %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> - <B>Field Summary</B></FONT></TH> - </TR> - </table> - <% - } - %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2"> - <b>Fields inherited from ${c.typeSourceDescription} ${linkable(c)}</b> - </th></tr> - <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr> - </table> - <% - } - } - classes = nextLevel - } -%> - -<!-- =========== PROPERTY SUMMARY =========== --> - -<A NAME="property_summary"><!-- --></A> -<% if (hasProperties) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Property Summary</B></FONT></TH> - </TR> - <% for (prop in visibleProperties) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> - <CODE>${modifiersBrief(prop) + linkable(prop.type())}</CODE></FONT></TD> - <TD> - <CODE><B><A HREF="#${prop.name()}">${prop.name()}</A></B></CODE> - <BR> - <P>${prop.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } %> - -<!-- =========== ELEMENT SUMMARY =========== --> - -<% if (hasElements) { %> - <% elementTypes.each { k, v -> %> - <A NAME="${k}_element_summary"><!-- --></A> - <% if (visibleFields.any{ isRequired(it, v) }) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>${upcase(k)} Element Summary</B></FONT></TH> - </TR> - <% for (element in visibleFields) { %> - <% if (isRequired(element, v)) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> - <CODE>${modifiersBrief(element) + element.type().typeName()}</CODE></FONT></TD> - <TD> - <CODE><B><A HREF="#${element.name()}">${element.name()}</A></B></CODE> - <BR> - <P>${element.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - <% } %> - </TABLE> - <% } %> - - <% } %> -<% } %> - -<!-- ======== CONSTRUCTOR SUMMARY ======== --> - -<A NAME="constructor_summary"><!-- --></A> -<% if (visibleConstructors) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor"> - <TD COLSPAN=2><FONT SIZE="+2"> - <B>Constructor Summary</B></FONT></TD> - </TR> - <% for (constructor in visibleConstructors) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD> - <CODE>${modifiersBrief(constructor)}<B><a href="#${nameFromParams(constructor)}">${constructor.name()}</a></B>(${paramsOf(constructor, true)})</CODE> - <BR> - <P>${constructor.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } %> - -<!-- ========== METHOD SUMMARY =========== --> - -<A NAME="method_summary"><!-- --></A> -<% if (visibleMethods) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> - <B>Method Summary</B></FONT></TH> - </TR> - <% for (method in visibleMethods) { %> - <TR BGCOLOR="white" CLASS="TableRowColor"> - <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont"> - <CODE>${modifiersBrief(method)}${linkable(method.returnType())}</CODE></FONT> - </TD> - <TD> - <CODE><b><a href="#${nameFromParams(method)}">${method.name()}</a></b>(${paramsOf(method, true)})</CODE> - <BR> - <P>${method.firstSentenceCommentText()}</P> - </TD> - </TR> - <% } %> - </TABLE> - -<% } - Set classes = [] - if (classDoc.isInterface()) { - classes.addAll(classDoc.interfaces().toList()) - } else { - if (classDoc.superclass()) classes += classDoc.superclass() - else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) - } - Set visited = [classDoc] as Set - while (classes) { - Set nextLevel = [] - classes.each { c -> - if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) - else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() - nextLevel -= visited - visited += nextLevel - def list = [] - if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { - list = c.methods().findAll(isVisible).collect { method -> - "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>" - } - } else { - list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method -> - linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name) - } - } - if (list) { - if (!methodSummaryShown) { - methodSummaryShown = true - %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> - <B>Method Summary</B></FONT></TH> - </TR> - </table> - <% - } - %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2"> - <b>Methods inherited from ${c.typeSourceDescription} ${linkable(c)}</b> - </th></tr> - <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr> - </table> - <% - } - } - classes = nextLevel - } -%> - -<P> - -<!-- ============ ENUM CONSTANT DETAIL ========== --> - -<A NAME="enum_constant_detail"><!-- --></A> -<% if (hasEnumConstants) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> - <B>Enum Constant Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (ec in classDoc.enumConstants()) { %> - <A NAME="${ec.name()}"><!-- --></A><H3>${ec.name()}</H3> - <PRE>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <B>${ec.name()}</B></PRE> - <DL> - <DD>${ec.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- =========== FIELD DETAIL =========== --> - -<A NAME="field_detail"><!-- --></A> -<% if (hasFields) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Field Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (field in visibleFields) { %> - <A NAME="${field.name()}"><!-- --></A><H3>${field.name()}</H3> - <PRE>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <B>${field.name()}</B></PRE> - <DL> - <DD>${field.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- =========== PROPERTY DETAIL =========== --> - -<A NAME="prop_detail"><!-- --></A> -<% if (hasProperties) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Property Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (prop in visibleProperties) { %> - <A NAME="${prop.name()}"><!-- --></A><H3>${prop.name()}</H3> - <PRE>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <B>${prop.name()}</B></PRE> - <DL> - <DD>${prop.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- =========== ELEMENT DETAIL =========== --> - -<A NAME="element_detail"><!-- --></A> -<% if (hasElements) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> - <B>Element Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (element in visibleFields) { %> - <A NAME="${element.name()}"><!-- --></A><H3>${element.name()}</H3> - <PRE>${modifiers(element) + linkable(element.type())} <B>${element.name()}</B></PRE> - <DL> - <DD>${element.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- ========= CONSTRUCTOR DETAIL ======== --> - -<A NAME="constructor_detail"><!-- --></A> -<% if (visibleConstructors) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> - <B>Constructor Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (constructor in visibleConstructors) { %> - <A NAME="${nameFromParams(constructor)}"><!-- --></A><H3> - ${constructor.name()}</H3> - <PRE>${annotations(constructor, '\n') + modifiers(constructor)}<B>${constructor.name()}</B>(${paramsOf(constructor, false)})</PRE> - <DL> - <DD>${constructor.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- ============ METHOD DETAIL ========== --> - -<A NAME="method_detail"><!-- --></A> -<% if (visibleMethods) { %> - <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> - <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> - <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> - <B>Method Detail</B></FONT></TH> - </TR> - </TABLE> - <% for (method in visibleMethods) { %> - <A NAME="${nameFromParams(method)}"><!-- --></A><H3> - ${method.name()}</H3> - <PRE>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <B>${method.name()}</B>(${paramsOf(method, false)})</PRE> - <DL> - <DD>${method.commentText()} - </DD> - <P> - </DL> - <HR> - <% } %> - -<% } %> - -<!-- ========= END OF CLASS DATA ========= --> -<p>${props['footer']?:""}</p> -<hr> - -</body> -</html> +<!-- + ~ Copyright (c) 2014. Ohio Department of Education. - All Rights Reserved. + ~ Unauthorized copying of this file, in any medium, is strictly prohibited. + ~ Written by State Software Development Team (http://ssdt.oecn.k12.oh.us/) + --> + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- **************************************************************** --> +<!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * --> +<!-- * i.e. only iterate & print data where possible. Thanks, Jez. * --> +<!-- **************************************************************** --> +<% + + println "Generating for $classDoc (${classDoc.class})" + classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc) + + def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "") + def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } + def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) } + def visibleFields = classDoc.fields().findAll(isVisible) + def visibleProperties = classDoc.properties() // props visible be defn + def visibleMethods = classDoc.methods().findAll(isVisible) + def visibleConstructors = classDoc.constructors().findAll(isVisible) + def visibleNested = classDoc.innerClasses().findAll(isVisible) + boolean hasFields = !classDoc.isAnnotationType() && visibleFields + boolean hasProperties = !classDoc.isAnnotationType() && visibleProperties + boolean hasElements = classDoc.isAnnotationType() && visibleFields + boolean methodSummaryShown = visibleMethods + boolean fieldSummaryShown = hasFields + boolean hasEnumConstants = classDoc.enumConstants() + def dolink = { t, boolean b -> + boolean isArray = false + if (!t || t instanceof String) { + return (classDoc.getDocUrl(t, b) -'java.util.' - 'java.lang.') + } + if (t instanceof org.codehaus.groovy.tools.groovydoc.ArrayClassDocWrapper) { + t = t.delegate + isArray = true + } + if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { + if (t.fullPathName == 'def') return classDoc.getDocUrl("java.lang.Object def", b) + return "<a href='" + classDoc.relativeRootPath + t.fullPathName + ".html'>" + ( (b ? t.qualifiedTypeName() : t.name() ) - "java.lang." - "java.util." ) + "</a>" + (isArray ? "[]" : "") + } + return ( classDoc.getDocUrl(t.qualifiedTypeName(), b) - 'java.util.' - 'java.lang.' ) + (isArray ? "[]" : "") + } + def linkfull = { t -> dolink(t, true) } + def linkable = { t -> dolink(t, false) } + def modifiersWithIgnore = { t, boolean ignorePublic -> + (t.isPrivate()?"private ":"") + + (t.isPublic() && !ignorePublic?"public ":"") + + (t.isProtected()?"protected ":"") + + (t.isStatic()?"static ":"") + + (t.isFinal()?"final ":"") + + (t.respondsTo('isAbstract') && t.isAbstract()?"abstract ":"") + } + def modifiers = { t -> modifiersWithIgnore(t, classDoc.isGroovy()) } + def modifiersBrief = { t -> + (t.isPrivate()?"private ":"") + + (t.isProtected()?"protected ":"") + + (t.isStatic()?"static ":"") + } + def annotations = { t, sepChar -> + t.annotations() ? t.annotations().collect { +// it.isTypeAvailable() ? '@'+linkable(it.type().name())+(it.description()-('@'+it.type().name())): it.description() + it.description() + }.join(sepChar) + sepChar : '' + } + def elementTypes = [ + "required":"true", + "optional":"false" + ] + def isRequired = { f, v -> + def req = f.constantValueExpression() == null; req.toString() == v + } + def upcase = { n -> n[0].toUpperCase() + n[1..-1] } + def paramsOf = { n, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName()) + (param.vararg()?'... ':' ') + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") } + def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } + def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' } +%> +<html> +<head> + <!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} --> + <title>${title}</title> + <meta name="date" content="${new Date().format('yyyy-MM-dd')}"> + <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}"> + <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon"> + <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon"> + <link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style"> + +<body class="center"> +<script type="text/javascript"><!-- +if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="${title}"; +} +//--> +</script> +<noscript> + <div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar_top"> + <!-- --> +</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> + <!-- --> +</a> + <ul class="navList" title="Navigation"> + <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li> + <li><a href="package-summary.html">Package</a></li> + <li class="navBarCell1Rev">Class</li> + <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li> + <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li> + <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li> + </ul> +</div> + +<div class="subNav"> + <div> + <ul class="navList"> + <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li> + <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li> + </ul> + </div> + <div> + <ul class="subNavList"> + <li>Summary: </li> + <% + if (classDoc.isAnnotationType()) { + def hasReq = classDoc.fields().any{ isRequired(it, "true") } + def hasOpt = classDoc.fields().any{ isRequired(it, "false") } + if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %> <% + if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %> <% + } else { + if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %> <% + if (classDoc.isEnum()) { + if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% + } + if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% + if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %> <% + if (classDoc.isClass()) { + if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% + } + if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% + } + %> + </ul> + <ul class="subNavList"> + <li> | Detail: </li> + <% + if (classDoc.isAnnotationType()) { + if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %> <% + } else { + if (classDoc.isEnum()) { + if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% + } + if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% + if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %> <% + if (classDoc.isClass()) { + if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% + } + if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% + } + %> + </ul> + </div> + <a name="skip-navbar_top"> + <!-- --> + </a></div> +<!-- ========= END OF TOP NAVBAR ========= --> + +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<% +def pkg = classDoc.containingPackage().nameWithDots() +String classDesc = "${classDoc.isGroovy() ? "[Groovy]" : "[Java]"} ${classDoc.typeDescription} ${org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc.encodeAngleBrackets(classDoc.getNameWithTypeArgs())}" +if (pkg != "DefaultPackage") { +%> + <div class="subTitle">Package: <strong>${pkg}</strong></div> +<%}%> + <h2 title="${classDesc}" class="title">${classDesc}</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<% +def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses +if (parents.size() >= 2) { + parents.eachWithIndex { p, i -> + %><li><% + if ( i == parents.size() - 1) { + out << p.qualifiedTypeName() + } else { + %><ul class="inheritance"><% linkfull(p) %></ul></li><% + } + } +} +%> +</ul> +<div class="description"> + <ul class="blockList"> + <li class="blockList"> +<% +if (classDoc.isInterface()) { + Set interfaces = classDoc.parentInterfaces + interfaces -= classDoc + if (interfaces) { + %> + <dl> + <dt>All Superinterfaces:</dt> + <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd> + </dl><% + } +} else { + // TODO follow up the tree collecting interfaces seen? + def interfaces = classDoc.interfaces() + if (interfaces) { + %> + <dl> + <dt>All Implemented Interfaces and Traits:</dt> + <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd> + </dl> + <!-- todo: direct known subclasses --> + <hr> + <br> +<pre>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()} +<% if (classDoc.isInterface() && classDoc.interfaces()) { +%>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')} +<% } else if (classDoc.superclass()) { +%>extends ${linkable(classDoc.superclass())} +<% } %> +</pre> +<% } %> +<% } %> +<% if (classDoc.commentText()) { %> + <p>${classDoc.commentText()}</p> +<% } %> + </li> + </ul> +</div> + +<div class="summary"> + <ul class="blockList"> + <li class="blockList"> + <!-- =========== NESTED CLASS SUMMARY =========== --> + <% if (visibleNested) { %> + <ul class="blockList"> + <li class="blockList"><a name="nested_summary"><!-- --></a> + <h3>Nested Class Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> + <caption><span>Nested classes</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Modifiers</th> + <th class="colLast" scope="col">Name</th> + <th class="colLast" scope="col">Description</th> + </tr> + <% visibleNested.eachWithIndex { c, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code><strong>${modifiersBrief(c) + c.typeSourceDescription}</strong></code> </td> + <td class="colLast"><code>${linkable(c)}</code></td> + <td class="colLast">${c.firstSentenceCommentText()}</code></td> + </tr> + <% } %> + </table> + </ul> + </li> + </ul> + <% } %> + + <!-- =========== ENUM CONSTANT SUMMARY =========== --> + <% if (hasEnumConstants) { %> + <ul class="blockList"> + <li class="blockList"><a name="enum_constant_summary"><!-- --></a> + <h3>Enum Constants Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table"> + <caption><span>Enum constants classes</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Enum constant</th> + <th class="colLast" scope="col">Description</th> + </tr> + <% classDoc.enumConstants().eachWithIndex { ec, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code><strong><a href="#${ec.name()}">${ec.name()}</a></strong></code></td> + <td class="colLast">${ec.firstSentenceCommentText()}</td> + </tr> + <% } %> + </table> + </ul> + </li> + </ul> + <% } %> + <!-- =========== FIELD SUMMARY =========== --> + <% + def buffer = new StringBuilder() + classes = [] + if (classDoc.isInterface()) { + classes.addAll(classDoc.interfaces().toList()) + } else { + if (classDoc.superclass()) classes += classDoc.superclass() + else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) + } + visited = [classDoc] as Set + while (classes) { + Set nextLevel = [] + classes.eachWithIndex { c,i -> + if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) + else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() + nextLevel -= visited + visited += nextLevel + def list = [] + if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { + list = c.fields().findAll(isVisible).collect { field -> + "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" + } + } else { + list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field -> + // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" + field.name + } + } + if (list) { + buffer << """ <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><strong><code>${c.typeSourceDescription} ${linkable(c)}</code></strong></td> + <td class="colLast"><code>${list.join(', ')}</code></td> + </tr> +""" + } + } + classes = nextLevel + } + + + if (hasFields || buffer.length()>0) { %> + <ul class="blockList"><% + if (hasFields) { %> + <li class="blockList"><a name="field_summary"><!-- --></a> + <h3>Field Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table"> + <caption><span>Fields</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Modifiers</th> + <th class="colLast" scope="col">Name</th> + <th class="colLast" scope="col">Description</th> + </tr> + <% visibleFields.eachWithIndex { field, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code><strong>${modifiersBrief(field) + linkable(field.type())}</strong></code> </td> + <td class="colLast"><code><a href="#${field.name()}">${field.name()}</a></code></td> + <td class="colLast">${field.firstSentenceCommentText()}</code></td> + </tr> + <% } %> + </table> + </ul> + </li> + <% } // if (hasFields) + if ((buffer.length())>0) { %> + <li class="blockList"><a name="field_summary"><!-- --></a> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited fields summary table"> + <caption><span>Inherited fields</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Fields inherited from class</th> + <th class="colLast" scope="col">Fields</th> + </tr> + ${buffer} + </table> + </ul> + </li> + <% } // if buffer %> + </ul> + <% } // if hasFields or buffer %> + + <!-- =========== PROPERTY SUMMARY =========== --> + <% if (hasProperties) { %> + <ul class="blockList"> + <li class="blockList"><a name="property_summary"><!-- --></a> + <h3>Properties Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Properties Summary table, listing nested classes, and an explanation"> + <caption><span>Properties</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Type</th> + <th class="colLast" scope="col">Name and description</th> + </tr> + <% visibleProperties.eachWithIndex { prop, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code><strong>${modifiersBrief(prop) + linkable(prop.type())}</strong></code> </td> + <td class="colLast"><code><a href="#${prop.name()}"></a>${prop.name()}</code><br>${prop.firstSentenceCommentText()}</td> + </tr> + <% } %> + </table> + </ul> + </li> + </ul> + <% } %> + + <!-- =========== ELEMENT SUMMARY =========== --> + <% if (hasElements) { %> + <ul class="blockList"><a name="element_summary"><!-- --></a> + <li class="blockList"> + <h3>Element Summary</h3> + <% elementTypes.each { k, v -> + %><a name="${k}_element_summary"><!-- --></a><% + if (visibleFields.any{ isRequired(it, v) }) { %> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="${upcase(k)} Element Summary table"> + <caption><span>${upcase(k)} Element Summary</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Type</th> + <th class="colLast" scope="col">Name and Description</th> + </tr> + <% visibleFields.findAll {isRequired(it, v)}.eachWithIndex { element, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code><strong>${modifiersBrief(element) + linkable(element.type())}</strong></code> </td> + <td class="colLast"><code><a href="#${element.name()}">${element.name()}</a></code><br>${element.firstSentenceCommentText()}</td> + </tr> + <% } %> + </table> + </ul> + <% } + } //elementTypes.each %> + </li> + </ul> + <% } %> + + <% if (visibleConstructors) { %> + <!-- ======== CONSTRUCTOR SUMMARY ======== --> + <ul class="blockList"> + <li class="blockList"><a name="constructor_summary"><!-- --></a> + <h3>Constructor Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table"> + <caption><span>Constructors</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Constructor and description</th> + </tr> + <% visibleConstructors.eachWithIndex { constructor, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"> + <code>${modifiersBrief(constructor)}<a href="#${nameFromParams(constructor)}">${constructor.name()}</a></strong> + (${paramsOf(constructor, true)})</code><br>${constructor.firstSentenceCommentText()}</td> + </tr> + <% } %> + </table> + </ul> + </li> + </ul> + <% } %> + + <% + buffer = new StringBuilder() + Set classes = [] + if (classDoc.isInterface()) { + classes.addAll(classDoc.interfaces().toList()) + } else { + if (classDoc.superclass()) classes += classDoc.superclass() + else if (!classDoc.isTrait()) classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) + } + Set visited = [classDoc] as Set + while (classes) { + Set nextLevel = [] + classes.eachWithIndex { c,i -> + if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) + else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() + nextLevel -= visited + visited += nextLevel + def list = [] + if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { + list = c.methods().findAll(isVisible).collect { method -> + "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>" + } + } else { + list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method -> + linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name) + } + } + if (list) { + buffer << """ + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code>${c.typeSourceDescription} ${linkable(c)}</strong></code></td> + <td class="colLast"><code>${list.join(', ')}</code></td> + </tr>""" + } + } + classes = nextLevel + } + + if (visibleMethods || buffer.length()>0) { %> + <!-- ========== METHOD SUMMARY =========== --> + <ul class="blockList"> + <% if (visibleMethods) { %> + <li class="blockList"><a name="method_summary"><!-- --></a> + <h3>Methods Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table"> + <caption><span>Methods</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Type</th> + <th class="colLast" scope="col">Name and description</th> + </tr> + <% visibleMethods.eachWithIndex { method, i -> %> + <tr class="${i%2==0?'altColor':'rowColor'}"> + <td class="colFirst"><code>${modifiersBrief(method)}${linkable(method.returnType())}</strong></code></td> + <td class="colLast"><code><strong><a href="#${nameFromParams(method)}">${method.name()}</a></strong>(${paramsOf(method, true)})</code><br>${method.firstSentenceCommentText()}</td> + </tr> + <% } %> + </table> + </ul> + </li> + <% } // if (visibleMethods) + if (buffer.length()>0) { + %> + <li class="blockList"><a name="method_summary"><!-- --></a> + <h3>Inherited Methods Summary</h3> + <ul class="blockList"> + <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table"> + <caption><span>Inherited Methods</span><span class="tabEnd"> </span></caption> + <tr> + <th class="colFirst" scope="col">Methods inherited from class</th> + <th class="colLast" scope="col">Name</th> + </tr> + ${buffer} + </table> + </ul> + </li> + <% + } // if buffer.length%> + </ul> + <% } %> + </li> + </ul> +</div> + +<div class="details"> + <ul class="blockList"> + <li class="blockList"> + <% if (hasEnumConstants) { %> + <!-- ============ ENUM CONSTANT DETAIL ========== --> + <ul class="blockList"> + <li class="blockList"><a name="enum_constant_detail"> + <!-- --> + </a> + <h3>Enum Constant Detail</h3> + <% for (ec in classDoc.enumConstants()) { %> + <a name="${ec.name()}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <strong>${ec.name()}</strong></h4> + <p>${ec.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + + <% if (hasFields) { %> + <!-- =========== FIELD DETAIL =========== --> + <ul class="blockList"> + <li class="blockList"><a name="field_detail"> + <!-- --> + </a> + <h3>Field Detail</h3> + <% visibleFields.each { field -> %> + <a name="${field.name()}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <strong>${field.name()}</strong></h4> + <p>${field.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + + <% if (hasProperties) { %> + <!-- =========== PROPERTY DETAIL =========== --> + <ul class="blockList"> + <li class="blockList"><a name="prop_detail"> + <!-- --> + </a> + <h3>Property Detail</h3> + <% visibleProperties.each { prop -> %> + <a name="${prop.name()}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <strong>${prop.name()}</strong></h4> + <p>${prop.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + + <% if (hasElements) { %> + <!-- =========== ELEMENT DETAIL =========== --> + <ul class="blockList"> + <li class="blockList"><a name="element_detail"> + <!-- --> + </a> + <h3>Element Detail</h3> + <% visibleFields.each { element -> %> + <a name="${element.name()}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${modifiers(element) + linkable(element.type())} <strong>${element.name()}</strong></h4> + <p>${element.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + + <% if (visibleConstructors) { %> + <!-- =========== CONSTRUCTOR DETAIL =========== --> + <ul class="blockList"> + <li class="blockList"><a name="constructor_detail"> + <!-- --> + </a> + <h3>Constructor Detail</h3> + <% visibleConstructors.each { constructor -> %> + <a name="${nameFromParams(constructor)}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${annotations(constructor, '\n') + modifiers(constructor)}<strong>${constructor.name()}</strong>(${paramsOf(constructor, false)})</h4> + <p>${constructor.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + + + <% if (visibleMethods) { %> + <!-- =========== METHOD DETAIL =========== --> + <ul class="blockList"> + <li class="blockList"><a name="method_detail"> + <!-- --> + </a> + <h3>Method Detail</h3> + <% visibleMethods.each { method -> %> + <a name="${nameFromParams(method)}"><!-- --></a> + <ul class="blockListLast"> + <li class="blockList"> + <h4>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <strong>${method.name()}</strong>(${paramsOf(method, false)})</h4> + <p>${method.commentText()}</p> + </li> + </ul> + <% } %> + </li> + </ul> + <% } %> + </li> + </ul> +</div> + +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar_bottom"> + <!-- --> +</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> + <!-- --> +</a> + <ul class="navList" title="Navigation"> + <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li> + <li><a href="package-summary.html">Package</a></li> + <li class="navBarCell1Rev">Class</li> + <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li> + <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li> + <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li> + </ul> +</div> + +<div class="subNav"> + <div> + <ul class="navList"> + <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li> + <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li> + </ul> + </div> + <div> + <ul class="subNavList"> + <li>Summary: </li> + <% + if (classDoc.isAnnotationType()) { + def hasReq = classDoc.fields().any{ isRequired(it, "true") } + def hasOpt = classDoc.fields().any{ isRequired(it, "false") } + if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %> <% + if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %> <% + } else { + if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %> <% + if (classDoc.isEnum()) { + if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% + } + if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% + if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %> <% + if (classDoc.isClass()) { + if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% + } + if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% + } + %> + </ul> + <ul class="subNavList"> + <li> | Detail: </li> + <% + if (classDoc.isAnnotationType()) { + if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %> <% + } else { + if (classDoc.isEnum()) { + if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% + } + if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% + if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %> <% + if (classDoc.isClass()) { + if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% + } + if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% + } + %> + </ul> + </div> + <% if (props.footer) { %><p>${props.footer}</p><% } %> + <a name="skip-navbar_bottom"> + <!-- --> + </a> + </div> +</div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>
--- a/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css Fri Jan 17 18:16:29 2014 +0000 +++ b/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css Wed Dec 31 22:35:45 2014 +0000 @@ -1,215 +1,2306 @@ -.code, pre -{ - border: 1px dashed #6699CC; - background-color: #F4F4F4; - padding: 5px; +@charset "${props.charset}"; + +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block +} + +audio, canvas, video { + display: inline-block +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden] { + display: none +} + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100% +} + +body { + margin: 0 +} + +a:focus { + outline: thin dotted +} + +a:active, a:hover { + outline: 0 +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, strong { + font-weight: bold +} + +dfn { + font-style: italic +} + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0 +} + +mark { + background: #ff0; + color: #000 +} + +code, kbd, pre, samp { + font-family: monospace, serif; + font-size: 1em +} + +pre { + white-space: pre-wrap +} + +q { + quotes: "\201C" "\201D" "\2018" "\2019" +} + +small { + font-size: 80% +} + +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -0.5em +} + +sub { + bottom: -0.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 0 +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: .35em .625em .75em +} + +legend { + border: 0; + padding: 0 +} + +button, input, select, textarea { + font-family: inherit; + font-size: 100%; + margin: 0 } -body -{ - font-size: 10pt; - font-family: 'Lucida Grande',verdana,arial,helvetica,sans-serif; - background-color: #fff; - color: #333; +button, input { + line-height: normal +} + +button, select { + text-transform: none +} + +button, html input[type="button"], input[type="reset"], input[type="submit"] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], html input[disabled] { + cursor: default +} + +input[type="checkbox"], input[type="radio"] { + box-sizing: border-box; + padding: 0 +} + +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box +} + +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none +} + +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0 +} + +textarea { + overflow: auto; + vertical-align: top +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +@-ms-viewport { + width: device-width +} + +@media screen and (max-width: 400px) { + @-ms-viewport { + width: 320px + } +} + +.hidden { + display: none !important; + visibility: hidden !important } - -/* Link colors */ -a -{ - color:#569D2F; - text-decoration:none; + +.visible-xs { + display: none !important +} + +tr.visible-xs { + display: none !important +} + +th.visible-xs, td.visible-xs { + display: none !important +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important + } + + tr.visible-xs { + display: table-row !important + } + + th.visible-xs, td.visible-xs { + display: table-cell !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important + } + + tr.visible-xs.visible-sm { + display: table-row !important + } + + th.visible-xs.visible-sm, td.visible-xs.visible-sm { + display: table-cell !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important + } + + tr.visible-xs.visible-md { + display: table-row !important + } + + th.visible-xs.visible-md, td.visible-xs.visible-md { + display: table-cell !important + } +} + +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important + } + + tr.visible-xs.visible-lg { + display: table-row !important + } + + th.visible-xs.visible-lg, td.visible-xs.visible-lg { + display: table-cell !important + } } - -a:hover -{ - text-decoration:underline; + +.visible-sm { + display: none !important +} + +tr.visible-sm { + display: none !important +} + +th.visible-sm, td.visible-sm { + display: none !important +} + +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important + } + + tr.visible-sm.visible-xs { + display: table-row !important + } + + th.visible-sm.visible-xs, td.visible-sm.visible-xs { + display: table-cell !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important + } + + tr.visible-sm { + display: table-row !important + } + + th.visible-sm, td.visible-sm { + display: table-cell !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important + } + + tr.visible-sm.visible-md { + display: table-row !important + } + + th.visible-sm.visible-md, td.visible-sm.visible-md { + display: table-cell !important + } } - -/* Headings */ -h1 -{ - background: url(tapestry.png) no-repeat; - font-size:28px; - color:#007c00; - padding: 2.0em; + +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important + } + + tr.visible-sm.visible-lg { + display: table-row !important + } + + th.visible-sm.visible-lg, td.visible-sm.visible-lg { + display: table-cell !important + } +} + +.visible-md { + display: none !important +} + +tr.visible-md { + display: none !important +} + +th.visible-md, td.visible-md { + display: none !important +} + +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important + } + + tr.visible-md.visible-xs { + display: table-row !important + } + + th.visible-md.visible-xs, td.visible-md.visible-xs { + display: table-cell !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important + } + + tr.visible-md.visible-sm { + display: table-row !important + } + + th.visible-md.visible-sm, td.visible-md.visible-sm { + display: table-cell !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important + } + + tr.visible-md { + display: table-row !important + } + + th.visible-md, td.visible-md { + display: table-cell !important + } } -h1,h2,h3 { - color: #569D2F; + +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important + } + + tr.visible-md.visible-lg { + display: table-row !important + } + + th.visible-md.visible-lg, td.visible-md.visible-lg { + display: table-cell !important + } +} + +.visible-lg { + display: none !important +} + +tr.visible-lg { + display: none !important +} + +th.visible-lg, td.visible-lg { + display: none !important } -wbr:after -{ - content: "\00200B"; /* IE fix */ +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important + } + + tr.visible-lg.visible-xs { + display: table-row !important + } + + th.visible-lg.visible-xs, td.visible-lg.visible-xs { + display: table-cell !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important + } + + tr.visible-lg.visible-sm { + display: table-row !important + } + + th.visible-lg.visible-sm, td.visible-lg.visible-sm { + display: table-cell !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important + } + + tr.visible-lg.visible-md { + display: table-row !important + } + + th.visible-lg.visible-md, td.visible-lg.visible-md { + display: table-cell !important + } } -/* Table colors */ - -table -{ - background: #fff; - border-collapse: collapse; +@media (min-width: 1200px) { + .visible-lg { + display: block !important + } + + tr.visible-lg { + display: table-row !important + } + + th.visible-lg, td.visible-lg { + display: table-cell !important + } +} + +.hidden-xs { + display: block !important +} + +tr.hidden-xs { + display: table-row !important +} + +th.hidden-xs, td.hidden-xs { + display: table-cell !important +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important + } + + tr.hidden-xs { + display: none !important + } + + th.hidden-xs, td.hidden-xs { + display: none !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm { + display: none !important + } + + tr.hidden-xs.hidden-sm { + display: none !important + } + + th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm { + display: none !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md { + display: none !important + } + + tr.hidden-xs.hidden-md { + display: none !important + } + + th.hidden-xs.hidden-md, td.hidden-xs.hidden-md { + display: none !important + } } - -td -{ - border: 1px dotted #ccc; - background: #F4F4F4; + +@media (min-width: 1200px) { + .hidden-xs.hidden-lg { + display: none !important + } + + tr.hidden-xs.hidden-lg { + display: none !important + } + + th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg { + display: none !important + } +} + +.hidden-sm { + display: block !important +} + +tr.hidden-sm { + display: table-row !important +} + +th.hidden-sm, td.hidden-sm { + display: table-cell !important +} + +@media (max-width: 767px) { + .hidden-sm.hidden-xs { + display: none !important + } + + tr.hidden-sm.hidden-xs { + display: none !important + } + + th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs { + display: none !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important + } + + tr.hidden-sm { + display: none !important + } + + th.hidden-sm, td.hidden-sm { + display: none !important + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md { + display: none !important + } + + tr.hidden-sm.hidden-md { + display: none !important + } + + th.hidden-sm.hidden-md, td.hidden-sm.hidden-md { + display: none !important + } +} + +@media (min-width: 1200px) { + .hidden-sm.hidden-lg { + display: none !important + } + + tr.hidden-sm.hidden-lg { + display: none !important + } + + th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg { + display: none !important + } +} + +.hidden-md { + display: block !important +} + +tr.hidden-md { + display: table-row !important +} + +th.hidden-md, td.hidden-md { + display: table-cell !important +} + +@media (max-width: 767px) { + .hidden-md.hidden-xs { + display: none !important + } + + tr.hidden-md.hidden-xs { + display: none !important + } + + th.hidden-md.hidden-xs, td.hidden-md.hidden-xs { + display: none !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm { + display: none !important + } + + tr.hidden-md.hidden-sm { + display: none !important + } + + th.hidden-md.hidden-sm, td.hidden-md.hidden-sm { + display: none !important + } } - -th -{ - border:none; - background-color: #569D2F; - color: white; - text-align: left; + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important + } + + tr.hidden-md { + display: none !important + } + + th.hidden-md, td.hidden-md { + display: none !important + } +} + +@media (min-width: 1200px) { + .hidden-md.hidden-lg { + display: none !important + } + + tr.hidden-md.hidden-lg { + display: none !important + } + + th.hidden-md.hidden-lg, td.hidden-md.hidden-lg { + display: none !important + } +} + +.hidden-lg { + display: block !important +} + +tr.hidden-lg { + display: table-row !important +} + +th.hidden-lg, td.hidden-lg { + display: table-cell !important +} + +@media (max-width: 767px) { + .hidden-lg.hidden-xs { + display: none !important + } + + tr.hidden-lg.hidden-xs { + display: none !important + } + + th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs { + display: none !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm { + display: none !important + } + + tr.hidden-lg.hidden-sm { + display: none !important + } + + th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm { + display: none !important + } } - -.TableHeadingColor th -{ - background-color: #569D2F; - background-repeat: repeat-x; - color:#fff; - font-size:14px; - height:26px; + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md { + display: none !important + } + + tr.hidden-lg.hidden-md { + display: none !important + } + + th.hidden-lg.hidden-md, td.hidden-lg.hidden-md { + display: none !important + } +} + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important + } + + tr.hidden-lg { + display: none !important + } + + th.hidden-lg, td.hidden-lg { + display: none !important + } +} + +.visible-print { + display: none !important +} + +tr.visible-print { + display: none !important +} + +th.visible-print, td.visible-print { + display: none !important +} + +@media print { + .visible-print { + display: block !important + } + + tr.visible-print { + display: table-row !important + } + + th.visible-print, td.visible-print { + display: table-cell !important + } + + .hidden-print { + display: none !important + } + + tr.hidden-print { + display: none !important + } + + th.hidden-print, td.hidden-print { + display: none !important + } +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px } -.TableHeadingColor th font[size="+2"] -{ - font-size: 10pt; + +.container:before, .container:after { + content: " "; + display: table +} + +.container:after { + clear: both +} + +.row-fluid { + margin-left: -15px; + margin-right: -15px +} + +.row-fluid:before, .row-fluid:after { + content: " "; + display: table +} + +.row-fluid:after { + clear: both +} + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px +} + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { + float: left +} + +.col-xs-1 { + width: 8.333333333333332% } -table.parameters tbody th -{ - background: #F4F4F4; - color: #333; - border: 1px dotted #ccc; - font-weight: normal; + +.col-xs-2 { + width: 16.666666666666664% +} + +.col-xs-3 { + width: 25% +} + +.col-xs-4 { + width: 33.33333333333333% +} + +.col-xs-5 { + width: 41.66666666666667% +} + +.col-xs-6 { + width: 50% +} + +.col-xs-7 { + width: 58.333333333333336% +} + +.col-xs-8 { + width: 66.66666666666666% +} + +.col-xs-9 { + width: 75% +} + +.col-xs-10 { + width: 83.33333333333334% +} + +.col-xs-11 { + width: 91.66666666666666% +} + +.col-xs-12 { + width: 100% } -table.parameters thead tr.columnHeaders th -{ - background: #e6e6e6; - color: #6e6e6e; - border-left: 1px dotted #999; - border-right: 1px dotted #999; -} -body > dt > b -{ - display: block; - padding: 0.3em 0 0 0.3em; - margin-top: 1em; - background: #569D2F; - color: #fff; - border: 1px solid black; - font-size: 14px; - height: 26px; + +@media (min-width: 768px) { + .container { + max-width: 750px + } + + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 { + float: left + } + + .col-sm-1 { + width: 8.333333333333332% + } + + .col-sm-2 { + width: 16.666666666666664% + } + + .col-sm-3 { + width: 25% + } + + .col-sm-4 { + width: 33.33333333333333% + } + + .col-sm-5 { + width: 41.66666666666667% + } + + .col-sm-6 { + width: 50% + } + + .col-sm-7 { + width: 58.333333333333336% + } + + .col-sm-8 { + width: 66.66666666666666% + } + + .col-sm-9 { + width: 75% + } + + .col-sm-10 { + width: 83.33333333333334% + } + + .col-sm-11 { + width: 91.66666666666666% + } + + .col-sm-12 { + width: 100% + } + + .col-sm-push-1 { + left: 8.333333333333332% + } + + .col-sm-push-2 { + left: 16.666666666666664% + } + + .col-sm-push-3 { + left: 25% + } + + .col-sm-push-4 { + left: 33.33333333333333% + } + + .col-sm-push-5 { + left: 41.66666666666667% + } + + .col-sm-push-6 { + left: 50% + } + + .col-sm-push-7 { + left: 58.333333333333336% + } + + .col-sm-push-8 { + left: 66.66666666666666% + } + + .col-sm-push-9 { + left: 75% + } + + .col-sm-push-10 { + left: 83.33333333333334% + } + + .col-sm-push-11 { + left: 91.66666666666666% + } + + .col-sm-pull-1 { + right: 8.333333333333332% + } + + .col-sm-pull-2 { + right: 16.666666666666664% + } + + .col-sm-pull-3 { + right: 25% + } + + .col-sm-pull-4 { + right: 33.33333333333333% + } + + .col-sm-pull-5 { + right: 41.66666666666667% + } + + .col-sm-pull-6 { + right: 50% + } + + .col-sm-pull-7 { + right: 58.333333333333336% + } + + .col-sm-pull-8 { + right: 66.66666666666666% + } + + .col-sm-pull-9 { + right: 75% + } + + .col-sm-pull-10 { + right: 83.33333333333334% + } + + .col-sm-pull-11 { + right: 91.66666666666666% + } + + .col-sm-offset-1 { + margin-left: 8.333333333333332% + } + + .col-sm-offset-2 { + margin-left: 16.666666666666664% + } + + .col-sm-offset-3 { + margin-left: 25% + } + + .col-sm-offset-4 { + margin-left: 33.33333333333333% + } + + .col-sm-offset-5 { + margin-left: 41.66666666666667% + } + + .col-sm-offset-6 { + margin-left: 50% + } + + .col-sm-offset-7 { + margin-left: 58.333333333333336% + } + + .col-sm-offset-8 { + margin-left: 66.66666666666666% + } + + .col-sm-offset-9 { + margin-left: 75% + } + + .col-sm-offset-10 { + margin-left: 83.33333333333334% + } + + .col-sm-offset-11 { + margin-left: 91.66666666666666% + } } -.TableSubHeadingColor -{ - background: #f7ffee; - -} -.TableSubHeadingColor a -{ - color: white; - text-decoration: underline; -} -.TableSubHeadingColor a:hover -{ - color: white; - text-decoration: underline; -} - -.TableRowColor -{ - background: #fff; +@media (min-width: 992px) { + .container { + max-width: 970px + } + + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 { + float: left + } + + .col-md-1 { + width: 8.333333333333332% + } + + .col-md-2 { + width: 16.666666666666664% + } + + .col-md-3 { + width: 25% + } + + .col-md-4 { + width: 33.33333333333333% + } + + .col-md-5 { + width: 41.66666666666667% + } + + .col-md-6 { + width: 50% + } + + .col-md-7 { + width: 58.333333333333336% + } + + .col-md-8 { + width: 66.66666666666666% + } + + .col-md-9 { + width: 75% + } + + .col-md-10 { + width: 83.33333333333334% + } + + .col-md-11 { + width: 91.66666666666666% + } + + .col-md-12 { + width: 100% + } + + .col-md-push-0 { + left: auto + } + + .col-md-push-1 { + left: 8.333333333333332% + } + + .col-md-push-2 { + left: 16.666666666666664% + } + + .col-md-push-3 { + left: 25% + } + + .col-md-push-4 { + left: 33.33333333333333% + } + + .col-md-push-5 { + left: 41.66666666666667% + } + + .col-md-push-6 { + left: 50% + } + + .col-md-push-7 { + left: 58.333333333333336% + } + + .col-md-push-8 { + left: 66.66666666666666% + } + + .col-md-push-9 { + left: 75% + } + + .col-md-push-10 { + left: 83.33333333333334% + } + + .col-md-push-11 { + left: 91.66666666666666% + } + + .col-md-pull-0 { + right: auto + } + + .col-md-pull-1 { + right: 8.333333333333332% + } + + .col-md-pull-2 { + right: 16.666666666666664% + } + + .col-md-pull-3 { + right: 25% + } + + .col-md-pull-4 { + right: 33.33333333333333% + } + + .col-md-pull-5 { + right: 41.66666666666667% + } + + .col-md-pull-6 { + right: 50% + } + + .col-md-pull-7 { + right: 58.333333333333336% + } + + .col-md-pull-8 { + right: 66.66666666666666% + } + + .col-md-pull-9 { + right: 75% + } + + .col-md-pull-10 { + right: 83.33333333333334% + } + + .col-md-pull-11 { + right: 91.66666666666666% + } + + .col-md-offset-0 { + margin-left: 0 + } + + .col-md-offset-1 { + margin-left: 8.333333333333332% + } + + .col-md-offset-2 { + margin-left: 16.666666666666664% + } + + .col-md-offset-3 { + margin-left: 25% + } + + .col-md-offset-4 { + margin-left: 33.33333333333333% + } + + .col-md-offset-5 { + margin-left: 41.66666666666667% + } + + .col-md-offset-6 { + margin-left: 50% + } + + .col-md-offset-7 { + margin-left: 58.333333333333336% + } + + .col-md-offset-8 { + margin-left: 66.66666666666666% + } + + .col-md-offset-9 { + margin-left: 75% + } + + .col-md-offset-10 { + margin-left: 83.33333333333334% + } + + .col-md-offset-11 { + margin-left: 91.66666666666666% + } } - -.TableRowColor a -{ - border-bottom:none; - color:#569D2F; - font-weight:normal; -} - -tr.TableRowColor:hover -{ - background:#eef2e1; + +@media (min-width: 1200px) { + .container { + max-width: 1170px + } + + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 { + float: left + } + + .col-lg-1 { + width: 8.333333333333332% + } + + .col-lg-2 { + width: 16.666666666666664% + } + + .col-lg-3 { + width: 25% + } + + .col-lg-4 { + width: 33.33333333333333% + } + + .col-lg-5 { + width: 41.66666666666667% + } + + .col-lg-6 { + width: 50% + } + + .col-lg-7 { + width: 58.333333333333336% + } + + .col-lg-8 { + width: 66.66666666666666% + } + + .col-lg-9 { + width: 75% + } + + .col-lg-10 { + width: 83.33333333333334% + } + + .col-lg-11 { + width: 91.66666666666666% + } + + .col-lg-12 { + width: 100% + } + + .col-lg-push-0 { + left: auto + } + + .col-lg-push-1 { + left: 8.333333333333332% + } + + .col-lg-push-2 { + left: 16.666666666666664% + } + + .col-lg-push-3 { + left: 25% + } + + .col-lg-push-4 { + left: 33.33333333333333% + } + + .col-lg-push-5 { + left: 41.66666666666667% + } + + .col-lg-push-6 { + left: 50% + } + + .col-lg-push-7 { + left: 58.333333333333336% + } + + .col-lg-push-8 { + left: 66.66666666666666% + } + + .col-lg-push-9 { + left: 75% + } + + .col-lg-push-10 { + left: 83.33333333333334% + } + + .col-lg-push-11 { + left: 91.66666666666666% + } + + .col-lg-pull-0 { + right: auto + } + + .col-lg-pull-1 { + right: 8.333333333333332% + } + + .col-lg-pull-2 { + right: 16.666666666666664% + } + + .col-lg-pull-3 { + right: 25% + } + + .col-lg-pull-4 { + right: 33.33333333333333% + } + + .col-lg-pull-5 { + right: 41.66666666666667% + } + + .col-lg-pull-6 { + right: 50% + } + + .col-lg-pull-7 { + right: 58.333333333333336% + } + + .col-lg-pull-8 { + right: 66.66666666666666% + } + + .col-lg-pull-9 { + right: 75% + } + + .col-lg-pull-10 { + right: 83.33333333333334% + } + + .col-lg-pull-11 { + right: 91.66666666666666% + } + + .col-lg-offset-0 { + margin-left: 0 + } + + .col-lg-offset-1 { + margin-left: 8.333333333333332% + } + + .col-lg-offset-2 { + margin-left: 16.666666666666664% + } + + .col-lg-offset-3 { + margin-left: 25% + } + + .col-lg-offset-4 { + margin-left: 33.33333333333333% + } + + .col-lg-offset-5 { + margin-left: 41.66666666666667% + } + + .col-lg-offset-6 { + margin-left: 50% + } + + .col-lg-offset-7 { + margin-left: 58.333333333333336% + } + + .col-lg-offset-8 { + margin-left: 66.66666666666666% + } + + .col-lg-offset-9 { + margin-left: 75% + } + + .col-lg-offset-10 { + margin-left: 83.33333333333334% + } + + .col-lg-offset-11 { + margin-left: 91.66666666666666% + } } - - -/* Font used in left-hand frame lists */ -.FrameTitleFont -{ - font-size: 120%; - font-weight:bold; + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + vertical-align: middle; + cursor: pointer; + border: 1px solid transparent; + border-radius: 0; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +.btn:hover, .btn:focus { + color: #333; + text-decoration: none +} + +.btn:active, .btn.active { + outline: 0; + background-image: none +} + +.btn.disabled, .btn[disabled], fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: .65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none +} + +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc +} + +.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { + color: #333; + background-color: #ebebeb; + border-color: #adadad +} + +.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { + background-image: none +} + +.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc +} + +.btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd +} + +.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { + color: #fff; + background-color: #3276b1; + border-color: #285e8e +} + +.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { + background-image: none +} + +.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd +} + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236 +} + +.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ed9c28; + border-color: #d58512 +} + +.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { + background-image: none +} + +.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236 } - -.FrameTitleFont a -{ - color: #333; + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a +} + +.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { + color: #fff; + background-color: #d2322d; + border-color: #ac2925 +} + +.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { + background-image: none +} + +.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a +} + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c +} + +.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { + color: #fff; + background-color: #47a447; + border-color: #398439 +} + +.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { + background-image: none +} + +.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c +} + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da +} + +.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { + color: #fff; + background-color: #39b3d7; + border-color: #269abc +} + +.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { + background-image: none } - -.FrameHeadingFont -{ - font-weight: bold; - font-size:95%; + +.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da +} + +.btn-link { + color: #428bca; + font-weight: normal; + cursor: pointer; + border-radius: 0 +} + +.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none +} + +.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { + border-color: transparent +} + +.btn-link:hover, .btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent +} + +.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { + color: #999; + text-decoration: none +} + +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px +} + +.btn-sm, .btn-xs { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.btn-xs { + padding: 1px 5px +} + +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0 } - -.FrameItemFont -{ - line-height:130%; - font-size: 95%; + +.btn-block + .btn-block { + margin-top: 5px +} + +input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { + width: 100% +} + +.btn-default .caret { + border-top-color: #333 +} + +.btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret { + border-top-color: #fff +} + +.dropup .btn-default .caret { + border-bottom-color: #333 +} + +.dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret { + border-bottom-color: #fff +} + +.btn-group, .btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle +} + +.btn-group > .btn, .btn-group-vertical > .btn { + position: relative; + float: left +} + +.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { + z-index: 2 +} + +.btn-group > .btn:focus, .btn-group-vertical > .btn:focus { + outline: 0 +} + +.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { + margin-left: -1px +} + +.btn-toolbar:before, .btn-toolbar:after { + content: " "; + display: table +} + +.btn-toolbar:after { + clear: both +} + +.btn-toolbar .btn-group { + float: left +} + +.btn-toolbar > .btn + .btn, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn-group { + margin-left: 5px +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0 +} + +.btn-group > .btn:first-child { + margin-left: 0 } - -.FrameItemFont a -{ - color:#333; + +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0 +} + +.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0 +} + +.btn-group > .btn-group { + float: left +} + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0 +} + +.btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0 +} + +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0 +} + +.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { + outline: 0 +} + +.btn-group-xs > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; + padding: 1px 5px +} + +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px +} + +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px +} + +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px +} + +.btn-group.open .dropdown-toggle { + background: #f2f2f2 +} + +.btn .caret { + margin-left: 0 +} + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0 +} + +.dropup .btn-lg .caret { + border-width: 0 5px 5px } - -.FrameItemFont a:hover -{ - color:#249901; - border-bottom:none; - text-decoration:underline; + +.btn-group-vertical > .btn, .btn-group-vertical > .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100% +} + +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { + content: " "; + display: table +} + +.btn-group-vertical > .btn-group:after { + clear: both +} + +.btn-group-vertical > .btn-group > .btn { + float: none +} + +.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0 +} + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0 +} + +.btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate +} + +.btn-group-justified .btn { + float: none; + display: table-cell; + width: 1% +} + +[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none } - -/* Navigation bar fonts and colors */ -.NavBarCell1 -{ - background-color:#fff; - border:none; + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid #000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + border-bottom: 0 dotted; + content: "" +} + +.dropdown { + position: relative +} + +.dropdown-toggle:focus { + outline: 0 +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + background-clip: padding-box +} + +.dropdown-menu.pull-right { + right: 0; + left: auto +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5 +} + +.dropdown-menu > li > a { + font-size: 14px; + text-decoration: none; + display: block; + padding: 5px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333; + white-space: nowrap +} + +.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { + text-decoration: none; + color: #fff; + background-color: #428bca +} + +.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #428bca +} + +.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + color: #999 +} + +.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + cursor: not-allowed } - -.NavBarCell1Rev -{ - background-color:#e3faa5; - border:1px solid #9ad00c; - padding:0; - margin:0; + +.open > .dropdown-menu { + display: block +} + +.open > a { + outline: 0 +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999 +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990 +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto +} + +.dropup .caret, .navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000; + content: "" +} + +.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto + } +} + +body, html { + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: 0; + background: #ededed; + color: #343437; + line-height: 2em; + font-weight: 300; + font-size: .95em +} + +h1 { + font-size: 2.5em; + margin: .8em 0 +} + +body.center { + padding: 0 30px; + background: #FFF; + font-size: 1em +} + +ul li { + list-style-type: disc } - -.NavBarCell1 a -{ - color:#333; - text-decoration:none; + +a { + color: #4290ad; + text-decoration: none; + font-weight: normal +} + +a:hover { + text-decoration: underline +} + +h1, h2, h3 { + font-weight: 300; + line-height: 1.2em +} + +.topNav, .bottomNav { + background: #f2f2f2; + margin: 0 -30px; + margin-bottom: 20px +} + +.topNav:before, .bottomNav:before, .topNav:after, .bottomNav:after { + content: " "; + display: table +} + +.topNav:after, .bottomNav:after { + clear: both +} + +.topNav ul.navList, .bottomNav ul.navList { + padding: 10px 20px; + margin: 0; + list-style-type: none +} + +.topNav ul.navList li, .bottomNav ul.navList li { + display: inline; + padding: 0 10px +} + +.topNav ul.navList li.navBarCell1Rev, .bottomNav ul.navList li.navBarCell1Rev { + font-weight: bold +} + +.bottomNav { + margin-top: 30px; + margin-bottom: 0 +} + +.aboutLanguage { + color: #BBB; + background: white; + text-align: center; + padding: 20px 0 +} + +.subNav { + padding-bottom: 10px; + margin-bottom: 10px; + border-bottom: 1px solid #EEE +} + +.subNav:before, .subNav:after { + content: " "; + display: table +} + +.subNav:after { + clear: both +} + +.subNav div:before, .subNav div:after { + content: " "; + display: table +} + +.subNav div:after { + clear: both } - -.NavBarFont1Rev -{ - + +.subNav ul.navList, .subNav ul { + font-size: .9em; + margin: 0; + padding: 00; + float: left; + list-style-type: none +} + +.subNav ul.navList li, .subNav ul li { + padding: 0 5px; + display: inline +} + +table.overviewSummary, .contentContainer ul li table { + width: 100%; + margin: 20px 0 +} + +table.overviewSummary caption, .contentContainer ul li table caption { + text-align: left; + font-weight: 100; + font-size: 1em; + float: left; + padding: 0 10px; + margin-top: 10px; + background: #db4800; + color: white +} + +table.overviewSummary tr th, .contentContainer ul li table tr th { + padding: 10px; + font-weight: bold; + font-size: 1em; + text-align: left } - -.NavBarCell2 -{ - border:none; + +table.overviewSummary tr td, .contentContainer ul li table tr td { + vertical-align: top; + font-size: .9em; + padding: 5px 10px; + border-top: 1px solid #EEE +} + +table.overviewSummary tbody > tr:nth-child(odd) > td, .contentContainer ul li table tbody > tr:nth-child(odd) > td { + background-color: #f9f9f9 +} + +body.left { + padding-top: 10px +} + +body.left h1, body.left h2 { + display: inline; + text-align: left; + font-weight: 100; + font-size: 1em; + margin: 0 10px; + padding: 3px 10px; + margin-top: 10px; + background: #db4800; + color: white; + line-height: 40px +} + +body.left .indexHeader { + margin: 0; + padding: 0 15px; + font-size: .9em +} + +body.left ul { + list-style-type: none; + margin: 0; + padding: 0 } - -.NavBarCell2 a -{ - color:#569D2F; - font-size:90%; + +body.left ul li { + margin: 0; + padding: 0 +} + +body.left ul li a { + display: block; + padding: 0 15px; + text-decoration: none +} + +body.left ul li a:hover { + text-decoration: underline +} + +.contentContainer .header ul, .contentContainer ul.blockList { + padding: 0 +} + +.contentContainer .header ul > li, .contentContainer ul.blockList > li { + list-style-type: none +} + +.contentContainer ul.inheritance { + margin-left: 0; + padding-left: 0 +} + +.contentContainer ul.inheritance li { + list-style-type: none +} + +.contentContainer ul.inheritance ul.inheritance { + padding-left: 20px } - -.NavBarCell3 -{ - border:none; + +.contentContainer hr { + border: 0 none; + border-top: 1px solid #EEE; + margin-top: 30px; + margin-botom: 0 +} + +ul.blockList ul.blockList, ul.blockList ul.blockListLast { + border: 1px solid #EEE; + margin: 20px 0; + padding: 0 20px +} + +ul.blockList ul.blockList h4, ul.blockList ul.blockListLast h4, ul.blockList ul.blockList h3, ul.blockList ul.blockListLast h3 { + font-size: 1em; + font-weight: bold; + line-height: 2em; + text-indent: 10px; + border-bottom: 1px solid #EEE; + margin: 0 -20px; + padding: 5px 0; + background: #f2f2f2 } + +ul.blockList ul.blockList li, ul.blockList ul.blockListLast li { + list-style-type: none +} + +ul.horizontal { + list-style-type: none; + padding: 0; + margin: 0; + font-size: .9em +} + +ul.horizontal li { + display: inline +} + +span.strong { + font-weight: bold +} + +a span.strong { + font-weight: normal +} \ No newline at end of file