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 /**