com.nomagic.magicdraw.uml.symbols.SymbolDrawNotification notifies when the presentation element is drawn (added to a diagram):
// An element removal listener final PropertyChangeListener removeListener = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (ExtendedPropertyNames.REMOVE.equals(evt.getPropertyName())) { // symbol removed } } }; // An element drawing listener SymbolDrawListener symbolDrawListener = new SymbolDrawListener() { public void symbolAdded(DiagramPresentationElement diagram, PresentationElement symbol, String actionID) { // A symbol added // A register listener symbol.addPropertyChangeListener(removeListener); } }; // A register draw listener SymbolDrawNotification symbolDrawNotification =SymbolDrawNotification.getSymbolDrawNotification(project); symbolDrawNotification.addSymbolDrawListener(symbolDrawListener);