01: /* MenubarVertical.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: import java.util.Iterator;
24:
25: import org.zkoss.zk.ui.Component;
26: import org.zkoss.zk.ui.render.ComponentRenderer;
27: import org.zkoss.zk.ui.render.SmartWriter;
28: import org.zkoss.zul.Menubar;
29: import org.zkoss.zul.impl.LabelImageElement;
30:
31: /**
32: * {@link Menubar}'s vertical mold.
33: * @author Jeff Liu
34: * @since 3.0.0
35: */
36: public class MenubarVertical implements ComponentRenderer {
37:
38: public void render(Component comp, Writer out) throws IOException {
39: final SmartWriter wh = new SmartWriter(out);
40: final Menubar self = (Menubar) comp;
41: final String uuid = self.getUuid();
42: wh.write("<div id=\"").write(uuid).write(
43: "\" z.type=\"zul.menu.Menubar\"");
44: wh.write(self.getOuterAttrs()).write(self.getInnerAttrs())
45: .write(">");
46: wh.write("<table cellpadding=\"0\" cellspacing=\"0\" id=\"")
47: .write(uuid).writeln("!cave\">");
48:
49: for (Iterator it = self.getChildren().iterator(); it.hasNext();) {
50: final LabelImageElement child = (LabelImageElement) it
51: .next();
52: wh.write("<tr id=\"").write(child.getUuid()).write(
53: "!chdextr\"");
54: wh.writeAttr("height", child.getHeight()).writeln(">");
55: child.redraw(out);
56: wh.writeln("</tr>");
57: }
58: wh.write("</table></div>");
59: }
60:
61: }
|