Mercurial > projects > dwt2
comparison org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/ChangeManager.d @ 85:6be48cf9f95c
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:54:50 +0200 |
parents | 383ce7bd736b |
children |
comparison
equal
deleted
inserted
replaced
84:fcf926c91ca4 | 85:6be48cf9f95c |
---|---|
65 0, length); | 65 0, length); |
66 } | 66 } |
67 listenerTypes[length] = listenerType; | 67 listenerTypes[length] = listenerType; |
68 listenerLists[length] = new ListenerList(); | 68 listenerLists[length] = new ListenerList(); |
69 bool hadListeners = hasListeners(); | 69 bool hadListeners = hasListeners(); |
70 listenerLists[length].add(listener); | 70 listenerLists[length].add(cast(Object)listener); |
71 if (!hadListeners) { | 71 if (!hadListeners) { |
72 this.firstListenerAdded(); | 72 this.firstListenerAdded(); |
73 } | 73 } |
74 return; | 74 return; |
75 } | 75 } |
76 ListenerList listenerList = listenerLists[listenerTypeIndex]; | 76 ListenerList listenerList = listenerLists[listenerTypeIndex]; |
77 bool hadListeners = true; | 77 bool hadListeners = true; |
78 if (listenerList.size() is 0) { | 78 if (listenerList.size() is 0) { |
79 hadListeners = hasListeners(); | 79 hadListeners = hasListeners(); |
80 } | 80 } |
81 listenerList.add(listener); | 81 listenerList.add(cast(Object)listener); |
82 if (!hadListeners) { | 82 if (!hadListeners) { |
83 firstListenerAdded(); | 83 firstListenerAdded(); |
84 } | 84 } |
85 } | 85 } |
86 | 86 |
90 */ | 90 */ |
91 protected void removeListener(Object listenerType, | 91 protected void removeListener(Object listenerType, |
92 IObservablesListener listener) { | 92 IObservablesListener listener) { |
93 int listenerTypeIndex = findListenerTypeIndex(listenerType); | 93 int listenerTypeIndex = findListenerTypeIndex(listenerType); |
94 if (listenerTypeIndex !is -1) { | 94 if (listenerTypeIndex !is -1) { |
95 listenerLists[listenerTypeIndex].remove(listener); | 95 listenerLists[listenerTypeIndex].remove(cast(Object)listener); |
96 if (listenerLists[listenerTypeIndex].size() is 0) { | 96 if (listenerLists[listenerTypeIndex].size() is 0) { |
97 if (!hasListeners()) { | 97 if (!hasListeners()) { |
98 this.lastListenerRemoved(); | 98 this.lastListenerRemoved(); |
99 } | 99 } |
100 } | 100 } |
123 } | 123 } |
124 return -1; | 124 return -1; |
125 } | 125 } |
126 | 126 |
127 protected void fireEvent(ObservableEvent event) { | 127 protected void fireEvent(ObservableEvent event) { |
128 Object listenerType = event.getListenerType(); | 128 Object listenerType = event.getListenerType_package(); |
129 int listenerTypeIndex = findListenerTypeIndex(listenerType); | 129 int listenerTypeIndex = findListenerTypeIndex(listenerType); |
130 if (listenerTypeIndex !is -1) { | 130 if (listenerTypeIndex !is -1) { |
131 Object[] listeners = listenerLists[listenerTypeIndex] | 131 Object[] listeners = listenerLists[listenerTypeIndex] |
132 .getListeners(); | 132 .getListeners(); |
133 for (int i = 0; i < listeners.length; i++) { | 133 for (int i = 0; i < listeners.length; i++) { |
134 event.dispatch(cast(IObservablesListener) listeners[i]); | 134 event.dispatch_package(cast(IObservablesListener) listeners[i]); |
135 } | 135 } |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 /** | 139 /** |