protected void removeFromDiagramImpl() { Object o = getOwner(); if (o != null) { removeElementListener(o); } ArgoEventPump.removeListener(this); Iterator it = getPathItemFigs().iterator(); while (it.hasNext()) { Fig fig = (Fig) it.next(); fig.removeFromDiagram(); } /* TODO: MVW: Why the next action? * Deleting a fig from 1 diagram should not influence others! * */ // GEF does not take into account the multiple diagrams we have // therefore we loop through our diagrams and delete each and every // occurence on our own it = ProjectManager.getManager().getCurrentProject().getDiagrams().iterator(); while (it.hasNext()) { ArgoDiagram diagram = (ArgoDiagram) it.next(); diagram.damage(); } /* TODO: MVW: Should we not call damage() * for diagrams AFTER the next step? */ super.removeFromDiagram(); }
@Override public void removeFromDiagram() { ArgoEventPump.removeListener(ArgoEventTypes.ANY_NOTATION_EVENT, this); notationProvider.cleanListener(this, getOwner()); super.removeFromDiagram(); }
/** @see org.tigris.gef.presentation.Fig#postLoad() */ public void postLoad() { ArgoEventPump.removeListener(this); ArgoEventPump.addListener(this); }