01: /* ListboxSelect.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.zk.ui.render.Out;
29:
30: import org.zkoss.zul.Listbox;
31: import org.zkoss.zul.Listitem;
32:
33: /**
34: * {@link Listbox}'s select mold.
35: * @author Jeff Liu
36: * @since 3.0.0
37: */
38: public class ListboxSelect implements ComponentRenderer {
39:
40: public void render(Component comp, Writer out) throws IOException {
41: final SmartWriter wh = new SmartWriter(out);
42: final Listbox self = (Listbox) comp;
43: final String uuid = self.getUuid();
44: wh.write("<select id=\"").write(uuid).write(
45: "\" z.type=\"zul.sel.Lisel\"").write(
46: self.getOuterAttrs()).write(self.getInnerAttrs())
47: .writeln(">");
48:
49: for (Iterator it = self.getItems().iterator(); it.hasNext();) {
50: final Listitem item = (Listitem) it.next();
51: wh.write("<option id=\"").write(item.getUuid()).write("\"")
52: .write(item.getOuterAttrs()).write(
53: item.getInnerAttrs()).write(">");
54: new Out(item.getLabel()).setMaxlength(self.getMaxlength())
55: .render(out);
56: wh.writeln("</option>");
57: }
58:
59: wh.write("</select>");
60: }
61:
62: }
|