01: /* TabpanelDefault.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Sep 6, 2007 6:49:21 PM , Created by robbiecheng
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.render.ComponentRenderer;
26: import org.zkoss.zk.ui.render.SmartWriter;
27: import org.zkoss.zul.Tabbox;
28: import org.zkoss.zul.Tabpanel;
29:
30: /**
31: * {@link Tabpanel}'s default mold.
32: * It forwards to {@link TabpanelAccordion} if the tabbox's mold is accordion.
33: * It forwards to {@link TabpanelDefaultV} if the tabbox's orient is vertical.
34: *
35: * @author robbiecheng
36: *
37: * @since 3.0.0
38: */
39: public class TabpanelDefault implements ComponentRenderer {
40: private final TabpanelDefaultV _vpanel = new TabpanelDefaultV();
41: private final TabpanelAccordion _acdpanel = new TabpanelAccordion();
42:
43: public void render(Component comp, Writer out) throws IOException {
44: final Tabpanel self = (Tabpanel) comp;
45: final Tabbox tabbox = self.getTabbox();
46: if ("accordion".equals(tabbox.getMold())) {
47: _acdpanel.render(comp, out);
48: return;
49: }
50: if ("vertical".equals(tabbox.getOrient())) {
51: _vpanel.render(comp, out);
52: return;
53: }
54:
55: final SmartWriter wh = new SmartWriter(out);
56:
57: wh.write("<div id=\"").write(self.getUuid()).write('"').write(
58: self.getOuterAttrs()).write('>').write("<div id=\"")
59: .write(self.getUuid()).write("!real\"").write(
60: self.getInnerAttrs()).write('>').writeChildren(
61: self).writeln("</div></div>");
62: }
63: }
|