public void doSave(IProgressMonitor monitor) { try { IDocument doc = fDocumentProvider.getDocument(fEditorInput); fDocumentProvider.aboutToChange(fEditorInput); flushModel(doc); fDocumentProvider.saveDocument(monitor, fEditorInput, doc, true); fDocumentProvider.changed(fEditorInput); fValidated = false; } catch (CoreException e) { PDEPlugin.logException(e); } }
private void deinitializeDocumentProvider() { IAnnotationModel amodel = fDocumentProvider.getAnnotationModel(fEditorInput); if (amodel != null) { amodel.disconnect(fDocumentProvider.getDocument(fEditorInput)); } fDocumentProvider.removeElementStateListener(fElementListener); fDocumentProvider.disconnect(fEditorInput); }
private IDocument getDocument(IDocumentProvider provider, IEditorInput input) { if (input == null) return null; IDocument result= null; try { provider.connect(input); result= provider.getDocument(input); } catch (CoreException e) { } finally { provider.disconnect(input); } return result; } }
@Override public void execute(final IProgressMonitor monitor) throws CoreException { // Save the old editor input content to the new editor input // location fDocumentProvider.saveDocument(monitor, // New editor input location newInput, // Old editor input content fDocumentProvider.getDocument(fEditorInput), true); } };
boolean hasSharedDocument(Object object) { return (fElement == object && fDocumentProvider != null && fDocumentProvider.getDocument(getDocumentKey()) != null); }
private void initializeDocumentProvider() throws CoreException { fDocumentProvider.connect(fEditorInput); IAnnotationModel amodel = fDocumentProvider.getAnnotationModel(fEditorInput); if (amodel != null) { amodel.connect(fDocumentProvider.getDocument(fEditorInput)); } fDocumentProvider.addElementStateListener(fElementListener); }
public void connect(Object element) throws CoreException { fParentProvider.connect(element); IDocument document= fParentProvider.getDocument(element); if (document instanceof IDocumentExtension3) { IDocumentExtension3 extension= (IDocumentExtension3) document; if (extension.getDocumentPartitioner(fPartitioning) == null) fDocumentSetupParticipant.setup(document); } }
public void flushEditorInput() { if (!fEditOperations.isEmpty()) { IDocument doc = fDocumentProvider.getDocument(fEditorInput); fDocumentProvider.aboutToChange(fEditorInput); flushModel(doc); fDocumentProvider.changed(fEditorInput); fValidated = false; } else if ((fModel instanceof IEditable) && ((IEditable) fModel).isDirty()) { // When text edit operations are made that cancel each other out, // the editor is not undirtied // e.g. Extensions page: Move an element up and then move it down // back in the same position: Bug # 197831 ((IEditable) fModel).setDirty(false); } }
private IProblemRequestorExtension getProblemRequestorExtension() { IAnnotationModel model= fDocumentProvider.getAnnotationModel(fEditor.getEditorInput()); if (model instanceof IProblemRequestorExtension) return (IProblemRequestorExtension) model; return null; }
public void disconnect(Object element) { fParentProvider.disconnect(element); }
/** * Performs revert and handles errors appropriately. * <p> * Subclasses may extend. * </p> * * @since 3.0 */ protected void performRevert() { IDocumentProvider provider= getDocumentProvider(); if (provider == null) return; try { provider.aboutToChange(getEditorInput()); provider.resetDocument(getEditorInput()); editorSaved(); } catch (CoreException x) { IStatus status= x.getStatus(); if (status == null || status.getSeverity() != IStatus.CANCEL ) { Shell shell= getSite().getShell(); String title= EditorMessages.Editor_error_revert_title; String msg= EditorMessages.Editor_error_revert_message; ErrorDialog.openError(shell, title, msg, x.getStatus()); } } finally { provider.changed(getEditorInput()); } }
/** * A helper method to save a document. * * @param provider the document provider * @param documentKey the document key * @param document the document * @param overwrite indicates whether overwrite should be performed * while saving the given element if necessary * @param monitor a progress monitor * @throws CoreException */ protected void saveDocument(IDocumentProvider provider, IEditorInput documentKey, IDocument document, boolean overwrite, IProgressMonitor monitor) throws CoreException { try { provider.aboutToChange(documentKey); provider.saveDocument(monitor, documentKey, document, overwrite); } finally { provider.changed(documentKey); } }
public void connect(IDocumentProvider provider, IEditorInput documentKey) throws CoreException { provider.connect(documentKey); }
@Override public boolean isDeleted(Object element) { return fParentProvider.isDeleted(element); }
@Override protected void execute(IProgressMonitor monitor) throws CoreException { getParentProvider().saveDocument(monitor, element, document, overwrite); } };
@Override public void changed(Object element) { fParentProvider.changed(element); }
@Override public void aboutToChange(Object element) { fParentProvider.aboutToChange(element); }
private boolean synchronizeModelIfNeeded() { if (fMustSynchronize) { boolean result = synchronizeModel(fDocumentProvider.getDocument(fEditorInput)); fMustSynchronize = false; return result; } return true; }
@Override public void connect(Object element) throws CoreException { fParentProvider.connect(element); IDocument document= fParentProvider.getDocument(element); if (document instanceof IDocumentExtension3) { IDocumentExtension3 extension= (IDocumentExtension3) document; if (extension.getDocumentPartitioner(fPartitioning) == null) fDocumentSetupParticipant.setup(document); } }
@Override public void flushEditorInput() { // Override parent, since this editor does not utilize edit operations IDocumentProvider provider = getDocumentProvider(); IEditorInput input = getInput(); IDocument doc = provider.getDocument(input); provider.aboutToChange(input); flushModel(doc); provider.changed(input); setValidated(false); }