Changeset 2207
- Timestamp:
- 02/09/08 05:21:59 (3 months ago)
- Files:
-
- gaphor/trunk/gaphor/UML/element.py (modified) (1 diff)
- gaphor/trunk/gaphor/UML/elementfactory.py (modified) (4 diffs)
- gaphor/trunk/gaphor/UML/tests/test_elementfactory.py (modified) (2 diffs)
- gaphor/trunk/gaphor/application.py (modified) (6 diffs)
- gaphor/trunk/tests/test_association_undo.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/element.py
r2193 r2207 87 87 # Uses a mutex to make sure it is not called recursively 88 88 if self.__in_unlink.testandset(): 89 component.handle(ElementDeleteEvent(self._factory, self))90 89 try: 91 90 for prop in self.umlproperties(): 92 91 prop.unlink(self) 92 component.handle(ElementDeleteEvent(self._factory, self)) 93 93 finally: 94 94 self.__in_unlink.unlock() gaphor/trunk/gaphor/UML/elementfactory.py
r2197 r2207 11 11 IFlushFactoryEvent, IModelFactoryEvent, \ 12 12 IElementChangeEvent 13 from gaphor.UML.event import ElementCreateEvent, ElementDeleteEvent,\13 from gaphor.UML.event import ElementCreateEvent, \ 14 14 FlushFactoryEvent, ModelFactoryEvent 15 15 from gaphor.UML.element import Element … … 60 60 61 61 def shutdown(self): 62 self.flush() 62 63 self._app.unregister_handler(self._element_deleted) 63 self.flush()64 64 65 65 def create(self, type): … … 165 165 166 166 for key, value in self._elements.items(): 167 #print 'ElementFactory: unlinking', value168 #print 'references:', gc.get_referrers(value)169 167 value.unlink() 170 168 finally: … … 190 188 self._app.handle(ModelFactoryEvent(self)) 191 189 192 @component.adapter( ElementDeleteEvent)190 @component.adapter(IElementDeleteEvent) 193 191 def _element_deleted(self, event): 194 192 """ gaphor/trunk/gaphor/UML/tests/test_elementfactory.py
r2193 r2207 30 30 self.factory = ElementFactory() 31 31 self.factory.init(Application) 32 32 33 33 def tearDown(self): 34 34 self.factory.shutdown() … … 46 46 47 47 p = ef.create(Parameter) 48 wp = weakref.ref(p)49 48 assert len(ef.values()) == 1 50 49 gaphor/trunk/gaphor/application.py
r2197 r2207 35 35 def __init__(self): 36 36 self._uninitialized_services = {} 37 self. _init_components()37 self.init_components() 38 38 self._event_filter = None 39 39 … … 45 45 self.init_all_services() 46 46 47 def _init_components(self):47 def init_components(self): 48 48 """ 49 49 Initialize application level component registry. … … 52 52 module. 53 53 """ 54 #self._components = component.getGlobalSiteManager() 55 #return 56 54 57 self._components = component.registry.Components(name='app', 55 58 bases=(component.getGlobalSiteManager(),)) … … 76 79 """ 77 80 for ep in pkg_resources.iter_entry_points('gaphor.services'): 78 #print ep, dir(ep)79 81 log.debug('found entry point service.%s' % ep.name) 80 82 cls = ep.load() … … 126 128 127 129 # Re-initialize components registry 128 self. _init_components()130 self.init_components() 129 131 130 132 # Wrap zope.component's Components methods … … 185 187 return filtered 186 188 187 def handle(self, * objects):189 def handle(self, *events): 188 190 """ 189 191 Send event notifications to registered handlers. 190 192 """ 191 objects = self._filter( objects)193 objects = self._filter(events) 192 194 if objects: 193 self._components.handle(* objects)195 self._components.handle(*events) 194 196 195 197 gaphor/trunk/tests/test_association_undo.py
r2158 r2207 26 26 def testAssociationUndo(self): 27 27 factory = Application.get_service('element_factory') 28 undo_manager = Application.get_service('undo_manager') 28 29 29 30 diagram = factory.create(UML.Diagram) … … 83 84 #assert len(y_cons) == 0, y_cons 84 85 85 undo_manager = Application.get_service('undo_manager')86 87 86 assert undo_manager.can_undo() 88 87
