01: /* GridDefault.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Sep 7, 2007 11:42:36 AM , Created by jumperchen
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: import org.zkoss.zk.ui.Component;
24: import org.zkoss.zk.ui.render.ComponentRenderer;
25: import org.zkoss.zk.ui.render.SmartWriter;
26: import org.zkoss.zul.Grid;
27:
28: /*
29: * {@link Grid}'s default mold.
30: *
31: * @author jumperchen
32: *
33: * @since 3.0.0
34: */
35: public class GridDefault implements ComponentRenderer {
36:
37: public void render(Component comp, Writer out) throws IOException {
38: final SmartWriter wh = new SmartWriter(out);
39: final Grid self = (Grid) comp;
40: final String uuid = self.getUuid();
41: wh.write("<div id=\"").write(uuid).write(
42: "\" z.type=\"zul.grid.Grid\"");
43: wh.write(self.getOuterAttrs()).write(self.getInnerAttrs())
44: .write(">");
45: if (self.getColumns() != null) {
46: wh
47: .write("<div id=\"")
48: .write(uuid)
49: .write("!head\" class=\"grid-head\">")
50: .write("<table width=\"")
51: .write(self.getInnerWidth())
52: .write(
53: "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed\">")
54: .writeComponents(self.getHeads()).write(
55: "</table></div>");
56: }
57:
58: wh.write("<div id=\"").write(uuid).write(
59: "!body\" class=\"grid-body\"");
60: if (self.getHeight() != null)
61: wh.write("style=\"height:").write(self.getHeight()).write(
62: "\"");
63: wh
64: .write("><table width=\"")
65: .write(self.getInnerWidth())
66: .write(
67: "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"grid-btable\">")
68: .writeln(self.getRows()).write("</table></div>");
69:
70: if (self.getFoot() != null) {
71: wh
72: .write("<div id=\"")
73: .write(uuid)
74: .write("!foot\" class=\"grid-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.getFoot()).write("</table></div>");
80: }
81:
82: wh.write("</div>");
83: }
84:
85: }
|