01: /* TabboxSelectedTabConverter.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Tue Nov 13 14:39:14 2007, Created by Henri
10: }}IS_NOTE
11:
12: Copyright (C) 2007 Potix Corporation. All Rights Reserved.
13:
14: {{IS_RIGHT
15: }}IS_RIGHT
16: */
17: package org.zkoss.zkplus.databind;
18:
19: import org.zkoss.zul.Tabbox;
20: import org.zkoss.zul.Tab;
21:
22: import org.zkoss.zk.ui.Component;
23: import org.zkoss.zk.ui.UiException;
24: import org.zkoss.zk.ui.event.Event;
25: import org.zkoss.zk.ui.event.Events;
26: import org.zkoss.zk.ui.event.SelectEvent;
27:
28: import java.util.Set;
29: import java.util.HashSet;
30: import java.util.Iterator;
31:
32: /**
33: * Convert Tabbox selected Tab to Tab label and vice versa.
34: *
35: * @author Henri
36: * @since 3.0.1
37: */
38: public class TabboxSelectedTabConverter implements TypeConverter {
39: public Object coerceToUi(Object val, Component comp) { //load
40: if (val != null) {
41: //iterate to find the selected radio via the value
42: for (Iterator it = ((Tabbox) comp).getTabs().getChildren()
43: .iterator(); it.hasNext();) {
44: final Component child = (Component) it.next();
45: if (child instanceof Tab) {
46: if (val.equals(((Tab) child).getLabel())) {
47: return child;
48: }
49: }
50: }
51: }
52: return null;
53: }
54:
55: public Object coerceToBean(Object val, Component comp) { //save
56: return val != null ? ((Tab) val).getLabel() : null;
57: }
58: }
|