01: package org.cougaar.core.qos.frame.visualizer.util;
02:
03: import org.cougaar.core.qos.frame.visualizer.tree.FrameNode;
04:
05: import javax.swing.tree.TreeNode;
06: import java.io.PrintWriter;
07: import java.util.Enumeration;
08:
09: /**
10: * Created by IntelliJ IDEA.
11: * User: mwalczak
12: * Date: May 17, 2005
13: * Time: 11:33:56 AM
14: * To change this template use File | Settings | File Templates.
15: */
16: public class HTMLTreeWriter extends FormatWriter {
17: public HTMLTreeWriter() {
18: super ();
19: }
20:
21: protected void writeHtml(PrintWriter w, TreeNode node,
22: int indentation, int offset) {
23: //write(w, indentation, "<li>");
24: if (node instanceof FrameNode) {
25: if (((FrameNode) node).isRelationNode())
26: write(w, indentation, "<i>" + node + "</i>");
27: else
28: write(w, indentation, "<b color=\"0000FF\">" + node
29: + "</b>");
30: } else
31: write(w, indentation, node.toString());
32: if (node.getChildCount() > 0) {
33: TreeNode child;
34: for (Enumeration ii = node.children(); ii.hasMoreElements();) {
35: child = (TreeNode) ii.nextElement();
36: writeHtml(w, child, indentation + offset, offset);
37: }
38: }
39: //write(w, indentation, "</li>");
40: }
41:
42: public static void write(PrintWriter w, TreeNode root,
43: int indentation, int offset) {
44: HTMLTreeWriter tw = new HTMLTreeWriter();
45: tw.write(w, 0, "<html><body><pre>"); //bgcolor="#FFFFFF"
46: tw.writeHtml(w, root, indentation + offset, offset);
47: tw.write(w, 0, "</pre></body></html>");
48: }
49:
50: public static void write(TreeNode root, int indentation, int offset) {
51: PrintWriter w = new PrintWriter(System.out, true);
52: write(w, root, indentation, offset);
53: }
54: }
|