01: package fr.aliacom.form.swt.events;
02:
03: import org.eclipse.swt.events.ModifyEvent;
04: import org.eclipse.swt.events.ModifyListener;
05:
06: import fr.aliacom.bean.BeanUtils;
07: import fr.aliacom.form.swt.ui.ISWTText;
08:
09: /**
10: * @author tom
11: *
12: * (C) 2001, 2003 Thomas Cataldo
13: */
14: public class TextModifyListener implements ModifyListener {
15:
16: private Object javaBean;
17: private String property;
18: private ISWTText text;
19: private boolean locked;
20:
21: public TextModifyListener(ISWTText text, Object javaBean,
22: String property) {
23: this .javaBean = javaBean;
24: this .property = property;
25: this .text = text;
26: this .locked = false;
27: }
28:
29: /**
30: * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
31: */
32: public void modifyText(ModifyEvent arg0) {
33: if (!locked) {
34: text.lock();
35: BeanUtils.setValue(javaBean, property, text.getText());
36: text.unlock();
37: }
38: }
39:
40: /**
41: * Method lock.
42: */
43: public void lock() {
44: locked = true;
45: }
46:
47: public void unlock() {
48: locked = false;
49: }
50:
51: }
|