src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java
changeset 49551 0d4786e42471
parent 48759 ffa68af7da87
child 53343 07c09e65ca0f
equal deleted inserted replaced
49550:dce997f9a93e 49551:0d4786e42471
    36 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
    36 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
    39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    41 import jdk.javadoc.internal.doclets.formats.html.markup.Links;
    41 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
       
    42 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
    42 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
    43 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
    43 import jdk.javadoc.internal.doclets.toolkit.Content;
    44 import jdk.javadoc.internal.doclets.toolkit.Content;
    44 import jdk.javadoc.internal.doclets.toolkit.util.ClassUseMapper;
    45 import jdk.javadoc.internal.doclets.toolkit.util.ClassUseMapper;
    45 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
    46 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
    46 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
    47 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
    61 
    62 
    62     final PackageElement packageElement;
    63     final PackageElement packageElement;
    63     final SortedMap<String, Set<TypeElement>> usingPackageToUsedClasses = new TreeMap<>();
    64     final SortedMap<String, Set<TypeElement>> usingPackageToUsedClasses = new TreeMap<>();
    64     protected HtmlTree mainTree = HtmlTree.MAIN();
    65     protected HtmlTree mainTree = HtmlTree.MAIN();
    65     final String packageUseTableSummary;
    66     final String packageUseTableSummary;
       
    67     private final Navigation navBar;
    66 
    68 
    67     /**
    69     /**
    68      * Constructor.
    70      * Constructor.
    69      *
    71      *
    70      * @param configuration the configuration
    72      * @param configuration the configuration
    98             }
   100             }
    99         }
   101         }
   100 
   102 
   101         packageUseTableSummary = resources.getText("doclet.Use_Table_Summary",
   103         packageUseTableSummary = resources.getText("doclet.Use_Table_Summary",
   102                 resources.getText("doclet.packages"));
   104                 resources.getText("doclet.packages"));
       
   105         this.navBar = new Navigation(packageElement, configuration, fixedNavDiv, PageMode.USE, path);
   103     }
   106     }
   104 
   107 
   105     /**
   108     /**
   106      * Generate a class page.
   109      * Generate a class page.
   107      *
   110      *
   138             body.addContent(div);
   141             body.addContent(div);
   139         }
   142         }
   140         HtmlTree tree = (configuration.allowTag(HtmlTag.FOOTER))
   143         HtmlTree tree = (configuration.allowTag(HtmlTag.FOOTER))
   141                 ? HtmlTree.FOOTER()
   144                 ? HtmlTree.FOOTER()
   142                 : body;
   145                 : body;
   143         addNavLinks(false, tree);
   146         navBar.setUserFooter(getUserHeaderFooter(false));
       
   147         tree.addContent(navBar.getContent(false));
   144         addBottom(tree);
   148         addBottom(tree);
   145         if (configuration.allowTag(HtmlTag.FOOTER)) {
   149         if (configuration.allowTag(HtmlTag.FOOTER)) {
   146             body.addContent(tree);
   150             body.addContent(tree);
   147         }
   151         }
   148         printHtmlDocument(null, true, body);
   152         printHtmlDocument(null, true, body);
   247         HtmlTree bodyTree = getBody(true, getWindowTitle(title));
   251         HtmlTree bodyTree = getBody(true, getWindowTitle(title));
   248         HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
   252         HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
   249                 ? HtmlTree.HEADER()
   253                 ? HtmlTree.HEADER()
   250                 : bodyTree;
   254                 : bodyTree;
   251         addTop(htmlTree);
   255         addTop(htmlTree);
   252         addNavLinks(true, htmlTree);
   256         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
       
   257                 contents.moduleLabel);
       
   258         navBar.setNavLinkModule(linkContent);
       
   259         navBar.setUserHeader(getUserHeaderFooter(true));
       
   260         htmlTree.addContent(navBar.getContent(true));
   253         if (configuration.allowTag(HtmlTag.HEADER)) {
   261         if (configuration.allowTag(HtmlTag.HEADER)) {
   254             bodyTree.addContent(htmlTree);
   262             bodyTree.addContent(htmlTree);
   255         }
   263         }
   256         ContentBuilder headContent = new ContentBuilder();
   264         ContentBuilder headContent = new ContentBuilder();
   257         headContent.addContent(contents.getContent("doclet.ClassUse_Title", packageText));
   265         headContent.addContent(contents.getContent("doclet.ClassUse_Title", packageText));
   265         } else {
   273         } else {
   266             bodyTree.addContent(div);
   274             bodyTree.addContent(div);
   267         }
   275         }
   268         return bodyTree;
   276         return bodyTree;
   269     }
   277     }
   270 
       
   271     /**
       
   272      * Get the module link.
       
   273      *
       
   274      * @return a content tree for the module link
       
   275      */
       
   276     @Override
       
   277     protected Content getNavLinkModule() {
       
   278         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
       
   279                 contents.moduleLabel);
       
   280         Content li = HtmlTree.LI(linkContent);
       
   281         return li;
       
   282     }
       
   283 
       
   284     /**
       
   285      * Get this package link.
       
   286      *
       
   287      * @return a content tree for the package link
       
   288      */
       
   289     @Override
       
   290     protected Content getNavLinkPackage() {
       
   291         Content linkContent = links.createLink(DocPaths.PACKAGE_SUMMARY,
       
   292                 contents.packageLabel);
       
   293         Content li = HtmlTree.LI(linkContent);
       
   294         return li;
       
   295     }
       
   296 
       
   297     /**
       
   298      * Get the use link.
       
   299      *
       
   300      * @return a content tree for the use link
       
   301      */
       
   302     @Override
       
   303     protected Content getNavLinkClassUse() {
       
   304         Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.useLabel);
       
   305         return li;
       
   306     }
       
   307 
       
   308     /**
       
   309      * Get the tree link.
       
   310      *
       
   311      * @return a content tree for the tree link
       
   312      */
       
   313     @Override
       
   314     protected Content getNavLinkTree() {
       
   315         Content linkContent = links.createLink(DocPaths.PACKAGE_TREE,
       
   316                 contents.treeLabel);
       
   317         Content li = HtmlTree.LI(linkContent);
       
   318         return li;
       
   319     }
       
   320 }
   278 }