Redone elddoc html writer now via new sax ContentWriter interface.

And implemented jdk7 javadoc compatible html/css for elddoc.
This commit is contained in:
Willem Cazander 2013-05-01 23:23:31 +02:00
parent ef5b0a0b8e
commit 92644fd148
27 changed files with 2959 additions and 751 deletions

View file

@ -0,0 +1,449 @@
/*
* Copyright (c) 2004-2013, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.xml.eld.doc;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.x4o.xml.io.sax.ContentWriterHtml;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
/**
* ContentWriterHtml Writes eld/java documentation in html.
*
* @author Willem Cazander
* @version 1.0 Apr 30, 2013
*/
public class ContentWriterDoc extends ContentWriterHtml {
private boolean isAltRow = true;
public ContentWriterDoc(Writer out,String encoding,String charNewLine,String charTab) {
super(out,encoding,charNewLine,charTab);
}
public void docCommentGenerated() throws SAXException {
comment("Generated by "+ContentWriterDoc.class.getSimpleName()+" on "+new Date());
}
public void docHtmlStart(NavBarConfig conf,String title,List<String> keywords) throws SAXException {
printDocType(DocType.HTML_4_TRANSITIONAL);
comment("NewPage");
printHtmlStart("en");
// ====== Write head
printTagStart(Tag.head);
docCommentGenerated();
printHeadMetaContentType();
printHeadTitle(title);
printHeadMetaDate();
for (String keyword:keywords) {
printHeadMeta("keywords",keyword);
}
printHeadLinkCss(conf.pathPrefix+"resources/stylesheet.css");
printTagEnd(Tag.head);
// ======= Write body
printTagStart(Tag.body);
StringBuffer script = new StringBuffer();
script.append("\n");
script.append("\tif (location.href.indexOf('is-external=true') == -1) {\n");
script.append("\t\tparent.document.title=\"");script.append(title);script.append("\";\n");
script.append("\t}\n");
printScriptInline(script.toString());
printScriptNoDiv();
docNavBar(conf,true);
}
public void docHtmlEnd(NavBarConfig conf,String copyright) throws SAXException {
docNavBar(conf,false);
printTagStart(Tag.p,"legalCopy");
printTagStart(Tag.small);
charactersRaw(copyright);
printTagEnd(Tag.small);
printTagEnd(Tag.p);
if (conf.statsJS!=null) {
printScriptInline(conf.statsJS);
}
printTagEnd(Tag.body);
printHtmlEnd();
}
class NavBarConfig {
String navSelected = null;
List<String> navList = new ArrayList<String>(10);
Map<String,String> navLinks = new HashMap<String,String>(10);
Map<String,String> navNames = new HashMap<String,String>(10);
String pathPrefix;
String prev;
String next;
String frame;
String aboutLanguage;
String statsJS;
boolean linkDetails = false;
boolean linkFields = false;
boolean linkConstructors = false;
boolean linkMethods = false;
String linkFieldName = "Field";
String linkConstructorName = "Constr";
String linkMethodName = "Method";
String noFrameAllName;
String noFrameAllLink;
String noFrameAllTopJS =
"\nallClassesLink = document.getElementById(\"allclasses_navbar_top\");\n"+
"if(window==top) {\n\tallClassesLink.style.display = \"block\";\n} else {\n\tallClassesLink.style.display = \"none\";\n}\n";
String noFrameAllBottomJS =
"\nallClassesLink = document.getElementById(\"allclasses_navbar_bottom\");\n"+
"if(window==top) {\n\tallClassesLink.style.display = \"block\";\n} else {\n\tallClassesLink.style.display = \"none\";\n}\n";
public NavBarConfig() {}
public NavBarConfig(String pathPrefix,String prev,String next,String frame,String aboutLanguage) {
this.pathPrefix=pathPrefix;
this.prev=prev;
this.next=next;
this.frame=frame;
this.aboutLanguage=aboutLanguage;
}
public void addNavItem(String id,String navLink,String navName) {
navList.add(id);
if (navLink!=null) {
navLinks.put(id, navLink);
}
navNames.put(id, navName);
}
}
private void docNavBar(NavBarConfig conf,boolean isTop) throws SAXException {
String pathPrefix = conf.pathPrefix;
String barComment = "TOP";
String barCssDiv = "topNav";
String barId = "navbar_top";
if (isTop==false) {
barComment = "BOTTOM";
barCssDiv = "bottomNav";
barId = "navbar_bottom";
}
comment("========= START OF "+barComment+" NAVBAR =======");
printTagStart(Tag.div,barCssDiv);
printHrefNamed(barId); // Print named link navigation
AttributesImpl atts = new AttributesImpl();
atts.addAttribute ("", "href", "", "", "#skip-"+barId);
atts.addAttribute ("", "title", "", "", "Skip navigation links");
startElement("", "a", "", atts);
endElement("", "a", "");
printHrefNamed(barId+"_firstrow");
atts = new AttributesImpl();// Print nav bar
atts.addAttribute ("", "class", "", "", "navList");
atts.addAttribute ("", "title", "", "", "Navigation");
startElement("", "ul", "", atts);
for (String navKey:conf.navList) {
String navName = conf.navNames.get(navKey);
String navLink = conf.navLinks.get(navKey);
String selectedCss = null;
if (navKey.equals(conf.navSelected)) {
selectedCss = "navBarCell1Rev";
}
if (navLink==null) {
printTagText(Tag.li, navName, selectedCss);
} else {
docNavBarListItemHref(pathPrefix+navLink,navName,selectedCss);
}
}
endElement("", "ul", "");
printTagStart(Tag.div,"aboutLanguage"); // Print about language
printTagStart(Tag.em);
printTagStart(Tag.strong);charactersRaw(conf.aboutLanguage);printTagEnd(Tag.strong);
printTagEnd(Tag.em);
printTagEnd(Tag.div);
printTagEnd(Tag.div); // end barCssDiv
printTagStart(Tag.div,"subNav");
printTagStart(Tag.ul,"navList");
if (conf.prev==null) {
printTagText(Tag.li, "Prev");
} else {
docNavBarListItemHref(pathPrefix+conf.prev,"Prev",null,"strong",null);
}
if (conf.next==null) {
printTagText(Tag.li, "Next");
} else {
docNavBarListItemHref(pathPrefix+conf.next,"Next",null,"strong",null);
}
printTagEnd(Tag.ul);
if (conf.frame!=null) {
printTagStart(Tag.ul,"navList");
printTagStart(Tag.li);
printHrefTarget(pathPrefix+"index.html?"+conf.frame, "Frames", "_top");
printTagEnd(Tag.li);
printTagStart(Tag.li);
printHrefTarget(pathPrefix+conf.frame, "No Frames", "_top");
printTagEnd(Tag.li);
printTagEnd(Tag.ul);
}
if (conf.noFrameAllName!=null && conf.noFrameAllLink!=null) {
printTagStart(Tag.ul,"navList","allclasses_"+barId);
docNavBarListItemHref(pathPrefix+conf.noFrameAllLink,conf.noFrameAllName,null,null,null);
printTagEnd(Tag.ul);
printTagStart(Tag.div);
if (isTop) {
printScriptInline(conf.noFrameAllTopJS);
} else {
printScriptInline(conf.noFrameAllBottomJS);
}
printTagEnd(Tag.div);
}
String tabSpace = "&nbsp;|&nbsp;";
boolean printLink = conf.linkConstructors || conf.linkFields || conf.linkMethods;
if (printLink) {
printTagStart(Tag.div);
printTagStart(Tag.ul,"subNavList");
printTagStart(Tag.li);charactersRaw("Summary:&nbsp;");printTagEnd(Tag.li);
//printTagText(Tag.li,"Nested | "); // TODO: Nested
if (conf.linkFields) {
docNavBarListItemHref("#field_summary",conf.linkFieldName,null,null,tabSpace);
} else {
printTagText(Tag.li,conf.linkFieldName);charactersRaw(tabSpace);
}
if (conf.linkConstructors) {
docNavBarListItemHref("#constructor_summary",conf.linkConstructorName,null,null,tabSpace);
} else {
printTagText(Tag.li,conf.linkConstructorName);charactersRaw(tabSpace);
}
if (conf.linkMethods) {
docNavBarListItemHref("#method_summary",conf.linkMethodName,null);
} else {
printTagText(Tag.li,conf.linkMethodName);
}
printTagEnd(Tag.ul);
if (conf.linkDetails){
printTagStart(Tag.ul,"subNavList");
printTagStart(Tag.li);charactersRaw("Detail:&nbsp;");printTagEnd(Tag.li);
//printTagText(Tag.li,"Nested | ");
if (conf.linkFields) {
docNavBarListItemHref("#field_detail",conf.linkFieldName,null,null,tabSpace);
} else {
printTagText(Tag.li,conf.linkFieldName);charactersRaw(tabSpace);
}
if (conf.linkConstructors) {
docNavBarListItemHref("#constructor_detail",conf.linkConstructorName,null,null,tabSpace);
} else {
printTagText(Tag.li,conf.linkConstructorName);charactersRaw(tabSpace);
}
if (conf.linkMethods) {
docNavBarListItemHref("#method_detail",conf.linkMethodName,null);
} else {
printTagText(Tag.li,conf.linkMethodName);
}
printTagEnd(Tag.ul);
}
printTagEnd(Tag.div);
}
printHrefNamed("skip-"+barId);
printTagEnd(Tag.div);
comment("========= END OF "+barComment+" NAVBAR =======");
}
private void docNavBarListItemHref(String href,String title,String cssClass) throws SAXException {
docNavBarListItemHref(href, title, cssClass, null, null);
}
private void docNavBarListItemHref(String href,String title,String cssClass,String spanCss,String linkSpace) throws SAXException {
printTagStart(Tag.li,cssClass);
printHref(href,title,title,spanCss);
charactersRaw(linkSpace);
printTagEnd(Tag.li);
}
public void docPagePackageTitle(String title,String summary) throws SAXException {
printTagStart(Tag.div,"header");
printTagText(Tag.h1, title,"title");
printTagStart(Tag.div,"docSummary");
printTagText(Tag.div, summary,"block");
printTagEnd(Tag.div);
printTagStart(Tag.p);
charactersRaw("See:&nbsp;");
printHref("#package_description", "Description");
printTagEnd(Tag.p);
printTagEnd(Tag.div);
}
public void docPagePackageDescription(String title,String summary,String description) throws SAXException {
printHrefNamed("package_description");
printTagText(Tag.h2, title);
printTagText(Tag.div, summary,"block");
characters(description);
}
public void docPageClassStart(String title,String subTitle) throws SAXException {
comment("======== START OF CLASS DATA ========");
printTagStart(Tag.div,"header");
if (subTitle!=null) {
printTagStart(Tag.div,"subTitle");
characters(subTitle);
printTagEnd(Tag.div);
}
printTagText(Tag.h2, title, "title");
printTagEnd(Tag.div);
}
public void docPageClassEnd() throws SAXException {
comment("======== END OF CLASS DATA ========");
}
public void docPageContentStart() throws SAXException {
printTagStart(Tag.div,"contentContainer");
}
public void docPageContentEnd() throws SAXException {
printTagEnd(Tag.div);
}
public void docPageBlockStart(String title,String namedLink,String comment) throws SAXException {
if (comment!=null) {
comment(comment);
}
docPageBlockStart();
printHrefNamed(namedLink);
printTagText(Tag.h3, title);
}
public void docPageBlockStart() throws SAXException {
printTagStart(Tag.ul,"blockList");
printTagStart(Tag.li,"blockList");
}
public void docPageBlockEnd() throws SAXException {
printTagEnd(Tag.li);
printTagEnd(Tag.ul);
}
public void docPageBlockNext() throws SAXException {
printTagEnd(Tag.li);
printTagStart(Tag.li,"blockList");
}
public void docTableStart(String tableTitle,String tableDescription) throws SAXException {
AttributesImpl atts = new AttributesImpl();
atts.addAttribute ("", "class", "", "", "packageSummary");
atts.addAttribute ("", "border", "", "", "0");
atts.addAttribute ("", "cellpadding", "", "", "3");
atts.addAttribute ("", "cellspacing", "", "", "0");
if (tableDescription!=null) {
atts.addAttribute ("", "summary", "", "", tableDescription);
}
startElement("", "table", "", atts);
printTagStart(Tag.caption);
printTagStart(Tag.span);characters(tableTitle);printTagEnd(Tag.span);
printTagStart(Tag.span,"tabEnd");charactersRaw("&nbsp;");printTagEnd(Tag.span);
printTagEnd(Tag.caption);
}
public void docTableEnd() throws SAXException {
printTagEnd(Tag.table);
isAltRow = true;
}
public void docTableHeader(String titleFirst,String titleLast) throws SAXException {
printTagStart(Tag.tr);
AttributesImpl atts = new AttributesImpl();
if (titleLast==null) {
atts.addAttribute ("", "class", "", "", "colOne");
} else {
atts.addAttribute ("", "class", "", "", "colFirst");
}
atts.addAttribute ("", "scope", "", "", "col");
startElement("", "th", "", atts);
characters(titleFirst);
endElement("", "th", "");
if (titleLast==null) {
printTagEnd(Tag.tr);
return;
}
atts = new AttributesImpl();
atts.addAttribute ("", "class", "", "", "colLast");
atts.addAttribute ("", "scope", "", "", "col");
startElement("", "th", "", atts);
characters(titleLast);
printTagEnd(Tag.th);
printTagEnd(Tag.tr);
}
public void docTableRow(String dataFirst,String dataLast) throws SAXException {
docTableRow(dataFirst,dataLast,null);
}
public void docTableRow(String dataFirst,String dataLast,String dataBlock) throws SAXException {
docTableRowHref(null,dataFirst,dataLast,dataBlock);
}
public void docTableRowHref(String dataFirstHref,String dataFirst,String dataLast,String dataBlock) throws SAXException {
if (isAltRow) {
printTagStart(Tag.tr,"altColor");
} else {
printTagStart(Tag.tr,"rowColor");
}
isAltRow = !isAltRow;
if (dataLast==null) {
printTagStart(Tag.td,"colOne");
} else {
printTagStart(Tag.td,"colFirst");
}
printTagStart(Tag.code);
if (dataFirstHref==null) {
characters(dataFirst);
} else {
printHref(dataFirstHref, dataFirst, dataFirst);
}
printTagEnd(Tag.code);
printTagEnd(Tag.td);
if (dataLast==null) {
printTagEnd(Tag.tr);
return;
}
printTagStart(Tag.td,"colLast");
printTagStart(Tag.code);characters(dataLast);printTagEnd(Tag.code);
if (dataBlock!=null) {
printTagStart(Tag.div,"block");characters(dataBlock);printTagEnd(Tag.div);
}
printTagEnd(Tag.td);
printTagEnd(Tag.tr);
}
}

