src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java

changeset 766
90af8d87741f
parent 554
9d9f26857129
child 798
4868a36f6fd8
     1.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java	Tue Nov 30 09:38:48 2010 -0800
     1.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java	Wed Dec 01 11:02:38 2010 -0800
     1.3 @@ -25,8 +25,10 @@
     1.4  
     1.5  package com.sun.tools.doclets.formats.html;
     1.6  
     1.7 +import java.io.*;
     1.8  import com.sun.tools.doclets.internal.toolkit.util.*;
     1.9 -import java.io.*;
    1.10 +import com.sun.tools.doclets.internal.toolkit.*;
    1.11 +import com.sun.tools.doclets.formats.html.markup.*;
    1.12  
    1.13  /**
    1.14   * Generate the Help File for the generated API documentation. The help file
    1.15 @@ -72,159 +74,242 @@
    1.16       * Generate the help file contents.
    1.17       */
    1.18      protected void generateHelpFile() {
    1.19 -        printHtmlHeader(configuration.getText("doclet.Window_Help_title"),
    1.20 -            null, true);
    1.21 -        printTop();
    1.22 -        navLinks(true);  hr();
    1.23 -
    1.24 -        printHelpFileContents();
    1.25 -
    1.26 -        navLinks(false);
    1.27 -        printBottom();
    1.28 -        printBodyHtmlEnd();
    1.29 +        String title = configuration.getText("doclet.Window_Help_title");
    1.30 +        Content body = getBody(true, getWindowTitle(title));
    1.31 +        addTop(body);
    1.32 +        addNavLinks(true, body);
    1.33 +        addHelpFileContents(body);
    1.34 +        addNavLinks(false, body);
    1.35 +        addBottom(body);
    1.36 +        printHtmlDocument(null, true, body);
    1.37      }
    1.38  
    1.39      /**
    1.40 -     * Print the help file contents from the resource file. While generating the
    1.41 +     * Add the help file contents from the resource file to the content tree. While adding the
    1.42       * help file contents it also keeps track of user options. If "-notree"
    1.43 -     * is used, then the "overview-tree.html" will not get generated and hence
    1.44 -     * help information also will not get generated.
    1.45 +     * is used, then the "overview-tree.html" will not get added and hence
    1.46 +     * help information also will not get added.
    1.47 +     *
    1.48 +     * @param contentTree the content tree to which the help file contents will be added
    1.49       */
    1.50 -    protected void printHelpFileContents() {
    1.51 -        center(); h1(); printText("doclet.Help_line_1"); h1End(); centerEnd();
    1.52 -        printText("doclet.Help_line_2");
    1.53 +    protected void addHelpFileContents(Content contentTree) {
    1.54 +        Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, false, HtmlStyle.title,
    1.55 +                getResource("doclet.Help_line_1"));
    1.56 +        Content div = HtmlTree.DIV(HtmlStyle.header, heading);
    1.57 +        Content line2 = HtmlTree.P(HtmlStyle.subTitle,
    1.58 +                getResource("doclet.Help_line_2"));
    1.59 +        div.addContent(line2);
    1.60 +        contentTree.addContent(div);
    1.61 +        HtmlTree ul = new HtmlTree(HtmlTag.UL);
    1.62 +        ul.addStyle(HtmlStyle.blockList);
    1.63          if (configuration.createoverview) {
    1.64 -            h3(); printText("doclet.Overview"); h3End();
    1.65 -            blockquote(); p();
    1.66 -            printText("doclet.Help_line_3",
    1.67 -                getHyperLink("overview-summary.html",
    1.68 -                configuration.getText("doclet.Overview")));
    1.69 -            blockquoteEnd();
    1.70 +            Content overviewHeading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
    1.71 +                getResource("doclet.Overview"));
    1.72 +            Content liOverview = HtmlTree.LI(HtmlStyle.blockList, overviewHeading);
    1.73 +            Content line3 = getResource("doclet.Help_line_3",
    1.74 +                    getHyperLinkString("overview-summary.html",
    1.75 +                    configuration.getText("doclet.Overview")));
    1.76 +            Content overviewPara = HtmlTree.P(line3);
    1.77 +            liOverview.addContent(overviewPara);
    1.78 +            ul.addContent(liOverview);
    1.79          }
    1.80 -        h3(); printText("doclet.Package"); h3End();
    1.81 -        blockquote(); p(); printText("doclet.Help_line_4");
    1.82 -        ul();
    1.83 -        li(); printText("doclet.Interfaces_Italic");
    1.84 -        li(); printText("doclet.Classes");
    1.85 -        li(); printText("doclet.Enums");
    1.86 -        li(); printText("doclet.Exceptions");
    1.87 -        li(); printText("doclet.Errors");
    1.88 -        li(); printText("doclet.AnnotationTypes");
    1.89 -        ulEnd();
    1.90 -        blockquoteEnd();
    1.91 -        h3(); printText("doclet.Help_line_5"); h3End();
    1.92 -        blockquote(); p(); printText("doclet.Help_line_6");
    1.93 -        ul();
    1.94 -        li(); printText("doclet.Help_line_7");
    1.95 -        li(); printText("doclet.Help_line_8");
    1.96 -        li(); printText("doclet.Help_line_9");
    1.97 -        li(); printText("doclet.Help_line_10");
    1.98 -        li(); printText("doclet.Help_line_11");
    1.99 -        li(); printText("doclet.Help_line_12");
   1.100 -        p();
   1.101 -        li(); printText("doclet.Nested_Class_Summary");
   1.102 -        li(); printText("doclet.Field_Summary");
   1.103 -        li(); printText("doclet.Constructor_Summary");
   1.104 -        li(); printText("doclet.Method_Summary");
   1.105 -        p();
   1.106 -        li(); printText("doclet.Field_Detail");
   1.107 -        li(); printText("doclet.Constructor_Detail");
   1.108 -        li(); printText("doclet.Method_Detail");
   1.109 -        ulEnd();
   1.110 -        printText("doclet.Help_line_13");
   1.111 -        blockquoteEnd();
   1.112 -
   1.113 +        Content packageHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.114 +                getResource("doclet.Package"));
   1.115 +        Content liPackage = HtmlTree.LI(HtmlStyle.blockList, packageHead);
   1.116 +        Content line4 = getResource("doclet.Help_line_4");
   1.117 +        Content packagePara = HtmlTree.P(line4);
   1.118 +        liPackage.addContent(packagePara);
   1.119 +        HtmlTree ulPackage = new HtmlTree(HtmlTag.UL);
   1.120 +        ulPackage.addContent(HtmlTree.LI(
   1.121 +                getResource("doclet.Interfaces_Italic")));
   1.122 +        ulPackage.addContent(HtmlTree.LI(
   1.123 +                getResource("doclet.Classes")));
   1.124 +        ulPackage.addContent(HtmlTree.LI(
   1.125 +                getResource("doclet.Enums")));
   1.126 +        ulPackage.addContent(HtmlTree.LI(
   1.127 +                getResource("doclet.Exceptions")));
   1.128 +        ulPackage.addContent(HtmlTree.LI(
   1.129 +                getResource("doclet.Errors")));
   1.130 +        ulPackage.addContent(HtmlTree.LI(
   1.131 +                getResource("doclet.AnnotationTypes")));
   1.132 +        liPackage.addContent(ulPackage);
   1.133 +        ul.addContent(liPackage);
   1.134 +        Content classHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.135 +                getResource("doclet.Help_line_5"));
   1.136 +        Content liClass = HtmlTree.LI(HtmlStyle.blockList, classHead);
   1.137 +        Content line6 = getResource("doclet.Help_line_6");
   1.138 +        Content classPara = HtmlTree.P(line6);
   1.139 +        liClass.addContent(classPara);
   1.140 +        HtmlTree ul1 = new HtmlTree(HtmlTag.UL);
   1.141 +        ul1.addContent(HtmlTree.LI(
   1.142 +                getResource("doclet.Help_line_7")));
   1.143 +        ul1.addContent(HtmlTree.LI(
   1.144 +                getResource("doclet.Help_line_8")));
   1.145 +        ul1.addContent(HtmlTree.LI(
   1.146 +                getResource("doclet.Help_line_9")));
   1.147 +        ul1.addContent(HtmlTree.LI(
   1.148 +                getResource("doclet.Help_line_10")));
   1.149 +        ul1.addContent(HtmlTree.LI(
   1.150 +                getResource("doclet.Help_line_11")));
   1.151 +        ul1.addContent(HtmlTree.LI(
   1.152 +                getResource("doclet.Help_line_12")));
   1.153 +        liClass.addContent(ul1);
   1.154 +        HtmlTree ul2 = new HtmlTree(HtmlTag.UL);
   1.155 +        ul2.addContent(HtmlTree.LI(
   1.156 +                getResource("doclet.Nested_Class_Summary")));
   1.157 +        ul2.addContent(HtmlTree.LI(
   1.158 +                getResource("doclet.Field_Summary")));
   1.159 +        ul2.addContent(HtmlTree.LI(
   1.160 +                getResource("doclet.Constructor_Summary")));
   1.161 +        ul2.addContent(HtmlTree.LI(
   1.162 +                getResource("doclet.Method_Summary")));
   1.163 +        liClass.addContent(ul2);
   1.164 +        HtmlTree ul3 = new HtmlTree(HtmlTag.UL);
   1.165 +        ul3.addContent(HtmlTree.LI(
   1.166 +                getResource("doclet.Field_Detail")));
   1.167 +        ul3.addContent(HtmlTree.LI(
   1.168 +                getResource("doclet.Constructor_Detail")));
   1.169 +        ul3.addContent(HtmlTree.LI(
   1.170 +                getResource("doclet.Method_Detail")));
   1.171 +        liClass.addContent(ul3);
   1.172 +        Content line13 = getResource("doclet.Help_line_13");
   1.173 +        Content para = HtmlTree.P(line13);
   1.174 +        liClass.addContent(para);
   1.175 +        ul.addContent(liClass);
   1.176          //Annotation Types
   1.177 -        blockquoteEnd();
   1.178 -        h3(); printText("doclet.AnnotationType"); h3End();
   1.179 -        blockquote(); p(); printText("doclet.Help_annotation_type_line_1");
   1.180 -        ul();
   1.181 -        li(); printText("doclet.Help_annotation_type_line_2");
   1.182 -        li(); printText("doclet.Help_annotation_type_line_3");
   1.183 -        li(); printText("doclet.Annotation_Type_Required_Member_Summary");
   1.184 -        li(); printText("doclet.Annotation_Type_Optional_Member_Summary");
   1.185 -        li(); printText("doclet.Annotation_Type_Member_Detail");
   1.186 -        ulEnd();
   1.187 -        blockquoteEnd();
   1.188 -
   1.189 +        Content aHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.190 +                getResource("doclet.AnnotationType"));
   1.191 +        Content liAnnotation = HtmlTree.LI(HtmlStyle.blockList, aHead);
   1.192 +        Content aline1 = getResource("doclet.Help_annotation_type_line_1");
   1.193 +        Content aPara = HtmlTree.P(aline1);
   1.194 +        liAnnotation.addContent(aPara);
   1.195 +        HtmlTree aul = new HtmlTree(HtmlTag.UL);
   1.196 +        aul.addContent(HtmlTree.LI(
   1.197 +                getResource("doclet.Help_annotation_type_line_2")));
   1.198 +        aul.addContent(HtmlTree.LI(
   1.199 +                getResource("doclet.Help_annotation_type_line_3")));
   1.200 +        aul.addContent(HtmlTree.LI(
   1.201 +                getResource("doclet.Annotation_Type_Required_Member_Summary")));
   1.202 +        aul.addContent(HtmlTree.LI(
   1.203 +                getResource("doclet.Annotation_Type_Optional_Member_Summary")));
   1.204 +        aul.addContent(HtmlTree.LI(
   1.205 +                getResource("doclet.Annotation_Type_Member_Detail")));
   1.206 +        liAnnotation.addContent(aul);
   1.207 +        ul.addContent(liAnnotation);
   1.208          //Enums
   1.209 -        blockquoteEnd();
   1.210 -        h3(); printText("doclet.Enum"); h3End();
   1.211 -        blockquote(); p(); printText("doclet.Help_enum_line_1");
   1.212 -        ul();
   1.213 -        li(); printText("doclet.Help_enum_line_2");
   1.214 -        li(); printText("doclet.Help_enum_line_3");
   1.215 -        li(); printText("doclet.Enum_Constant_Summary");
   1.216 -        li(); printText("doclet.Enum_Constant_Detail");
   1.217 -        ulEnd();
   1.218 -        blockquoteEnd();
   1.219 -
   1.220 +        Content enumHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.221 +                getResource("doclet.Enum"));
   1.222 +        Content liEnum = HtmlTree.LI(HtmlStyle.blockList, enumHead);
   1.223 +        Content eline1 = getResource("doclet.Help_enum_line_1");
   1.224 +        Content enumPara = HtmlTree.P(eline1);
   1.225 +        liEnum.addContent(enumPara);
   1.226 +        HtmlTree eul = new HtmlTree(HtmlTag.UL);
   1.227 +        eul.addContent(HtmlTree.LI(
   1.228 +                getResource("doclet.Help_enum_line_2")));
   1.229 +        eul.addContent(HtmlTree.LI(
   1.230 +                getResource("doclet.Help_enum_line_3")));
   1.231 +        eul.addContent(HtmlTree.LI(
   1.232 +                getResource("doclet.Enum_Constant_Summary")));
   1.233 +        eul.addContent(HtmlTree.LI(
   1.234 +                getResource("doclet.Enum_Constant_Detail")));
   1.235 +        liEnum.addContent(eul);
   1.236 +        ul.addContent(liEnum);
   1.237          if (configuration.classuse) {
   1.238 -            h3(); printText("doclet.Help_line_14"); h3End();
   1.239 -            blockquote();
   1.240 -            printText("doclet.Help_line_15");
   1.241 -            blockquoteEnd();
   1.242 +            Content useHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.243 +                    getResource("doclet.Help_line_14"));
   1.244 +            Content liUse = HtmlTree.LI(HtmlStyle.blockList, useHead);
   1.245 +            Content line15 = getResource("doclet.Help_line_15");
   1.246 +            Content usePara = HtmlTree.P(line15);
   1.247 +            liUse.addContent(usePara);
   1.248 +            ul.addContent(liUse);
   1.249          }
   1.250          if (configuration.createtree) {
   1.251 -            h3(); printText("doclet.Help_line_16"); h3End();
   1.252 -            blockquote();
   1.253 -            printText("doclet.Help_line_17_with_tree_link",
   1.254 -                 getHyperLink("overview-tree.html",
   1.255 -                 configuration.getText("doclet.Class_Hierarchy")));
   1.256 -            ul();
   1.257 -            li(); printText("doclet.Help_line_18");
   1.258 -            li(); printText("doclet.Help_line_19");
   1.259 -            ulEnd();
   1.260 -            blockquoteEnd();
   1.261 +            Content treeHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.262 +                    getResource("doclet.Help_line_16"));
   1.263 +            Content liTree = HtmlTree.LI(HtmlStyle.blockList, treeHead);
   1.264 +            Content line17 = getResource("doclet.Help_line_17_with_tree_link",
   1.265 +                    getHyperLinkString("overview-tree.html",
   1.266 +                    configuration.getText("doclet.Class_Hierarchy")));
   1.267 +            Content treePara = HtmlTree.P(line17);
   1.268 +            liTree.addContent(treePara);
   1.269 +            HtmlTree tul = new HtmlTree(HtmlTag.UL);
   1.270 +            tul.addContent(HtmlTree.LI(
   1.271 +                    getResource("doclet.Help_line_18")));
   1.272 +            tul.addContent(HtmlTree.LI(
   1.273 +                    getResource("doclet.Help_line_19")));
   1.274 +            liTree.addContent(tul);
   1.275 +            ul.addContent(liTree);
   1.276          }
   1.277          if (!(configuration.nodeprecatedlist ||
   1.278                    configuration.nodeprecated)) {
   1.279 -            h3(); printText("doclet.Deprecated_API"); h3End();
   1.280 -            blockquote();
   1.281 -            printText("doclet.Help_line_20_with_deprecated_api_link",
   1.282 -                getHyperLink("deprecated-list.html",
   1.283 -                configuration.getText("doclet.Deprecated_API")));
   1.284 -            blockquoteEnd();
   1.285 +            Content dHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.286 +                    getResource("doclet.Deprecated_API"));
   1.287 +            Content liDeprecated = HtmlTree.LI(HtmlStyle.blockList, dHead);
   1.288 +            Content line20 = getResource("doclet.Help_line_20_with_deprecated_api_link",
   1.289 +                    getHyperLinkString("deprecated-list.html",
   1.290 +                    configuration.getText("doclet.Deprecated_API")));
   1.291 +            Content dPara = HtmlTree.P(line20);
   1.292 +            liDeprecated.addContent(dPara);
   1.293 +            ul.addContent(liDeprecated);
   1.294          }
   1.295          if (configuration.createindex) {
   1.296              String indexlink;
   1.297              if (configuration.splitindex) {
   1.298 -                indexlink = getHyperLink("index-files/index-1.html",
   1.299 -                    configuration.getText("doclet.Index"));
   1.300 +                indexlink = getHyperLinkString("index-files/index-1.html",
   1.301 +                        configuration.getText("doclet.Index"));
   1.302              } else {
   1.303 -                indexlink = getHyperLink("index-all.html",
   1.304 -                    configuration.getText("doclet.Index"));
   1.305 +                indexlink = getHyperLinkString("index-all.html",
   1.306 +                        configuration.getText("doclet.Index"));
   1.307              }
   1.308 -            h3(); printText("doclet.Help_line_21"); h3End();
   1.309 -            blockquote();
   1.310 -            printText("doclet.Help_line_22", indexlink);
   1.311 -            blockquoteEnd();
   1.312 +            Content indexHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.313 +                    getResource("doclet.Help_line_21"));
   1.314 +            Content liIndex = HtmlTree.LI(HtmlStyle.blockList, indexHead);
   1.315 +            Content line22 = getResource("doclet.Help_line_22", indexlink);
   1.316 +            Content indexPara = HtmlTree.P(line22);
   1.317 +            liIndex.addContent(indexPara);
   1.318 +            ul.addContent(liIndex);
   1.319          }
   1.320 -        h3(); printText("doclet.Help_line_23"); h3End();
   1.321 -        printText("doclet.Help_line_24");
   1.322 -        h3(); printText("doclet.Help_line_25"); h3End();
   1.323 -        printText("doclet.Help_line_26"); p();
   1.324 -
   1.325 -        h3(); printText("doclet.Serialized_Form"); h3End();
   1.326 -        printText("doclet.Help_line_27"); p();
   1.327 -
   1.328 -        h3(); printText("doclet.Constants_Summary"); h3End();
   1.329 -        printText("doclet.Help_line_28"); p();
   1.330 -
   1.331 -        font("-1"); em();
   1.332 -        printText("doclet.Help_line_29");
   1.333 -        emEnd(); fontEnd(); br();
   1.334 -        hr();
   1.335 +        Content prevHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.336 +                getResource("doclet.Help_line_23"));
   1.337 +        Content liPrev = HtmlTree.LI(HtmlStyle.blockList, prevHead);
   1.338 +        Content line24 = getResource("doclet.Help_line_24");
   1.339 +        Content prevPara = HtmlTree.P(line24);
   1.340 +        liPrev.addContent(prevPara);
   1.341 +        ul.addContent(liPrev);
   1.342 +        Content frameHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.343 +                getResource("doclet.Help_line_25"));
   1.344 +        Content liFrame = HtmlTree.LI(HtmlStyle.blockList, frameHead);
   1.345 +        Content line26 = getResource("doclet.Help_line_26");
   1.346 +        Content framePara = HtmlTree.P(line26);
   1.347 +        liFrame.addContent(framePara);
   1.348 +        ul.addContent(liFrame);
   1.349 +        Content sHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.350 +                getResource("doclet.Serialized_Form"));
   1.351 +        Content liSerial = HtmlTree.LI(HtmlStyle.blockList, sHead);
   1.352 +        Content line27 = getResource("doclet.Help_line_27");
   1.353 +        Content serialPara = HtmlTree.P(line27);
   1.354 +        liSerial.addContent(serialPara);
   1.355 +        ul.addContent(liSerial);
   1.356 +        Content constHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
   1.357 +                getResource("doclet.Constants_Summary"));
   1.358 +        Content liConst = HtmlTree.LI(HtmlStyle.blockList, constHead);
   1.359 +        Content line28 = getResource("doclet.Help_line_28");
   1.360 +        Content constPara = HtmlTree.P(line28);
   1.361 +        liConst.addContent(constPara);
   1.362 +        ul.addContent(liConst);
   1.363 +        Content divContent = HtmlTree.DIV(HtmlStyle.contentContainer, ul);
   1.364 +        Content line29 = HtmlTree.EM(getResource("doclet.Help_line_29"));
   1.365 +        divContent.addContent(line29);
   1.366 +        contentTree.addContent(divContent);
   1.367      }
   1.368  
   1.369      /**
   1.370 -     * Highlight the word "Help" in the navigation bar as this is the help file.
   1.371 +     * Get the help label.
   1.372 +     *
   1.373 +     * @return a content tree for the help label
   1.374       */
   1.375 -    protected void navLinkHelp() {
   1.376 -        navCellRevStart();
   1.377 -        fontStyle("NavBarFont1Rev");
   1.378 -        strongText("doclet.Help");
   1.379 -        fontEnd();
   1.380 -        navCellEnd();
   1.381 +    protected Content getNavLinkHelp() {
   1.382 +        Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, helpLabel);
   1.383 +        return li;
   1.384      }
   1.385  }

mercurial