/[classpath]/gjdoc/src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
ViewVC logotype

Diff of /gjdoc/src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.34 by julian, Fri Feb 4 17:41:16 2005 UTC revision 1.35 by julian, Sat Feb 5 07:47:29 2005 UTC
# Line 111  public class HtmlDoclet Line 111  public class HtmlDoclet
111              = ("overview".equals(currentPage)              = ("overview".equals(currentPage)
112                 || "full-tree".equals(currentPage)                 || "full-tree".equals(currentPage)
113                 || "index".equals(currentPage)                 || "index".equals(currentPage)
114                   || "split-index".equals(currentPage)
115                 || "serialized".equals(currentPage)                 || "serialized".equals(currentPage)
116                 || "deprecated".equals(currentPage)                 || "deprecated".equals(currentPage)
117                   || "about".equals(currentPage)
118                 );                 );
119    
120           if (!isSinglePackage()) {           if (!isSinglePackage()) {
# Line 186  public class HtmlDoclet Line 188  public class HtmlDoclet
188                 output.print(" ");                 output.print(" ");
189    
190                 if (null != currentClass) {                 if (null != currentClass) {
191                    output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                    if ("uses".equals(currentPage)) {
192                    output.beginAnchor(currentClass.name() + "-uses" + filenameExtension);                       output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);
193                    output.print("Use");                       output.print("Use");
194                    output.endAnchor();                       output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);
195                    output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);                    }
196                      else {
197                         output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);
198                         output.beginAnchor(currentClass.name() + "-uses" + filenameExtension);
199                         output.print("Use");
200                         output.endAnchor();
201                         output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);
202                      }
203                 }                 }
204                 else {                 else {
205                    output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);                    output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);
# Line 202  public class HtmlDoclet Line 211  public class HtmlDoclet
211              if (optionLinkSource.getValue()) {              if (optionLinkSource.getValue()) {
212                 output.print(" ");                 output.print(" ");
213    
214                 if (null != currentClass) {                
215                    output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                 if ("source".equals(currentPage)) {
216                    String targetClassName = currentClass.name();                    output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);
                   String targetAnchor = "";  
                   if (null != currentClass.containingClass()) {  
                      targetClassName = getOuterClassDoc(currentClass).name();  
                      targetAnchor = "#line." + currentClass.position().line();  
                   }  
                   output.beginAnchor(targetClassName + "-source" + filenameExtension + targetAnchor);  
217                    output.print("Source");                    output.print("Source");
218                    output.endAnchor();                    output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);
                   output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);  
219                 }                 }
220                 else {                 else {
221                    output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);  
222                    output.print("Source");                    if (null != currentClass) {
223                    output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);                      
224                         output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);
225                         String targetClassName = currentClass.name();
226                         String targetAnchor = "";
227                         if (null != currentClass.containingClass()) {
228                            targetClassName = getOuterClassDoc(currentClass).name();
229                            targetAnchor = "#line." + currentClass.position().line();
230                         }
231                         output.beginAnchor(targetClassName + "-source" + filenameExtension + targetAnchor);
232                         output.print("Source");
233                         output.endAnchor();
234                         output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);
235                      }
236                      else {
237                         output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);
238                         output.print("Source");
239                         output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);
240                      }
241                 }                 }
242              }              }
243           }           }
# Line 260  public class HtmlDoclet Line 279  public class HtmlDoclet
279              indexName = "alphaindex";              indexName = "alphaindex";
280           }           }
281    
282           if ("index".equals(currentPage)) {           if ("index".equals(currentPage) || "split-index".equals(currentPage)) {
283              output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);              output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);
284              output.print("Index");              output.print("Index");
285              output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);              output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);
# Line 334  public class HtmlDoclet Line 353  public class HtmlDoclet
353        printNavBar(output, currentPage, currentClass);        printNavBar(output, currentPage, currentClass);
354        output.endCell();        output.endCell();
355        if (null != optionHeader.getValue()) {        if (null != optionHeader.getValue()) {
356           output.beginCell();           output.beginCell(CssClass.NAVBAR_TOP_HEADER);
357           output.print(replaceDocRoot(output, optionHeader.getValue()));           output.print(replaceDocRoot(output, optionHeader.getValue()));
358           output.endCell();           output.endCell();
359        }        }
# Line 344  public class HtmlDoclet Line 363  public class HtmlDoclet
363     private void printNavBarTopNaviCell(HtmlPage output)     private void printNavBarTopNaviCell(HtmlPage output)
364     {     {
365        output.beginCell(CssClass.NAVBAR_TOP_NAVI);        output.beginCell(CssClass.NAVBAR_TOP_NAVI);
366        output.beginAnchor(output.getPathToRoot() + "/index" + filenameExtension, "Show this documentation set in a frameset", "_top");        output.beginAnchor(output.getPathToRoot() + "/index" + filenameExtension, "Show in a frameset", "_top");
367        output.print("Frames");        output.print("Frames");
368        output.endAnchor();        output.endAnchor();
369        output.print(" | ");        output.print(" | ");
       String noFramesHref;  
       if (isSinglePackage()) {  
          noFramesHref = output.getPathToRoot()  
             + "/" + getPackageURL(getSinglePackage())  
             + "/package-summary" + filenameExtension;  
       }  
       else {  
          noFramesHref = output.getPathToRoot()  
             + "/index-noframes" + filenameExtension;  
       }  
370    
371        output.beginAnchor(noFramesHref, "Show the overview page without frames", "_top");        output.beginAnchor(output.getFile().getName(), "Show without frames", "_top");
372        output.print("No Frames");        output.print("No Frames");
373        output.endAnchor();        output.endAnchor();
374        output.print(" ");        output.print(" ");
# Line 373  public class HtmlDoclet Line 382  public class HtmlDoclet
382     }     }
383    
384     private void printNavBarTop(HtmlPage output, String currentPage,     private void printNavBarTop(HtmlPage output, String currentPage,
385                                 ClassDoc currentClass, ClassDoc prevClass, ClassDoc nextClass)                                 ClassDoc currentClass, Object prev, Object next)
386     {     {
387        if (!optionNoNavBar.getValue()) {        if (!optionNoNavBar.getValue()) {
388           output.beginTable(CssClass.NAVBAR_TOP);           output.beginTable(CssClass.NAVBAR_TOP);
# Line 381  public class HtmlDoclet Line 390  public class HtmlDoclet
390           output.beginRow();           output.beginRow();
391           if ("class".equals(currentPage)) {           if ("class".equals(currentPage)) {
392              output.beginCell(CssClass.NAVBAR_TOP_NAVI);              output.beginCell(CssClass.NAVBAR_TOP_NAVI);
393                ClassDoc prevClass = (ClassDoc)prev;
394                ClassDoc nextClass = (ClassDoc)next;
395              if (null != prevClass) {              if (null != prevClass) {
396                 output.anchor(getClassDocURL(output, prevClass), "Prev Class");                 output.anchor(getClassDocURL(output, prevClass), "Prev Class");
397              }              }
# Line 396  public class HtmlDoclet Line 407  public class HtmlDoclet
407              }              }
408              output.endCell();              output.endCell();
409           }           }
410             else if ("split-index".equals(currentPage)) {
411                output.beginCell(CssClass.NAVBAR_TOP_NAVI);
412                Integer prevLetter = (Integer)prev;
413                Integer nextLetter = (Integer)next;
414                if (null != prevLetter) {
415                   output.anchor("alphaindex-" + prevLetter + filenameExtension, "Prev Letter");
416                }
417                else {
418                   output.print("Prev Letter");
419                }
420                output.print(" | ");
421                if (null != nextLetter) {
422                   output.anchor("alphaindex-" + nextLetter + filenameExtension, "Next Letter");
423                }
424                else {
425                   output.print("Next Letter");
426                }
427                output.endCell();
428             }
429           else {           else {
430              output.beginCell(CssClass.NAVBAR_TOP_NAVI);              output.beginCell(CssClass.NAVBAR_TOP_NAVI);
431              output.endCell();              output.endCell();
# Line 432  public class HtmlDoclet Line 462  public class HtmlDoclet
462                 output.anchor("#summary-methods", "Method");                 output.anchor("#summary-methods", "Method");
463              }              }
464              else {              else {
465                 output.print("Methods");                 output.print("Method");
466              }              }
467    
468              output.print(" | ");              output.print(" | ");
# Line 738  public class HtmlDoclet Line 768  public class HtmlDoclet
768     private void printPackageTreeRec(HtmlPage output, TreeNode node, TreeNode parentNode)     private void printPackageTreeRec(HtmlPage output, TreeNode node, TreeNode parentNode)
769     {     {
770        output.beginElement("li");        output.beginElement("li");
771          output.beginElement("div");
772        if (node.classDoc.isIncluded()) {        if (node.classDoc.isIncluded()) {
773           output.print(node.classDoc.containingPackage().name());           output.print(node.classDoc.containingPackage().name());
774           output.print(".");           output.print(".");
# Line 754  public class HtmlDoclet Line 785  public class HtmlDoclet
785           parentClassDoc = parentNode.classDoc;           parentClassDoc = parentNode.classDoc;
786        }        }
787        if (interfaces.length > 0        if (interfaces.length > 0
788            && !interfaces[0].equals(parentClassDoc)) {            && !(interfaces.length == 1 && interfaces[0].equals(parentClassDoc))) {
789           if (node.classDoc.isInterface()) {           if (node.classDoc.isInterface()) {
790              output.print(" (also implements ");              output.print(" (also implements ");
791           }           }
# Line 783  public class HtmlDoclet Line 814  public class HtmlDoclet
814           output.print(")");           output.print(")");
815        }        }
816    
817          output.endElement("div");
818        output.endElement("li");        output.endElement("li");
819        output.beginElement("ul");        output.beginElement("ul");
820        Iterator it = node.children.iterator();        Iterator it = node.children.iterator();
# Line 807  public class HtmlDoclet Line 839  public class HtmlDoclet
839        TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object");        TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object");
840        if (null != root) {        if (null != root) {
841           output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy");           output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy");
842           output.beginElement("ul");           output.beginDiv(CssClass.PACKAGE_TREE);
843           printPackageTreeRec(output, root, null);           printPackageTreeRec(output, root, null);
844           output.endElement("ul");           output.endDiv(CssClass.PACKAGE_TREE);
845        }        }
846     }     }
847    
# Line 829  public class HtmlDoclet Line 861  public class HtmlDoclet
861           Iterator it = interfaceRoot.children.iterator();           Iterator it = interfaceRoot.children.iterator();
862           if (it.hasNext()) {           if (it.hasNext()) {
863              output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy");              output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy");
864              output.beginElement("ul");              output.beginDiv(CssClass.PACKAGE_TREE);
865              while (it.hasNext()) {              while (it.hasNext()) {
866                 TreeNode node = (TreeNode)it.next();                 TreeNode node = (TreeNode)it.next();
867                 printPackageTreeRec(output, node, null);                 printPackageTreeRec(output, node, null);
868              }              }
869              output.endElement("ul");              output.endDiv(CssClass.PACKAGE_TREE);
870           }           }
871        }        }
872    
# Line 906  public class HtmlDoclet Line 938  public class HtmlDoclet
938     private void printIndexEntry(HtmlPage output, Doc entry)     private void printIndexEntry(HtmlPage output, Doc entry)
939     {     {
940        output.beginDiv(CssClass.INDEX_ENTRY);        output.beginDiv(CssClass.INDEX_ENTRY);
941          output.beginDiv(CssClass.INDEX_ENTRY_KEY);
942        String anchor = null;        String anchor = null;
943        String description = null;        String description = null;
944        if (entry instanceof PackageDoc) {        if (entry instanceof PackageDoc) {
# Line 970  public class HtmlDoclet Line 1003  public class HtmlDoclet
1003           }           }
1004           printType(output, containingClass);           printType(output, containingClass);
1005        }        }
1006          output.endDiv(CssClass.INDEX_ENTRY_KEY);
1007        output.beginDiv(CssClass.INDEX_ENTRY_DESCRIPTION);        output.beginDiv(CssClass.INDEX_ENTRY_DESCRIPTION);
1008        printTags(output, entry, entry.firstSentenceTags(), true);        printTags(output, entry, entry.firstSentenceTags(), true);
1009        output.endDiv(CssClass.INDEX_ENTRY_DESCRIPTION);        output.endDiv(CssClass.INDEX_ENTRY_DESCRIPTION);
# Line 1189  public class HtmlDoclet Line 1223  public class HtmlDoclet
1223        Map categorizedIndex = getCategorizedIndex();        Map categorizedIndex = getCategorizedIndex();
1224        Iterator it = categorizedIndex.keySet().iterator();        Iterator it = categorizedIndex.keySet().iterator();
1225        int n = 1;        int n = 1;
1226          int count = categorizedIndex.size();
1227        while (it.hasNext()) {        while (it.hasNext()) {
1228           Character c = (Character)it.next();           Character c = (Character)it.next();
1229           List classList = (List)categorizedIndex.get(c);           List classList = (List)categorizedIndex.get(c);
1230           printIndexPage(n++, c, classList);           printIndexPage(n++, count, c, classList);
1231        }        }
1232     }     }
1233    
1234     private void printIndexPage()     private void printIndexPage()
1235        throws IOException        throws IOException
1236     {     {
1237        printIndexPage(0, null, null);        printIndexPage(0, 0, null, null);
1238     }     }
1239    
1240     private void printIndexPage(int index, Character letter, List classList)     private void printIndexPage(int index, int maxIndex, Character letter, List classList)
1241        throws IOException        throws IOException
1242     {     {
1243        String pageName = "alphaindex";        String pageName = "alphaindex";
# Line 1215  public class HtmlDoclet Line 1250  public class HtmlDoclet
1250                                       getOutputDocEncoding());                                       getOutputDocEncoding());
1251        output.beginPage(getPageTitle("Alphabetical Index"), getOutputCharset());        output.beginPage(getPageTitle("Alphabetical Index"), getOutputCharset());
1252        output.beginBody(CssClass.BODY_CONTENT_INDEX);        output.beginBody(CssClass.BODY_CONTENT_INDEX);
1253        printNavBarTop(output, "index");        if (null == letter) {
1254             printNavBarTop(output, "index");
1255          }
1256          else {
1257             printNavBarTop(output, "split-index", null,
1258                            (index > 1) ? new Integer(index - 1) : null,
1259                            (index < maxIndex) ? new Integer(index + 1) : null);
1260          }
1261    
1262        {        {
1263           output.div(CssClass.INDEX_TITLE, "Alphabetical Index");           String title;
1264             if (null == letter) {
1265                title = "Alphabetical Index";
1266             }
1267             else {
1268                title = "Alphabetical Index: " + letter;
1269             }
1270             output.div(CssClass.INDEX_TITLE, title);
1271    
1272           output.beginDiv(CssClass.INDEX_LETTERS);           output.beginDiv(CssClass.INDEX_LETTERS);
1273    
# Line 1512  public class HtmlDoclet Line 1561  public class HtmlDoclet
1561           }           }
1562           output.endDiv(CssClass.DEPRECATION_TOC_LIST);           output.endDiv(CssClass.DEPRECATION_TOC_LIST);
1563           output.endDiv(CssClass.DEPRECATION_TOC);           output.endDiv(CssClass.DEPRECATION_TOC);
1564             output.beginDiv(CssClass.DEPRECATION_LIST);
1565    
1566           output.anchorName("interfaces");           output.anchorName("interfaces");
1567           printDeprecationSummary(output, deprecatedInterfaces, "Deprecated Interfaces");           printDeprecationSummary(output, deprecatedInterfaces, "Deprecated Interfaces");
# Line 1533  public class HtmlDoclet Line 1583  public class HtmlDoclet
1583    
1584           output.anchorName("constructors");           output.anchorName("constructors");
1585           printDeprecationSummary(output, deprecatedConstructors, "Deprecated Constructors");           printDeprecationSummary(output, deprecatedConstructors, "Deprecated Constructors");
1586    
1587             output.endDiv(CssClass.DEPRECATION_LIST);
1588        }        }
1589        else {        else {
1590           output.beginDiv(CssClass.DEPRECATION_EMPTY);           output.beginDiv(CssClass.DEPRECATION_EMPTY);
# Line 1559  public class HtmlDoclet Line 1611  public class HtmlDoclet
1611    
1612        printNavBarTop(output, "about");        printNavBarTop(output, "about");
1613    
1614          output.div(CssClass.ABOUT_TITLE, "About");
1615    
1616        output.beginDiv(CssClass.ABOUT_GENERATOR);        output.beginDiv(CssClass.ABOUT_GENERATOR);
1617        output.print("Generated by ");        output.print("Generated by ");
1618        output.print("GNU Gjdoc");        output.print("Gjdoc");
1619        output.print(" Standard Doclet ");        output.print(" HtmlDoclet ");
1620        output.print(getDocletVersion());        output.print(getDocletVersion());
1621        output.print(", part of ");        output.print(", part of ");
1622        output.anchor("http://www.gnu.org/software/classpath/cp-tools/", "GNU Classpath Tools");        output.beginAnchor("http://www.gnu.org/software/classpath/cp-tools/", "", "_top");
1623          output.print("GNU Classpath Tools");
1624          output.endAnchor();
1625        output.endDiv(CssClass.ABOUT_GENERATOR);        output.endDiv(CssClass.ABOUT_GENERATOR);
1626    
1627        printNavBarBottom(output, "about");        printNavBarBottom(output, "about");
# Line 1575  public class HtmlDoclet Line 1631  public class HtmlDoclet
1631        output.close();        output.close();
1632     }     }
1633    
1634       private void printSourcePage(File packageDir, ClassDoc classDoc, String sourceXhtml)
1635          throws IOException
1636       {
1637          HtmlPage output = new HtmlPage(new File(packageDir,
1638                                                  classDoc.name() + "-source" + filenameExtension),
1639                                         getPathToRoot(packageDir, getTargetDirectory()),
1640                                         getOutputDocEncoding());
1641          output.beginPage(getPageTitle("Source for " + classDoc.qualifiedTypeName()), getOutputCharset());
1642    
1643          output.beginBody(CssClass.BODY_CONTENT_SOURCE);
1644    
1645          printNavBarTop(output, "source", classDoc, null, null);
1646    
1647          output.div(CssClass.SOURCE_TITLE, "Source for " + classDoc.qualifiedTypeName());
1648          output.beginDiv(CssClass.SOURCE);
1649          output.print(sourceXhtml);
1650          output.endDiv(CssClass.SOURCE);
1651    
1652          printNavBarBottom(output, "about");
1653    
1654          output.endBody();
1655          output.endPage();
1656    
1657          output.close();
1658       }
1659    
1660     private void printHelpPage()     private void printHelpPage()
1661        throws IOException        throws IOException
1662     {     {
# Line 1714  public class HtmlDoclet Line 1796  public class HtmlDoclet
1796        output.beginBody(CssClass.BODY_CONTENT_USES);        output.beginBody(CssClass.BODY_CONTENT_USES);
1797        printNavBarTop(output, "uses", classDoc, null, null);        printNavBarTop(output, "uses", classDoc, null, null);
1798    
1799        output.div(CssClass.USAGE_TITLE, "Uses of class " + classDoc.qualifiedName());        output.div(CssClass.USAGE_TITLE,
1800                     "Uses of " + getClassTypeName(classDoc)
1801                     + " " + classDoc.qualifiedName());
1802    
1803        Map packageToUsageTypeMap = getUsageOfClass(classDoc);        Map packageToUsageTypeMap = getUsageOfClass(classDoc);
1804        if (null != packageToUsageTypeMap) {        if (null != packageToUsageTypeMap && !packageToUsageTypeMap.isEmpty()) {
1805    
1806           Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator();           Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator();
1807           while (packagesIterator.hasNext()) {           while (packagesIterator.hasNext()) {
# Line 1732  public class HtmlDoclet Line 1816  public class HtmlDoclet
1816                                
1817                 output.endDiv(CssClass.TABLE_CONTAINER);                 output.endDiv(CssClass.TABLE_CONTAINER);
1818                 output.beginTable(CssClass.USAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });                 output.beginTable(CssClass.USAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
1819                 output.rowDiv(CssClass.TABLE_HEADER, format("usagetype." + usageType.getId(),                 output.rowDiv(CssClass.USAGE_TABLE_HEADER, format("usagetype." + usageType.getId(),
1820                                                             classDoc.qualifiedName()));                                                                   classDoc.qualifiedName()));
1821    
1822                 Set users = (Set)usageTypeToUsersMap.get(usageType);                 Set users = (Set)usageTypeToUsersMap.get(usageType);
1823                 Iterator userIterator = users.iterator();                 Iterator userIterator = users.iterator();
# Line 1759  public class HtmlDoclet Line 1843  public class HtmlDoclet
1843                       output.endCell();                       output.endCell();
1844    
1845                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);
1846                         printType(output, ((FieldDoc)user).containingClass());
1847                         output.print(".");
1848                       output.beginAnchor(getMemberDocURL(output, (FieldDoc)user));                       output.beginAnchor(getMemberDocURL(output, (FieldDoc)user));
1849                       output.print(((FieldDoc)user).name());                       output.print(((FieldDoc)user).name());
1850                       output.endAnchor();                       output.endAnchor();
# Line 1772  public class HtmlDoclet Line 1858  public class HtmlDoclet
1858                       output.endCell();                       output.endCell();
1859    
1860                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);
1861                         printType(output, ((MethodDoc)user).containingClass());
1862                         output.print(".");
1863                       output.beginAnchor(getMemberDocURL(output, (MethodDoc)user));                       output.beginAnchor(getMemberDocURL(output, (MethodDoc)user));
1864                       output.print(((MethodDoc)user).name());                       output.print(((MethodDoc)user).name());
1865                       output.endAnchor();                       output.endAnchor();
# Line 1781  public class HtmlDoclet Line 1869  public class HtmlDoclet
1869                    else if (user instanceof ConstructorDoc) {                    else if (user instanceof ConstructorDoc) {
1870                       ConstructorDoc constructorDoc = (ConstructorDoc)user;                       ConstructorDoc constructorDoc = (ConstructorDoc)user;
1871    
                      output.beginCell(CssClass.USAGE_SUMMARY_LEFT);  
                      output.endCell();  
   
1872                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);                       output.beginCell(CssClass.USAGE_SUMMARY_RIGHT);
1873                         printType(output, ((ConstructorDoc)user).containingClass());
1874                         output.print(".");
1875                       output.beginAnchor(getMemberDocURL(output, (ConstructorDoc)user));                       output.beginAnchor(getMemberDocURL(output, (ConstructorDoc)user));
1876                       output.print(((ConstructorDoc)user).name());                       output.print(((ConstructorDoc)user).name());
1877                       output.endAnchor();                       output.endAnchor();
# Line 1798  public class HtmlDoclet Line 1885  public class HtmlDoclet
1885              }              }
1886           }           }
1887        }        }
1888          else {
1889             output.div(CssClass.USAGE_EMPTY,
1890                        getClassTypeName(classDoc)
1891                        + " " + classDoc.qualifiedName() + " is not used by any class in this documentation set.");
1892          }
1893        printNavBarBottom(output, "uses", classDoc);        printNavBarBottom(output, "uses", classDoc);
1894        output.endBody();        output.endBody();
1895        output.endPage();        output.endPage();
# Line 1900  public class HtmlDoclet Line 1992  public class HtmlDoclet
1992                   + " " + classDoc.name());                   + " " + classDoc.name());
1993        output.endDiv(CssClass.CLASS_TITLE);        output.endDiv(CssClass.CLASS_TITLE);
1994    
1995          boolean needSep = false;
1996    
1997        if (classDoc.isInterface()) {        if (classDoc.isInterface()) {
1998    
1999           InterfaceRelation relation           InterfaceRelation relation
# Line 1919  public class HtmlDoclet Line 2013  public class HtmlDoclet
2013                                    relation.implementingClasses,                                    relation.implementingClasses,
2014                                    "Known Implementing Classes:",                                    "Known Implementing Classes:",
2015                                    CssClass.CLASS_KNOWNIMPLEMENTING);                                    CssClass.CLASS_KNOWNIMPLEMENTING);
2016    
2017             needSep = !relation.superInterfaces.isEmpty()
2018                || !relation.subInterfaces.isEmpty()
2019                || !relation.implementingClasses.isEmpty();
2020        }        }
2021        else {          else {  
2022             needSep = true;
2023    
2024           LinkedList superClasses = new LinkedList();           LinkedList superClasses = new LinkedList();
2025           for (ClassDoc cd = classDoc; cd != null; cd = cd.superclass()) {           for (ClassDoc cd = classDoc; cd != null; cd = cd.superclass()) {
2026              superClasses.add(cd);              superClasses.add(cd);
# Line 1966  public class HtmlDoclet Line 2066  public class HtmlDoclet
2066           }           }
2067        }        }
2068    
2069        output.hr();        if (needSep) {
2070             output.hr();
2071          }
2072    
2073        output.beginDiv(CssClass.CLASS_SYNOPSIS);        output.beginDiv(CssClass.CLASS_SYNOPSIS);
2074        output.beginDiv(CssClass.CLASS_SYNOPSIS_DECLARATION);        output.beginDiv(CssClass.CLASS_SYNOPSIS_DECLARATION);
# Line 2039  public class HtmlDoclet Line 2141  public class HtmlDoclet
2141              }              }
2142           }           }
2143    
2144           ClassDoc superClassDoc = classDoc.superclass();           if (!classDoc.isInterface()) {
2145           while (null != superClassDoc              ClassDoc superClassDoc = classDoc.superclass();
2146                  && (!haveInheritedFields              while (null != superClassDoc
2147                      || !haveInheritedMethods                     && (!haveInheritedFields
2148                      || !haveInheritedClasses)) {                         || !haveInheritedMethods
2149              if (superClassDoc.fields().length > 0) {                         || !haveInheritedClasses)) {
2150                 haveInheritedFields = true;                 if (superClassDoc.fields().length > 0) {
2151              }                    haveInheritedFields = true;
2152              if (superClassDoc.methods().length > 0) {                 }
2153                 haveInheritedMethods = true;                 if (superClassDoc.methods().length > 0) {
2154              }                    haveInheritedMethods = true;
2155              if (superClassDoc.innerClasses().length > 0) {                 }
2156                 haveInheritedClasses = true;                 if (superClassDoc.innerClasses().length > 0) {
2157                      haveInheritedClasses = true;
2158                   }
2159                   superClassDoc = superClassDoc.superclass();
2160              }              }
             superClassDoc = superClassDoc.superclass();  
2161           }           }
2162        }        }
2163                
# Line 2951  public class HtmlDoclet Line 3055  public class HtmlDoclet
3055                       sourceReader.close();                       sourceReader.close();
3056                       String result = java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName());                       String result = java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName());
3057                                            
3058                       File targetFile = new File(packageDir,                       printSourcePage(packageDir,
3059                                                  classDoc.name() + "-source" + filenameExtension);                                       classDoc,
3060                       FileWriter targetWriter = new FileWriter(targetFile);                                       result);
                      targetWriter.write(result);  
                      targetWriter.close();  
3061                    }                    }
3062                    catch (IOException e) {                    catch (IOException e) {
3063                       printWarning("Cannot locate source file for class " + classDoc.qualifiedTypeName());                       printWarning("Cannot locate source file for class " + classDoc.qualifiedTypeName());

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26