@Override protected void inputChanged(Object newInput, Object oldInput) { IDocument oldDocument= (IDocument) oldInput; if (oldDocument != null) { if (fMarkPosition != null && !fMarkPosition.isDeleted()) oldDocument.removePosition(fMarkPosition); try { oldDocument.removePositionUpdater(fMarkPositionUpdater); oldDocument.removePositionCategory(MARK_POSITION_CATEGORY); } catch (BadPositionCategoryException e) { } } fMarkPosition= null; if (oldDocument instanceof IDocumentExtension4) { IDocumentExtension4 document= (IDocumentExtension4) oldDocument; document.removeDocumentRewriteSessionListener(fDocumentRewriteSessionListener); } super.inputChanged(newInput, oldInput); if (newInput instanceof IDocumentExtension4) { IDocumentExtension4 document= (IDocumentExtension4) newInput; document.addDocumentRewriteSessionListener(fDocumentRewriteSessionListener); } IDocument newDocument= (IDocument) newInput; if (newDocument != null) { newDocument.addPositionCategory(MARK_POSITION_CATEGORY); newDocument.addPositionUpdater(fMarkPositionUpdater); } }
@Override protected void inputChanged(Object newInput, Object oldInput) { IDocument oldDocument= (IDocument) oldInput; if (oldDocument != null) { if (fMarkPosition != null && !fMarkPosition.isDeleted()) oldDocument.removePosition(fMarkPosition); try { oldDocument.removePositionUpdater(fMarkPositionUpdater); oldDocument.removePositionCategory(MARK_POSITION_CATEGORY); } catch (BadPositionCategoryException e) { } } fMarkPosition= null; if (oldDocument instanceof IDocumentExtension4) { IDocumentExtension4 document= (IDocumentExtension4) oldDocument; document.removeDocumentRewriteSessionListener(fDocumentRewriteSessionListener); } super.inputChanged(newInput, oldInput); if (newInput instanceof IDocumentExtension4) { IDocumentExtension4 document= (IDocumentExtension4) newInput; document.addDocumentRewriteSessionListener(fDocumentRewriteSessionListener); } IDocument newDocument= (IDocument) newInput; if (newDocument != null) { newDocument.addPositionCategory(MARK_POSITION_CATEGORY); newDocument.addPositionUpdater(fMarkPositionUpdater); } }