1.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Tue Nov 30 09:38:48 2010 -0800 1.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Wed Dec 01 11:02:38 2010 -0800 1.3 @@ -29,12 +29,15 @@ 1.4 1.5 import com.sun.javadoc.*; 1.6 import com.sun.tools.doclets.internal.toolkit.util.*; 1.7 +import com.sun.tools.doclets.formats.html.markup.*; 1.8 +import com.sun.tools.doclets.internal.toolkit.*; 1.9 1.10 /** 1.11 * Class to generate Tree page for a package. The name of the file generated is 1.12 * "package-tree.html" and it is generated in the respective package directory. 1.13 * 1.14 * @author Atul M Dambalkar 1.15 + * @author Bhavesh Patel (Modified) 1.16 */ 1.17 public class PackageTreeWriter extends AbstractTreeWriter { 1.18 1.19 @@ -107,94 +110,96 @@ 1.20 * Generate a separate tree file for each package. 1.21 */ 1.22 protected void generatePackageTreeFile() throws IOException { 1.23 - printHtmlHeader(packagedoc.name() + " " 1.24 - + configuration.getText("doclet.Window_Class_Hierarchy"), null, true); 1.25 - 1.26 - printPackageTreeHeader(); 1.27 - 1.28 + Content body = getPackageTreeHeader(); 1.29 + Content headContent = getResource("doclet.Hierarchy_For_Package", 1.30 + Util.getPackageName(packagedoc)); 1.31 + Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, false, 1.32 + HtmlStyle.title, headContent); 1.33 + Content div = HtmlTree.DIV(HtmlStyle.header, heading); 1.34 if (configuration.packages.length > 1) { 1.35 - printLinkToMainTree(); 1.36 + addLinkToMainTree(div); 1.37 } 1.38 - 1.39 - generateTree(classtree.baseclasses(), "doclet.Class_Hierarchy"); 1.40 - generateTree(classtree.baseinterfaces(), "doclet.Interface_Hierarchy"); 1.41 - generateTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy"); 1.42 - generateTree(classtree.baseEnums(), "doclet.Enum_Hierarchy"); 1.43 - 1.44 - printPackageTreeFooter(); 1.45 - printBottom(); 1.46 - printBodyHtmlEnd(); 1.47 + body.addContent(div); 1.48 + HtmlTree divTree = new HtmlTree(HtmlTag.DIV); 1.49 + divTree.addStyle(HtmlStyle.contentContainer); 1.50 + addTree(classtree.baseclasses(), "doclet.Class_Hierarchy", divTree); 1.51 + addTree(classtree.baseinterfaces(), "doclet.Interface_Hierarchy", divTree); 1.52 + addTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy", divTree); 1.53 + addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", divTree); 1.54 + body.addContent(divTree); 1.55 + addNavLinks(false, body); 1.56 + addBottom(body); 1.57 + printHtmlDocument(null, true, body); 1.58 } 1.59 1.60 /** 1.61 - * Print the navigation bar header for the package tree file. 1.62 + * Get the package tree header. 1.63 + * 1.64 + * @return a content tree for the header 1.65 */ 1.66 - protected void printPackageTreeHeader() { 1.67 - printTop(); 1.68 - navLinks(true); 1.69 - hr(); 1.70 - center(); 1.71 - h2(configuration.getText("doclet.Hierarchy_For_Package", 1.72 - Util.getPackageName(packagedoc))); 1.73 - centerEnd(); 1.74 + protected Content getPackageTreeHeader() { 1.75 + String title = packagedoc.name() + " " + 1.76 + configuration.getText("doclet.Window_Class_Hierarchy"); 1.77 + Content bodyTree = getBody(true, getWindowTitle(title)); 1.78 + addTop(bodyTree); 1.79 + addNavLinks(true, bodyTree); 1.80 + return bodyTree; 1.81 } 1.82 1.83 /** 1.84 - * Generate a link to the tree for all the packages. 1.85 + * Add a link to the tree for all the packages. 1.86 + * 1.87 + * @param div the content tree to which the link will be added 1.88 */ 1.89 - protected void printLinkToMainTree() { 1.90 - dl(); 1.91 - dt(); 1.92 - strongText("doclet.Package_Hierarchies"); 1.93 - dtEnd(); 1.94 - dd(); 1.95 - navLinkMainTree(configuration.getText("doclet.All_Packages")); 1.96 - ddEnd(); 1.97 - dlEnd(); 1.98 - hr(); 1.99 + protected void addLinkToMainTree(Content div) { 1.100 + Content span = HtmlTree.SPAN(HtmlStyle.strong, 1.101 + getResource("doclet.Package_Hierarchies")); 1.102 + div.addContent(span); 1.103 + HtmlTree ul = new HtmlTree (HtmlTag.UL); 1.104 + ul.addStyle(HtmlStyle.horizontal); 1.105 + ul.addContent(getNavLinkMainTree(configuration.getText("doclet.All_Packages"))); 1.106 + div.addContent(ul); 1.107 } 1.108 1.109 /** 1.110 - * Print the navigation bar footer for the package tree file. 1.111 + * Get link for the previous package tree file. 1.112 + * 1.113 + * @return a content tree for the link 1.114 */ 1.115 - protected void printPackageTreeFooter() { 1.116 - hr(); 1.117 - navLinks(false); 1.118 - } 1.119 - 1.120 - /** 1.121 - * Link for the previous package tree file. 1.122 - */ 1.123 - protected void navLinkPrevious() { 1.124 + protected Content getNavLinkPrevious() { 1.125 if (prev == null) { 1.126 - navLinkPrevious(null); 1.127 + return getNavLinkPrevious(null); 1.128 } else { 1.129 String path = DirectoryManager.getRelativePath(packagedoc.name(), 1.130 - prev.name()); 1.131 - navLinkPrevious(path + "package-tree.html"); 1.132 + prev.name()); 1.133 + return getNavLinkPrevious(path + "package-tree.html"); 1.134 } 1.135 } 1.136 1.137 /** 1.138 - * Link for the next package tree file. 1.139 + * Get link for the next package tree file. 1.140 + * 1.141 + * @return a content tree for the link 1.142 */ 1.143 - protected void navLinkNext() { 1.144 + protected Content getNavLinkNext() { 1.145 if (next == null) { 1.146 - navLinkNext(null); 1.147 + return getNavLinkNext(null); 1.148 } else { 1.149 String path = DirectoryManager.getRelativePath(packagedoc.name(), 1.150 - next.name()); 1.151 - navLinkNext(path + "package-tree.html"); 1.152 + next.name()); 1.153 + return getNavLinkNext(path + "package-tree.html"); 1.154 } 1.155 } 1.156 1.157 /** 1.158 - * Link to the package summary page for the package of this tree. 1.159 + * Get link to the package summary page for the package of this tree. 1.160 + * 1.161 + * @return a content tree for the package link 1.162 */ 1.163 - protected void navLinkPackage() { 1.164 - navCellStart(); 1.165 - printHyperLink("package-summary.html", "", configuration.getText("doclet.Package"), 1.166 - true, "NavBarFont1"); 1.167 - navCellEnd(); 1.168 + protected Content getNavLinkPackage() { 1.169 + Content linkContent = getHyperLink("package-summary.html", "", 1.170 + packageLabel); 1.171 + Content li = HtmlTree.LI(linkContent); 1.172 + return li; 1.173 } 1.174 }