Changeset 2225

Show
Ignore:
Timestamp:
02/25/08 23:59:05 (3 months ago)
Author:
arj..@yirdis.nl
Message:

moved code that removes model elements when no more presentations exist to a separate service. It was in diagramtab.py, which is the wrong place and caused hard to reproduce errors.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphor/trunk/gaphor/UML/elementfactory.py

    r2219 r2225  
    1010from gaphor.UML.interfaces import IElementCreateEvent, IElementDeleteEvent, \ 
    1111                                  IFlushFactoryEvent, IModelFactoryEvent, \ 
    12                                   IElementChangeEvent 
     12                                  IElementChangeEvent, IElementEvent 
    1313from gaphor.UML.event import ElementCreateEvent, \ 
    1414                             FlushFactoryEvent, ModelFactoryEvent 
     
    191191        self._app.handle(ModelFactoryEvent(self)) 
    192192 
    193     @component.adapter(IElementChangeEvent) 
     193    @component.adapter(IElementEvent) 
    194194    def _element_notify(self, event): 
    195195        """ 
    196         Dispatch IElementChangeEvent events to interested adapters registered 
     196        Dispatch IElementEvent events to interested adapters registered 
    197197        by (class, event). 
    198198        """ 
  • gaphor/trunk/gaphor/diagram/diagramitem.py

    r2218 r2225  
    218218        if self.canvas: 
    219219            self.canvas.remove(self) 
    220         self.subject = None 
    221220        super(DiagramItem, self).unlink() 
    222221 
  • gaphor/trunk/gaphor/tests/testcase.py

    r2224 r2225  
    3838 
    3939 
    40     def create(self, item_cls, subject_cls=None): 
     40    def create(self, item_cls, subject_cls=None, subject=None): 
    4141        """ 
    4242        Create an item with specified subject. 
    4343        """ 
    44         if subject_cls is None: 
    45             subject = None 
    46         else: 
     44        if subject_cls is not None: 
    4745            subject = self.element_factory.create(subject_cls) 
    4846        item = self.diagram.create(item_cls, subject=subject) 
  • gaphor/trunk/gaphor/ui/diagramtab.py

    r2192 r2225  
    186186        for i in list(items): 
    187187            if isinstance(i, DiagramItem): 
    188                 s = i.subject 
    189                 if s and len(s.presentation) == 1: 
    190                     s.unlink() 
    191188                i.unlink() 
    192189            else: 
  • gaphor/trunk/setup.py

    r2154 r2225  
    174174            'gui_manager = gaphor.services.guimanager:GUIManager', 
    175175            'copy = gaphor.services.copyservice:CopyService', 
     176            'sanitizer = gaphor.services.sanitizerservice:SanitizerService', 
    176177            'xmi_export = gaphor.plugins.xmiexport:XMIExport', 
    177178            'diagram_layout = gaphor.plugins.diagramlayout:DiagramLayout',