comparison org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/beans/JavaBeanObservableMap.d @ 98:48d4ee626868

rm databinding.observable seems to be duplicate, databinding.beans now building
author Frank Benoit <benoit@tionex.de>
date Wed, 22 Apr 2009 07:30:21 +0200
parents c86eb8b3098e
children
comparison
equal deleted inserted replaced
97:c86eb8b3098e 98:48d4ee626868
35 public class JavaBeanObservableMap : ComputedObservableMap , 35 public class JavaBeanObservableMap : ComputedObservableMap ,
36 IBeanObservable { 36 IBeanObservable {
37 37
38 private PropertyDescriptor propertyDescriptor; 38 private PropertyDescriptor propertyDescriptor;
39 39
40 private PropertyChangeListener elementListener = new class() PropertyChangeListener { 40 private PropertyChangeListener elementListener;
41 public void propertyChange(final java.beans.PropertyChangeEvent event) { 41 class ElementListener : PropertyChangeListener {
42 public void propertyChange(java.beans.PropertyChangeEvent.PropertyChangeEvent event) {
42 if (!updating) { 43 if (!updating) {
43 getRealm().exec(new class() Runnable { 44 getRealm().exec(dgRunnable((java.beans.PropertyChangeEvent.PropertyChangeEvent event_) {
44 public void run() { 45 fireMapChange(Diffs.createMapDiffSingleChange(
45 fireMapChange(Diffs.createMapDiffSingleChange( 46 event_.getSource(), event_.getOldValue(), event_
46 event.getSource(), event.getOldValue(), event 47 .getNewValue()));
47 .getNewValue())); 48 }, event));
48 }
49 });
50 } 49 }
51 } 50 }
52 }; 51 };
53 52
54 private ListenerSupport listenerSupport; 53 private ListenerSupport listenerSupport;
71 * @param propertyDescriptor 70 * @param propertyDescriptor
72 * @param attachListeners 71 * @param attachListeners
73 */ 72 */
74 public this(IObservableSet domain, 73 public this(IObservableSet domain,
75 PropertyDescriptor propertyDescriptor, bool attachListeners) { 74 PropertyDescriptor propertyDescriptor, bool attachListeners) {
75 elementListener = new ElementListener();
76 super(domain); 76 super(domain);
77 77
78 this.propertyDescriptor = propertyDescriptor; 78 this.propertyDescriptor = propertyDescriptor;
79 this.attachListeners = attachListeners; 79 this.attachListeners = attachListeners;
80 if (attachListeners) { 80 if (attachListeners) {
116 116
117 protected Object doPut(Object key, Object value) { 117 protected Object doPut(Object key, Object value) {
118 try { 118 try {
119 Object oldValue = get(key); 119 Object oldValue = get(key);
120 propertyDescriptor.getWriteMethod().invoke(key, 120 propertyDescriptor.getWriteMethod().invoke(key,
121 new Object[] { value }); 121 [ value ]);
122 keySet().add(key); 122 keySet().add(key);
123 return oldValue; 123 return oldValue;
124 } catch (Exception e) { 124 } catch (Exception e) {
125 Policy.getLog().log( 125 Policy.getLog().log(
126 new Status(IStatus.ERROR, Policy.JFACE_DATABINDING, 126 new Status(IStatus.ERROR, Policy.JFACE_DATABINDING,
131 131
132 /* (non-Javadoc) 132 /* (non-Javadoc)
133 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved() 133 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
134 */ 134 */
135 public Object getObserved() { 135 public Object getObserved() {
136 return keySet(); 136 return cast(Object)keySet();
137 } 137 }
138 138
139 /* (non-Javadoc) 139 /* (non-Javadoc)
140 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor() 140 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
141 */ 141 */