01: /* CaptionDefault.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Wed Sep 5 13:18:53 2007, Created by Dennis.Chen
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.Writer;
22: import java.io.IOException;
23:
24: import org.zkoss.zk.ui.Component;
25: import org.zkoss.zk.ui.Execution;
26: import org.zkoss.zk.ui.Executions;
27: import org.zkoss.zk.ui.render.ComponentRenderer;
28: import org.zkoss.zk.ui.render.SmartWriter;
29: import org.zkoss.zk.ui.render.Out;
30:
31: import org.zkoss.zul.Caption;
32:
33: /**
34: * {@link Caption}'s default mold.
35: *
36: * @author dennis.chen
37: * @since 3.0.0
38: */
39: public class CaptionDefault implements ComponentRenderer {
40: public void render(Component comp, Writer out) throws IOException {
41: final SmartWriter wh = new SmartWriter(out);
42: final Caption self = (Caption) comp;
43: final String uuid = self.getUuid();
44: final Execution exec = Executions.getCurrent();
45: final String imgTag = self.getImgTag();
46:
47: if (self.isLegend()) {
48: wh.write("<legend>").write(imgTag);
49: new Out(self.getLabel()).render(out);
50: wh.writeChildren(self);
51: wh.writeln("</legend>");
52: } else {
53: wh.write("<table id=\"").write(uuid).write("\" ");
54: wh.write("z.type=\"zul.widget.Capt\"").write(
55: self.getOuterAttrs()).write(self.getInnerAttrs());
56: wh
57: .writeln(" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
58: wh.writeln("<tr valign=\"middle\">");
59: wh.write("<td align=\"left\" class=\"caption\">").write(
60: imgTag);
61: new Out(self.getCompoundLabel()).setNbsp(true).render(out);
62: wh.writeln("</td>");
63:
64: wh.write("<td align=\"right\" class=\"caption\" id=\"")
65: .write(uuid).write("!cave\">").writeChildren(self)
66: .writeln("</td>");
67:
68: if (self.isClosableVisible()) {
69: wh.write("<td width=\"16\"><img id=\"").write(
70: self.getParent().getUuid()).write(
71: "!close\" src=\"").write(
72: exec.encodeURL("~./zul/img/close-off.gif"))
73: .writeln("\"/></td>");
74: }
75:
76: wh.write("</tr></table>");
77: }
78: }
79: }
|