01: /* MenuitemDefault.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Thu Sep 6 2007, Created by Jeff.Liu
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.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.Menuitem;
32: import org.zkoss.lang.Strings;
33:
34: /**
35: * {@link Menuitem}'s default mold.
36: * @author Jeff Liu
37: * @since 3.0.0
38: */
39: public class MenuitemDefault implements ComponentRenderer {
40:
41: public void render(Component comp, Writer out) throws IOException {
42: final SmartWriter wh = new SmartWriter(out);
43: final Menuitem self = (Menuitem) comp;
44: final String uuid = self.getUuid();
45: final Execution exec = Executions.getCurrent();
46: if (self.isTopmost()) {
47: wh.write("<td id=\"").write(uuid).write(
48: "\" align=\"left\" z.type=\"Menuit\"");
49: wh.write(self.getOuterAttrs()).write(self.getInnerAttrs())
50: .write(">");
51: wh.write("<a href=\"");
52: if (Strings.isBlank(self.getHref()))
53: wh.write("javascript:;");
54: else
55: wh.write(exec.encodeURL(self.getHref()));
56: wh.write("\"").writeAttr("target", self.getTarget());
57: wh.write(" id=\"").write(uuid).write("!a\">").write(
58: self.getImgTag());
59: new Out(self.getLabel()).render(out);
60: wh.writeln("</a></td>");
61: } else {
62: wh.write("<tr id=\"").write(uuid).write(
63: "\" z.type=\"Menuit\"").write(self.getOuterAttrs())
64: .write(self.getInnerAttrs()).writeln(">").write(
65: "<td class=\"menu1");
66: if (self.isChecked())
67: wh.write("ck");
68: wh.write("\"></td>\n<td align=\"left\"><a href=\"");
69: if (Strings.isBlank(self.getHref()))
70: wh.write("javascript:;");
71: else
72: wh.write(exec.encodeURL(self.getHref()));
73: wh.write("\"").writeAttr("target", self.getTarget());
74: wh.write(" id=\"").write(uuid).write("!a\">").write(
75: self.getImgTag());
76: new Out(self.getLabel()).render(out);
77: wh.writeln("</a></td>\n<td width=\"9px\"></td></tr>");
78: }
79: }
80: }
|