Changeset 2205

Show
Ignore:
Timestamp:
02/07/08 02:20:47 (3 months ago)
Author:
arj..@yirdis.nl
Message:

ElementItem now unlinks itself if the UML model element is deleted.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphor/trunk/gaphor/diagram/elementitem.py

    r2140 r2205  
    55import gobject 
    66import gaphas 
     7from zope import component 
     8from gaphor.application import Application 
     9from gaphor.UML.event import ElementDeleteEvent 
    710from diagramitem import DiagramItem 
    811from gaphor.diagram.style import get_text_point 
     
    4952 
    5053 
     54    def register_handlers(self): 
     55        super(ElementItem, self).register_handlers() 
     56        Application.register_handler(self._on_element_delete) 
     57 
     58 
     59    def unregister_handlers(self): 
     60        super(ElementItem, self).unregister_handlers() 
     61        Application.unregister_handler(self._on_element_delete) 
     62 
     63 
     64    @component.adapter(ElementDeleteEvent) 
     65    def _on_element_delete(self, event): 
     66        """ 
     67        Delete the item if the subject is deleted. 
     68        """ 
     69        if event and event.element is self.subject: 
     70            self.unlink() 
     71 
     72 
    5173    def pre_update(self, context): 
    5274        #super(ElementItem, self).pre_update(context)