01: /* TreeDefault.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Sep 7, 2007 8:17:26 AM , Created by robbiecheng
10: }}IS_NOTE
11:
12: Copyright (C) 2007 Potix Corporation. All Rights Reserved.
13:
14: {{IS_RIGHT
15: This program is distributed under GPL Version 2.0 in the hope that
16: it will be useful, but WITHOUT ANY WARRANTY.
17: }}IS_RIGHT
18: */
19: package org.zkoss.zkmax.zul.render;
20:
21: import java.io.IOException;
22: import java.io.Writer;
23:
24: import org.zkoss.zk.ui.Component;
25: import org.zkoss.zk.ui.render.ComponentRenderer;
26: import org.zkoss.zk.ui.render.SmartWriter;
27: import org.zkoss.zul.Tree;
28:
29: /**
30: * {@link Tree}'s default mold.
31: *
32: * @author robbiecheng
33: *
34: * @since 3.0.0
35: */
36: public class TreeDefault implements ComponentRenderer {
37: public void render(Component comp, Writer out) throws IOException {
38: final SmartWriter wh = new SmartWriter(out);
39: final Tree self = (Tree) comp;
40:
41: wh.write("<div id=\"").write(self.getUuid()).write(
42: "\" z.type=\"zul.tree.Tree\"").write(
43: self.getOuterAttrs()).write(self.getInnerAttrs())
44: .write(">");
45:
46: if (self.getTreecols() != null) {
47: wh
48: .write("<div id=\"")
49: .write(self.getUuid())
50: .write("!head\" class=\"tree-head\">")
51: .write("<table width=\"")
52: .write(self.getInnerWidth())
53: .write(
54: "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed\">")
55: .writeComponents(self.getHeads()).write(
56: "</table></div>");
57: }
58:
59: wh
60: .write("<div id=\"")
61: .write(self.getUuid())
62: .write("!body\" class=\"tree-body\">")
63: .write("<table width=\"")
64: .write(self.getInnerWidth())
65: .write(
66: "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">")
67: .writeln(self.getTreechildren())
68: .write("</table></div>");
69:
70: if (self.getTreefoot() != null) {
71: wh
72: .write("<div id=\"")
73: .write(self.getUuid())
74: .write("!foot\" class=\"tree-foot\">")
75: .write("<table width=\"")
76: .write(self.getInnerWidth())
77: .write(
78: "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed\">")
79: .writeln(self.getTreefoot())
80: .write("</table></div>");
81: }
82: wh.write("</div>");
83: }
84: }
|