Mercurial > projects > dwt2
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 */ |