/** * Resumes this model. <code>flags</code> can be <code>NONE</code> * or <code>SELECT</code>. * * @param flags <code>NONE</code> or <code>SELECT</code> */ private void resume(int flags) { List<ILinkedModeListener> l= new ArrayList<>(fListeners); for (ILinkedModeListener listener : l) { listener.resume(this, flags); } }
/** * Suspends this model. */ private void suspend() { List<ILinkedModeListener> l= new ArrayList<>(fListeners); for (ILinkedModeListener listener : l) { listener.suspend(this); } }
for (Iterator<ILinkedModeListener> it= listeners.iterator(); it.hasNext(); ) { ILinkedModeListener listener= it.next(); listener.left(this, flags);
/** * Causes this model to exit. Called either if an illegal document change * is detected, or by the UI. * * @param flags the exit flags as defined in {@link ILinkedModeListener} */ public void exit(int flags) { if (!fIsActive) return; fIsActive= false; for (IDocument doc : fDocuments) { try { doc.removePositionCategory(getCategory()); } catch (BadPositionCategoryException e) { // won't happen Assert.isTrue(false); } doc.removePositionUpdater(fUpdater); doc.removeDocumentListener(fDocumentListener); } fDocuments.clear(); fGroups.clear(); List<ILinkedModeListener> listeners= new ArrayList<>(fListeners); fListeners.clear(); for (ILinkedModeListener listener : listeners) { listener.left(this, flags); } if (fParentEnvironment != null) fParentEnvironment.resume(flags); }
/** * Resumes this model. <code>flags</code> can be <code>NONE</code> * or <code>SELECT</code>. * * @param flags <code>NONE</code> or <code>SELECT</code> */ private void resume(int flags) { List<ILinkedModeListener> l= new ArrayList<>(fListeners); for (Iterator<ILinkedModeListener> it= l.iterator(); it.hasNext(); ) { ILinkedModeListener listener= it.next(); listener.resume(this, flags); } }
/** * Suspends this model. */ private void suspend() { List<ILinkedModeListener> l= new ArrayList<>(fListeners); for (Iterator<ILinkedModeListener> it= l.iterator(); it.hasNext(); ) { ILinkedModeListener listener= it.next(); listener.suspend(this); } }