27 |
27 |
28 import java.util.SortedSet; |
28 import java.util.SortedSet; |
29 |
29 |
30 import javax.lang.model.element.PackageElement; |
30 import javax.lang.model.element.PackageElement; |
31 |
31 |
|
32 import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents; |
|
33 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder; |
32 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
34 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
33 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
35 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
34 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
35 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
37 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
36 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode; |
38 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode; |
79 */ |
83 */ |
80 public TreeWriter(HtmlConfiguration configuration, DocPath filename, ClassTree classtree) { |
84 public TreeWriter(HtmlConfiguration configuration, DocPath filename, ClassTree classtree) { |
81 super(configuration, filename, classtree); |
85 super(configuration, filename, classtree); |
82 packages = configuration.packages; |
86 packages = configuration.packages; |
83 classesOnly = packages.isEmpty(); |
87 classesOnly = packages.isEmpty(); |
84 this.navBar = new Navigation(null, configuration, fixedNavDiv, PageMode.TREE, path); |
88 this.navBar = new Navigation(null, configuration, PageMode.TREE, path); |
|
89 this.bodyContents = new BodyContents(); |
85 } |
90 } |
86 |
91 |
87 /** |
92 /** |
88 * Create a TreeWriter object and use it to generate the |
93 * Create a TreeWriter object and use it to generate the |
89 * "overview-tree.html" file. |
94 * "overview-tree.html" file. |
109 Content headContent = contents.hierarchyForAllPackages; |
114 Content headContent = contents.hierarchyForAllPackages; |
110 Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, false, |
115 Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, false, |
111 HtmlStyle.title, headContent); |
116 HtmlStyle.title, headContent); |
112 Content div = HtmlTree.DIV(HtmlStyle.header, heading); |
117 Content div = HtmlTree.DIV(HtmlStyle.header, heading); |
113 addPackageTreeLinks(div); |
118 addPackageTreeLinks(div); |
114 HtmlTree htmlTree = HtmlTree.MAIN(); |
119 Content mainContent = new ContentBuilder(); |
115 htmlTree.add(div); |
120 mainContent.add(div); |
116 HtmlTree divTree = new HtmlTree(HtmlTag.DIV); |
121 HtmlTree divTree = new HtmlTree(HtmlTag.DIV); |
117 divTree.setStyle(HtmlStyle.contentContainer); |
122 divTree.setStyle(HtmlStyle.contentContainer); |
118 addTree(classtree.baseClasses(), "doclet.Class_Hierarchy", divTree); |
123 addTree(classtree.baseClasses(), "doclet.Class_Hierarchy", divTree); |
119 addTree(classtree.baseInterfaces(), "doclet.Interface_Hierarchy", divTree); |
124 addTree(classtree.baseInterfaces(), "doclet.Interface_Hierarchy", divTree); |
120 addTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy", divTree); |
125 addTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy", divTree); |
121 addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", divTree, true); |
126 addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", divTree, true); |
122 htmlTree.add(divTree); |
127 mainContent.add(divTree); |
123 body.add(htmlTree); |
128 HtmlTree footerTree = HtmlTree.FOOTER(); |
124 htmlTree = HtmlTree.FOOTER(); |
|
125 navBar.setUserFooter(getUserHeaderFooter(false)); |
129 navBar.setUserFooter(getUserHeaderFooter(false)); |
126 htmlTree.add(navBar.getContent(false)); |
130 footerTree.add(navBar.getContent(false)); |
127 addBottom(htmlTree); |
131 addBottom(footerTree); |
128 body.add(htmlTree); |
132 body.add(bodyContents |
|
133 .addMainContent(mainContent) |
|
134 .setFooter(footerTree) |
|
135 .toContent()); |
129 printHtmlDocument(null, "class tree", body); |
136 printHtmlDocument(null, "class tree", body); |
130 } |
137 } |
131 |
138 |
132 /** |
139 /** |
133 * Add the links to all the package tree files. |
140 * Add the links to all the package tree files. |
174 * @return a content tree for the tree header |
181 * @return a content tree for the tree header |
175 */ |
182 */ |
176 protected HtmlTree getTreeHeader() { |
183 protected HtmlTree getTreeHeader() { |
177 String title = resources.getText("doclet.Window_Class_Hierarchy"); |
184 String title = resources.getText("doclet.Window_Class_Hierarchy"); |
178 HtmlTree bodyTree = getBody(getWindowTitle(title)); |
185 HtmlTree bodyTree = getBody(getWindowTitle(title)); |
179 HtmlTree htmlTree = HtmlTree.HEADER(); |
186 Content headerContent = new ContentBuilder(); |
180 addTop(htmlTree); |
187 addTop(headerContent); |
181 navBar.setUserHeader(getUserHeaderFooter(true)); |
188 navBar.setUserHeader(getUserHeaderFooter(true)); |
182 htmlTree.add(navBar.getContent(true)); |
189 headerContent.add(navBar.getContent(true)); |
183 bodyTree.add(htmlTree); |
190 bodyContents.setHeader(headerContent); |
184 return bodyTree; |
191 return bodyTree; |
185 } |
192 } |
186 |
193 |
187 private boolean isUnnamedPackage() { |
194 private boolean isUnnamedPackage() { |
188 return packages.size() == 1 && packages.first().isUnnamed(); |
195 return packages.size() == 1 && packages.first().isUnnamed(); |