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

changeset 1417
522a1ee72340
parent 1383
b980e8e6aabf
child 1568
5f0731e4e5e6
equal deleted inserted replaced
1416:c0f0c41cafa0 1417:522a1ee72340
24 */ 24 */
25 25
26 package com.sun.tools.doclets.formats.html.markup; 26 package com.sun.tools.doclets.formats.html.markup;
27 27
28 import java.io.*; 28 import java.io.*;
29 import java.util.*;
29 30
30 import com.sun.tools.doclets.internal.toolkit.*; 31 import com.sun.tools.doclets.internal.toolkit.*;
31 import com.sun.tools.doclets.internal.toolkit.util.*; 32 import com.sun.tools.doclets.internal.toolkit.util.*;
32 33
33 /** 34 /**
141 public final Content descfrmClassLabel; 142 public final Content descfrmClassLabel;
142 143
143 public final Content descfrmInterfaceLabel; 144 public final Content descfrmInterfaceLabel;
144 145
145 private final Writer writer; 146 private final Writer writer;
147
148 private Content script;
146 149
147 /** 150 /**
148 * Constructor. 151 * Constructor.
149 * 152 *
150 * @param path The directory path to be created for this file 153 * @param path The directory path to be created for this file
299 // Set window title string which is later printed 302 // Set window title string which is later printed
300 this.winTitle = title; 303 this.winTitle = title;
301 // Don't print windowtitle script for overview-frame, allclasses-frame 304 // Don't print windowtitle script for overview-frame, allclasses-frame
302 // and package-frame 305 // and package-frame
303 if (includeScript) { 306 if (includeScript) {
304 body.addContent(getWinTitleScript()); 307 this.script = getWinTitleScript();
308 body.addContent(script);
305 Content noScript = HtmlTree.NOSCRIPT( 309 Content noScript = HtmlTree.NOSCRIPT(
306 HtmlTree.DIV(getResource("doclet.No_Script_Message"))); 310 HtmlTree.DIV(getResource("doclet.No_Script_Message")));
307 body.addContent(noScript); 311 body.addContent(noScript);
308 } 312 }
309 return body; 313 return body;
310 } 314 }
311 315
312 /** 316 /**
317 * Generated javascript variables for the document.
318 *
319 * @param typeMap map comprising of method and type relationship
320 * @param methodTypes set comprising of all methods types for this class
321 */
322 public void generateMethodTypesScript(Map<String,Integer> typeMap,
323 Set<MethodTypes> methodTypes) {
324 String sep = "";
325 StringBuilder vars = new StringBuilder("var methods = {");
326 for (Map.Entry<String,Integer> entry : typeMap.entrySet()) {
327 vars.append(sep);
328 sep = ",";
329 vars.append("\"");
330 vars.append(entry.getKey());
331 vars.append("\":");
332 vars.append(entry.getValue());
333 }
334 vars.append("};").append(DocletConstants.NL);
335 sep = "";
336 vars.append("var tabs = {");
337 for (MethodTypes entry : methodTypes) {
338 vars.append(sep);
339 sep = ",";
340 vars.append(entry.value()).append(":");
341 vars.append("[").append("\"").append(entry.tabId());
342 vars.append("\"").append(sep).append("\"").append(entry.text()).append("\"]");
343 }
344 vars.append("};").append(DocletConstants.NL);
345 addStyles(HtmlStyle.altColor, vars);
346 addStyles(HtmlStyle.rowColor, vars);
347 addStyles(HtmlStyle.tableTab, vars);
348 addStyles(HtmlStyle.activeTableTab, vars);
349 script.addContent(new RawHtml(vars.toString()));
350 }
351
352 /**
353 * Adds javascript style variables to the document.
354 *
355 * @param style style to be added as a javascript variable
356 * @param vars variable string to which the style variable will be added
357 */
358 public void addStyles(HtmlStyle style, StringBuilder vars) {
359 vars.append("var ").append(style).append(" = \"").append(style)
360 .append("\";").append(DocletConstants.NL);
361 }
362
363 /**
313 * Returns an HtmlTree for the TITLE tag. 364 * Returns an HtmlTree for the TITLE tag.
314 * 365 *
315 * @return an HtmlTree for the TITLE tag 366 * @return an HtmlTree for the TITLE tag
316 */ 367 */
317 public HtmlTree getTitle() { 368 public HtmlTree getTitle() {

mercurial