Changeset 2219
- Timestamp:
- 02/22/08 08:04:36 (3 months ago)
- Files:
-
- gaphor/trunk/gaphor/UML/elementfactory.py (modified) (2 diffs)
- gaphor/trunk/gaphor/UML/tests/test_elementfactory.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/elementfactory.py
r2208 r2219 57 57 def init(self, app): 58 58 self._app = app 59 app.register_handler(self._element_notify) 59 60 app.register_handler(self._element_deleted) 60 61 61 62 def shutdown(self): 62 63 # unregister after flush: the handler is needed to empty the _elements 64 self._app.unregister_handler(self._element_notify) 63 65 self.flush() 64 66 self._app.unregister_handler(self._element_deleted) … … 189 191 self._app.handle(ModelFactoryEvent(self)) 190 192 193 @component.adapter(IElementChangeEvent) 194 def _element_notify(self, event): 195 """ 196 Dispatch IElementChangeEvent events to interested adapters registered 197 by (class, event). 198 """ 199 self._app.handle(event.element, event) 200 191 201 @component.adapter(IElementDeleteEvent) 192 202 def _element_deleted(self, event): gaphor/trunk/gaphor/UML/tests/test_elementfactory.py
r2207 r2219 113 113 self.assertTrue(IFlushFactoryEvent.providedBy(last_event) ) 114 114 115 def test_element_event(self): 116 ef = self.factory 115 117 116 # vim:sw=4:et 118 events = [] 119 @component.adapter(Class, IElementChangeEvent) 120 def handler(element, event, events=events): 121 assert element is event.element 122 events.append(event) 123 124 Application.register_handler(handler) 125 126 try: 127 c = Class() 128 c.name = 'name' 129 assert len(events) == 1, events 130 assert events[0].new_value == 'name' 131 finally: 132 Application.unregister_handler(handler) 133 134 135 # vim:sw=4:et:ai