View file

@ -34,6 +34,7 @@ import org.x4o.xml.element.ElementException;
import org.x4o.xml.element.ElementNamespaceContext;
import org.x4o.xml.lang.X4OLanguageModule;
import org.x4o.xml.lang.X4OLanguageContext;
import org.xml.sax.SAXException;
/**
* EldDocGenerator writes documentation.
@ -61,51 +62,60 @@ public class EldDocGenerator {
public void writeDoc(File basePath) throws ElementException {
EldDocHtmlWriter writer = new EldDocHtmlWriter();
try {
writer.writeTheme(basePath);
writer.writeIndex(basePath, context);
writer.writeStylesheet(basePath);
writer.writeOverviewModule(basePath, context);
writer.writeOverviewNamespace(basePath, context);
writer.writeIndexAll(basePath, context);
writer.writeDocHelp(basePath, context);
writer.writeAllElementsFrame(basePath, context, true);
writer.writeAllElementsFrame(basePath, context, false);
writer.writeOverviewFrame(basePath, context);
writer.writeOverviewLanguage(basePath, context);
writer.writeOverviewTree(basePath, context);
for (X4OLanguageModule mod:context.getLanguage().getLanguageModules()) {
writer.writeOverviewModule(basePath, mod);
writer.writeOverviewModule(basePath, mod, context);
for (ElementBindingHandler bind:mod.getElementBindingHandlers()) {
writer.writeBindingHandler(basePath,bind,mod);
writer.writeBindingHandler(basePath,bind,mod,context);
}
for (ElementAttributeHandler attr:mod.getElementAttributeHandlers()) {
writer.writeAttributeHandler(basePath,attr,mod);
writer.writeAttributeHandler(basePath,attr,mod,context);
}
for (ElementConfigurator conf:mod.getElementConfiguratorGlobals()) {
writer.writeElementConfigurator(basePath,conf,mod);
writer.writeElementConfigurator(basePath,conf,mod,context);
}
for (ElementInterface iface:mod.getElementInterfaces()) {
writer.writeElementInterface(basePath,iface,mod);
writer.writeElementInterface(basePath,iface,mod,context);
for (ElementBindingHandler bind:iface.getElementBindingHandlers()) {
writer.writeBindingHandler(basePath,bind,mod,iface);
writer.writeBindingHandler(basePath,bind,mod,iface,context);
}
//for (ElementAttributeHandler attr:iface.getElementClassAttributes()) {
// writer.writeAttributeHandler(basePath,attr,mod,true);
//}
for (ElementConfigurator conf:iface.getElementConfigurators()) {
writer.writeElementConfigurator(basePath,conf,mod,iface);
writer.writeElementConfigurator(basePath,conf,mod,iface,context);
}
}
for (ElementNamespaceContext ns:mod.getElementNamespaceContexts()) {
writer.writeOverviewElement(basePath, ns,mod);
writer.writeOverviewElement(basePath,ns,mod,context);
writer.writeNamespaceElementsFrame(basePath,ns,mod,context);
for (ElementClass ec:ns.getElementClasses()) {
writer.writeElement(basePath, ec, ns, mod,context);
for (ElementConfigurator conf:ec.getElementConfigurators()) {
writer.writeElementConfigurator(basePath,conf,mod,ns,ec);
writer.writeElementConfigurator(basePath,conf,mod,ns,ec,context);
}
}
}
}
} catch (SAXException e) {
throw new ElementException(e);
} catch (IOException e) {
throw new ElementException(e);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,447 @@
/* Javadoc JDK7 like style sheet */
body {
background-color:#ffffff;
color:#353833;
font-family:Arial, Helvetica, sans-serif;
font-size:76%;
margin:0px;
}
a:link, a:visited {
text-decoration:none;
color:#4c6b87;
}
a:hover, a:focus {
text-decoration:none;
color:#bb7a2a;
}
a:active {
text-decoration:none;
color:#4c6b87;
}
a[name] {
color:#353833;
}
a[name]:hover {
text-decoration:none;
color:#353833;
}
pre {
font-size:1.3em;
}
h1 {
font-size:1.8em;
}
h2 {
font-size:1.5em;
}
h3 {
font-size:1.4em;
}
h4 {
font-size:1.3em;
}
h5 {
font-size:1.2em;
}
h6 {
font-size:1.1em;
}
ul {
list-style-type:disc;
}
code, tt {
font-size:1.2em;
}
dt code {
font-size:1.2em;
}
table tr td dt code {
font-size:1.2em;
vertical-align:top;
}
sup {
font-size:0.6em;
}
.clear {
clear:both;
height:0px;
overflow:hidden;
}
.aboutLanguage {
float:right;
padding:0px 21px;
font-size:0.8em;
z-index:200;
margin-top:-7px;
}
.legalCopy {
margin-left:.5em;
}
.bar a, .bar a:link, .bar a:visited, .bar a:active {
color:#FFFFFF;
text-decoration:none;
}
.bar a:hover, .bar a:focus {
color:#bb7a2a;
}
.tab {
background-color:#0066FF;
background-image:url(titlebar.png);
background-position:left top;
background-repeat:no-repeat;
color:#ffffff;
padding:8px;
width:5em;
font-weight:bold;
}
.bar {
background-image:url(background.png);
background-repeat:repeat-x;
color:#FFFFFF;
padding:.8em .5em .4em .8em;
height:auto;/*height:1.8em;*/
font-size:1em;
margin:0px;
}
.topNav {
background-image:url(background.png);
background-repeat:repeat-x;
color:#FFFFFF;
float:left;
padding:0px;
width:100%;
clear:right;
height:2.8em;
padding-top:10px;
overflow:hidden;
}
.bottomNav {
margin-top:10px;
background-image:url(background.png);
background-repeat:repeat-x;
color:#FFFFFF;
float:left;
padding:0px;
width:100%;
clear:right;
height:2.8em;
padding-top:10px;
overflow:hidden;
}
.subNav {
background-color:#dee3e9;
border-bottom:1px solid #9eadc0;
float:left;
width:100%;
overflow:hidden;
}
.subNav div {
clear:left;
float:left;
padding:0 0 5px 6px;
}
ul.navList, ul.subNavList {
float:left;
margin:0px 25px 0px 0px;
padding:0px;
}
ul.navList li{
list-style:none;
float:left;
padding:3px 6px;
}
ul.subNavList li{
list-style:none;
float:left;
font-size:90%;
}
.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
color:#FFFFFF;
text-decoration:none;
}
.topNav a:hover, .bottomNav a:hover {
text-decoration:none;
color:#bb7a2a;
}
.navBarCell1Rev {
background-image:url(tab.png);
background-color:#a88834;
color:#FFFFFF;
margin: auto 5px;
border:1px solid #c9aa44;
}
.header, .footer {
clear:both;
margin:0 20px;
padding:5px 0px 0px 0px;
}
.indexHeader {
margin:10px;
position:relative;
}
.indexHeader h1 {
font-size:1.3em;
}
.title {
color:#2c4557;
margin:10px 0px;
}
.subTitle {
margin:5px 0px 0px 0px;
}
.header ul {
margin:0px 0px 25px 0px;
padding:0px;
}
.footer ul {
margin:20px 0px 5px 0px;
}
.header ul li, .footer ul li {
list-style:none;
font-size:1.2em;
}
div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
background-color:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
margin:0px 0px 6px -8px;
padding:2px 5px;
}
ul.blockList ul.blockList ul.blockList li.blockList h3 {
background-color:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
margin:0px 0px 6px -8px;
padding:2px 5px;
}
ul.blockList ul.blockList li.blockList h3 {
padding:0px;
margin:15px 0px;
}
ul.blockList li.blockList h2 {
padding:0px 0px 20px 0px;
}
.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
clear:both;
padding:10px 20px;
position:relative;
}
.indexContainer {
margin:10px;
position:relative;
font-size:1.0em;
}
.indexContainer h2 {
font-size:1.1em;
padding:0px 0px 3px 0px;
}
.indexContainer ul {
margin:0px;
padding:0px;
}
.indexContainer ul li {
list-style:none;
}
.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
font-size:1.1em;
font-weight:bold;
margin:10px 0 0 0;
color:#4E4E4E;
}
.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
margin:10px 0px 10px 20px;
}
.serializedFormContainer dl.nameValue dt {
margin-left:1px;
font-size:1.1em;
display:inline;
font-weight:bold;
}
.serializedFormContainer dl.nameValue dd {
margin:0px 0px 0px 1px;
font-size:1.1em;
display:inline;
}
ul.horizontal li {
display:inline;
font-size:0.9em;
}
ul.inheritance {
margin:0px;
padding:0px;
}
ul.inheritance li {
display:inline;
list-style:none;
}
ul.inheritance li ul.inheritance {
margin-left:15px;
padding-left:15px;
padding-top:1px;
}
ul.blockList, ul.blockListLast {
margin:10px 0px 10px 0px;
padding:0px;
}
ul.blockList li.blockList, ul.blockListLast li.blockList {
list-style:none;
margin-bottom:25px;
}
ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
padding:0px 20px 5px 10px;
border:1px solid #9eadc0;
background-color:#f9f9f9;
}
ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
padding:0px 0px 5px 8px;
background-color:#ffffff;
border:1px solid #9eadc0;
border-top:none;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
margin-left:0px;
padding-left:0px;
padding-bottom:15px;
border:none;
border-bottom:1px solid #9eadc0;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
list-style:none;
border-bottom:none;
padding-bottom:0px;
}
table tr td dl, table tr td dl dt, table tr td dl dd {
margin-top:0px;
margin-bottom:1px;
}
.contentContainer table, .classUseContainer table, .constantValuesContainer table {
border-bottom:1px solid #9eadc0;
width:100%;
}
.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table {
width:100%;
}
.contentContainer .description table, .contentContainer .details table {
border-bottom:none;
}
.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{
vertical-align:top;
padding-right:20px;
}
.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast,
.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast,
.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne,
.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne {
padding-right:3px;
}
.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
color:#FFFFFF;
font-weight:bold;
clear:none;
overflow:hidden;
padding:0px;
margin:0px;
}
caption a:link, caption a:hover, caption a:active, caption a:visited {
color:#FFFFFF;
}
.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span {
white-space:nowrap;
padding-top:8px;
padding-left:8px;
display:block;
float:left;
background-image:url(titlebar.png);
height:18px;
}
.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd {
width:10px;
background-image:url(titlebar_end.png);
background-repeat:no-repeat;
background-position:top right;
position:relative;
float:left;
}
ul.blockList ul.blockList li.blockList table {
margin:0px 0px 12px 0px;
width:100%;
}
.tableSubHeadingColor {
background-color: #EEEEFF;
}
.altColor {
background-color:#eeeeef;
}
.rowColor {
background-color:#ffffff;
}
.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td {
text-align:left;
padding:3px 3px 3px 7px;
}
th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
background:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
text-align:left;
padding:3px 3px 3px 7px;
}
td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
font-weight:bold;
}
td.colFirst, th.colFirst {
border-left:1px solid #9eadc0;
white-space:nowrap;
}
td.colLast, th.colLast {
border-right:1px solid #9eadc0;
}
td.colOne, th.colOne {
border-right:1px solid #9eadc0;
border-left:1px solid #9eadc0;
}
table.overviewSummary {
padding:0px;
margin-left:0px;
}
table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
table.overviewSummary td.colOne, table.overviewSummary th.colOne {
width:25%;
vertical-align:middle;
}
table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
width:25%;
vertical-align:middle;
}
/*
Content styles
*/
.description pre {
margin-top:0px;
}
.deprecatedContent {
margin:0px;
padding:10px 0px;
}
.docSummary {
padding:0px;
}
.sourceLineNo {
color:green;
padding:0px 30px 0px 0px;
}
h1.hidden {
visibility:hidden;
overflow:hidden;
font-size:0.9em;
}
.block {
display:block;
margin:3px 0px 0px 0px;
}
.strong {
font-weight:bold;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B