ICU-7339 sync CSS. more updates to reduce false positives.

X-SVN-Rev: 27490
This commit is contained in:
Steven R. Loomis 2010-02-04 21:51:58 +00:00
parent 4b5a30356e
commit fc0acc5419
4 changed files with 252 additions and 39 deletions

View File

@ -1,10 +1,11 @@
/*
* Default CSS style sheet for the ICU Open Source site
* Copyright (C) 2005-2009, International Business Machines
* Default CSS style sheet for the ICU4C Open Source readme
* Copyright (C) 2005-2010, International Business Machines
* Corporation and others. All Rights Reserved.
*/
/* Global styles */
body,p,li,ol,ul,th,td {
font-size: 10pt;
font-family: "Arial", "Helvetica", sans-serif;
@ -25,51 +26,106 @@ body.draft {
/*
* Customize the headers to have less space around them than usual
*/
h1 {
margin-bottom: 5pt;
margin-top: 5pt;
margin-bottom: .5em;
margin-top: .5em;
padding-bottom: .5em;
padding-top: .5em;
font-weight: 700;
font-size: 20pt;
font-family: "Arial", "Helvetica", sans-serif;
font-family: Georgia, "Times New Roman", Times, serif;
border-width: 2px;
border-style: solid;
text-align: center;
width: 100%;
font-size: 200%;
font-weight: bold;
}
h2 {
margin-bottom: 0pt;
border-top: 2px solid #22d;
border-left: 2px solid #22d;
margin-bottom: 0.5em;
padding-left: 4px;
margin-top: 12pt;
font-weight: 700;
font-size: 14pt;
font-family: "Arial", "Helvetica", sans-serif;
font-size: 2em;
font-family: Georgia, "Times New Roman", Times, serif;
background-color: #eee;
page-break-before: always;
}
h2 a {
text-decoration: none;
color: black;
}
h2 a:hover {
color: blue;
text-decoration: underline;
}
h3 {
background-color: #666666;
color: White;
border-top: 1px solid gray;
color: #1e1c46;
margin-bottom: 0pt;
margin-top: 12pt;
padding-left: 0.75em;
font-size: 1em;
font-family: "Arial", "Helvetica", sans-serif;
padding-left: 0;
margin-left: 1em;
margin-top: 0.2em;
padding-bottom: 0.4em;
font-size: 1.5em;
font-family: Georgia, "Times New Roman", Times, serif;
}
h3 a {
text-decoration: none;
color: black;
}
h3 a:hover {
color: blue;
text-decoration: underline;
}
h4 {
margin-left: 1.5em;
margin-bottom: 0pt;
margin-top: 12pt;
font-size: 1em;
font-family: "Arial", "Helvetica", sans-serif;
font-size: 1.0em;
font-weight: bolder;
font-family: Georgia, "Times New Roman", Times, serif;
}
h4 a {
text-decoration: none;
color: black;
}
h4 a:hover {
color: blue;
text-decoration: underline;
}
h5, h6 {
margin-left: 1.8em;
margin-bottom: 0pt;
margin-top: 12pt;
padding-left: 0.75em;
font-size: x-small;
font-family: "Arial", "Helvetica", sans-serif;
font-family: Georgia, "Times New Roman", Times, serif;
}
p,pre,table,ul,ol,dl {
margin-left: 2em;
}
/*
* Navigation sidebar on the left hand of most pages
*/
td.sidebar1 {
td.sidebar1 {
background-color: #99CCFF;
font-weight: 700;
margin-top: 0px;
@ -79,7 +135,7 @@ td.sidebar1 {
white-space: nowrap;
}
td.sidebar2 {
td.sidebar2 {
background-color: #99CCFF;
margin-top: 0px;
margin-bottom: 0px;
@ -92,7 +148,8 @@ td.sidebar2 {
text-decoration: none;
display: block;
}
td.sidebar2:hover {
td.sidebar2:hover {
background-color: #EEEEFF;
padding-top: 1px;
padding-bottom: 1px;
@ -105,26 +162,31 @@ a.sidebar2 {
display: block;
width: 100%;
}
a.sidebar2:link {
color: #000099;
display: block;
}
a.sidebar2:hover {
background-color: #EEEEFF;
display: block;
}
.underlinehover:hover {
background-color: #EEEEFF;
text-decoration: underline;
}
/* This is the faded header at the top */
td.fadedtop {
background-color: #006699;
background-image: url(http://www.icu-project.org/images/gr100.gif);
}
/* Related site on the left */
p.relatedsite {
color: White;
font-weight: 700;
@ -136,45 +198,55 @@ p.relatedsite {
}
/* Related site on the left */
p.sidebar3 {
margin-top: 0.75em;
margin-bottom: 0;
padding-left: 0.8em;
}
a.sidebar3 {
font-size: 0.9em;
text-decoration: none;
}
a.sidebar3:link {
text-decoration: none;
color: White;
}
a.sidebar3:hover {
text-decoration: underline;
}
/* FAQ */
li.faq_contents {
font-weight: 500;
}
p.faq_q {
font-weight: 700;
font-weight: 700;
margin-bottom: 0px;
}
p.faq_a {
margin-top: 0px;
}
/* News items */
table.newsItem {
padding-left: 1em;
padding-right: 1em;
border-width: medium;
}
th.newsItem {
background-color: #666666;
color: White;
}
td.newsItem {
background-color: #CCCCCC;
}
@ -183,13 +255,15 @@ td.release-line,th.release-line {
padding-left: 0.5em;
padding-right: 0.5em;
white-space: nowrap;
border:1px;
border: 1px;
}
.note {
font-style: italic;
font-size: small;
margin-left: 1em;
}
samp {
margin-left: 1em;
margin-right: 2em;
@ -198,6 +272,7 @@ samp {
display: block;
background-color: #EEEEEE
}
table.rtable caption {
margin-left: 2px;
margin-right: 2px;
@ -206,18 +281,34 @@ table.rtable caption {
background-color: #dee2ff;
text-align: left;
}
table.rtable tr th {
background-color: #dee2ff;
text-align: left;
}
table.rtable tr td {
background-color: #c0c0fd;
padding: 3px;
}
table.rtable tr.broken td {
background-color: #fbb;
border: 1px dashed gray;
padding: 3px;
font-weight: bold;
}
table.rtable tr.rarely td {
background-color: #efe9c2;
padding: 3px;
font-style: italic;
}
/* APIChangeReport specific things */
.row0 {
background-color: white;
background-color: white;
}
.row1 {
@ -225,39 +316,41 @@ table.rtable tr td {
}
.verchange {
color: red;
color: red;
font-weight: bold;
font-size: large;
font-size: large;
}
.stabchange {
color: red;
font-size: large;
color: red;
font-size: large;
}
.bigwarn {
color: red;
background-color: white;
font-size: x-large;
margin: 0.5 em;
font-size: x-large;
margin: 0.5 em;
}
table.genTable {
border-collapse: collapse;
border: 1px solid black;
border: 1px solid black;
}
/* 'everything inc version */
table.gentable td {
border: 1px solid gray;
padding: 0.25em;
font-size: small;
border: 1px solid gray;
padding: 0.25em;
font-size: small;
}
/* not version */
table.genTable td.file,
table.genTable td.proto {
border: none;
border: none;
font-size: medium;
}
@ -267,9 +360,88 @@ table.genTable td.file {
}
div.other .row0 {
background-color: white;
background-color: white;
}
div.other .row1 {
background-color: #ddf;
}
table.docTable {
border-collapse: collapse;
border: 1px solid black;
}
/* 'everything inc version */
table.docTable td,
table.docTable th {
border: 1px solid gray;
padding: 0.25em;
font-size: small;
}
/* not version */
table.docTable td.file,
table.docTable td.proto {
border: none;
font-size: medium;
}
table.docTable td.file {
font-family: monospace;
font-weight: bold;
}
abbr {
border-bottom: 1px dashed #0B0;
}
h2.TOC {
page-break-before: auto;
}
body.readme {
}
caption {
font-weight: bold;
text-align: left
}
div.indent {
margin-left: 2em
}
ul.TOC {
list-style-type: none;
padding-left: 1em;
font-size: larger;
}
ul.TOC li a {
font-weight: bold;
}
ul.TOC li ul li a {
font-weight: normal;
list-style-type: none;
font-size: small;
}
ul.TOC li ul {
margin-left: 0;
padding-left: 2em;
font-weight: normal;
list-style-type: none;
}
pre.samp,samp {
margin-left: 1em;
border-style: groove;
padding: 1em;
display: block;
background-color: #EEEEEE
}

View File

@ -71,7 +71,9 @@ public class StableAPI {
private static final String UVERSIONA = "uvernum_8h.xml";
private static final String UVERSIONB = "uversion_8h.xml";
private static final String U_ICU_VERSION = "U_ICU_VERSION";
/* ICU 4.4+ */
private static final String ICU_VERSION_XPATHA = "/doxygen/compounddef[@id='uvernum_8h'][@kind='file']/sectiondef[@kind='define']";
/* ICU <4.4 */
private static final String ICU_VERSION_XPATHB = "/doxygen/compounddef[@id='uversion_8h'][@kind='file']/sectiondef[@kind='define']";
private static String ICU_VERSION_XPATH = ICU_VERSION_XPATHA;
@ -154,7 +156,8 @@ public class StableAPI {
rightVer = trimICU(setVer(rightVer, "new", rightDir));
}
private static Set<String> warnSet = new TreeSet<String>(); // No Generics because we built with JDK 1.4 for now
private static Set<String> warnSet = new TreeSet<String>();
private static void warn(String what) {
if(!warnSet.contains(what)) {
System.out.println("Warning: "+what);
@ -314,7 +317,8 @@ public class StableAPI {
if(node.getAttributes()==null) {
throw new InternalError("[no attributes Can't get attr "+attrName +" out of node " + node.getNodeName()+":"+node.getNodeType()+":"+node.getNodeValue()+"@"+node.getTextContent());
} else if(node.getAttributes().getNamedItem(attrName)==null) {
throw new InternalError("No attribute named: "+attrName);
return null;
//throw new InternalError("No attribute named: "+attrName);
} else {
System.err.println("Can't get attr "+attrName+": "+npe.toString());
}
@ -340,6 +344,11 @@ public class StableAPI {
static Function fromXml(Node n){
Function f = new Function();
f.prototype = getAttr(n, "prototype");
if("yes".equals(getAttr(n, "static"))&&!f.prototype.contains("static")) {
f.prototype = "static ".concat(f.prototype);
}
f.id = getAttr(n, "id");
f.status = getAttr(n, "status");
f.version = trimICU(getAttr(n, "version"));
@ -370,13 +379,21 @@ public class StableAPI {
*/
private void purifyPrototype(){
//refer to 'umachine.h'
String statusList[] = {"U_CAPI", "U_STABLE", "U_DRAFT", "U_DEPRECATED", "U_OBSOLETE", "U_INTERNAL", "virtual"};
String statusList[] = {"U_CAPI", "U_STABLE", "U_DRAFT", "U_DEPRECATED", "U_OBSOLETE", "U_INTERNAL", "virtual", "U_EXPORT2"};
for (int i = 0; i < statusList.length; i++) {
String s = statusList[i];
prototype = prototype.replaceAll(s,"");
prototype = prototype.trim();
}
String replList[] = { "[ ]*\\([ ]*void[ ]*\\)[ ]*", "()",
" , ", ", ",
};
for (int i = 0; i < replList.length; i+= 2) {
prototype = prototype.replaceAll(replList[i+0],replList[i+1]);
}
prototype = prototype.trim();
// Now, remove parameter names!
@ -427,6 +444,24 @@ public class StableAPI {
out.append(in, closeParen, in.length()); // postlude
// Delete any doubled whitespace.
for(int p=1;p<out.length();p++) {
char prev = out.charAt(p-1);
if(Character.isWhitespace(prev)) {
while (out.length()>p&&(Character.isWhitespace(out.charAt(p)))) {
out.deleteCharAt(p);
}
if(out.length()>p) {
// any trailings to delete?
char curr = out.charAt(p);
if(curr==',' || curr==')' || curr=='*' || curr=='&') { // delete spaces before these.
out.deleteCharAt(--p);
continue;
}
}
}
}
// System.err.println(prototype+" -> " + out.toString());
prototype = out.toString();
}
@ -529,6 +564,10 @@ public class StableAPI {
public int compareTo(JoinedFunction o) {
return comparableName.compareTo(o.comparableName);
}
public boolean equals(Function right){
return this.prototype.equals(right.prototype);
}
}
TransformerFactory transFac = TransformerFactory.newInstance();

View File

@ -1,7 +1,7 @@
<!--
/*
*******************************************************************************
* Copyright (C) 2009, International Business Machines Corporation and *
* Copyright (C) 2009-2010, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
* This is an XSLT file.
@ -26,6 +26,8 @@
<xsl:attribute name="version"><xsl:value-of select="detaileddescription/para/xrefsect/xrefdescription/para/text()"/></xsl:attribute>
<xsl:attribute name="prototype"><xsl:value-of select="concat(definition/text(), argsstring/text())" /></xsl:attribute>
<xsl:copy-of select="location/@file" />
<xsl:copy-of select="@static" />
<xsl:copy-of select="@inline" />
</cppfunc>
</xsl:for-each>
</xsl:for-each>

View File

@ -146,7 +146,7 @@
</xsl:attribute>
</xsl:if>
<xsl:value-of select="@leftStatus" /><xsl:if test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion">&gt;Stable</xsl:if>
<xsl:value-of select="@leftStatus" /><xsl:if test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion">»Stable</xsl:if>
<br/> <xsl:value-of select="@leftVersion" />
</td>
<xsl:if test = "@leftStatus != 'Draft' or @rightStatus != 'Stable' or @leftVersion != @rightVersion">