1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-09 02:36:01 +02:00

Changes to IWorkingCopy adjustment

This commit is contained in:
Alain Magloire 2004-04-30 00:07:51 +00:00
parent 1529ec129e
commit 87257e4718

View file

@ -8,7 +8,6 @@ package org.eclipse.cdt.internal.ui.text;
import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.CModelException;
import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.model.IWorkingCopy; import org.eclipse.cdt.core.model.IWorkingCopy;
import org.eclipse.cdt.internal.ui.editor.CContentOutlinePage;
import org.eclipse.cdt.internal.ui.editor.CEditor; import org.eclipse.cdt.internal.ui.editor.CEditor;
import org.eclipse.cdt.internal.ui.editor.IReconcilingParticipant; import org.eclipse.cdt.internal.ui.editor.IReconcilingParticipant;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
@ -18,25 +17,20 @@ import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.reconciler.DirtyRegion; import org.eclipse.jface.text.reconciler.DirtyRegion;
import org.eclipse.jface.text.reconciler.IReconcilingStrategy; import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.ui.texteditor.ITextEditor;
public class CReconcilingStrategy implements IReconcilingStrategy { public class CReconcilingStrategy implements IReconcilingStrategy {
private CContentOutlinePage fOutliner;
private ITextEditor fEditor; private ITextEditor fEditor;
private IWorkingCopyManager fManager; private IWorkingCopyManager fManager;
private IDocumentProvider fDocumentProvider;
private IProgressMonitor fProgressMonitor; private IProgressMonitor fProgressMonitor;
public CReconcilingStrategy(CEditor editor) { public CReconcilingStrategy(CEditor editor) {
fOutliner= editor.getOutlinePage();
fEditor= editor; fEditor= editor;
fManager= CUIPlugin.getDefault().getWorkingCopyManager(); fManager= CUIPlugin.getDefault().getWorkingCopyManager();
fDocumentProvider= CUIPlugin.getDefault().getDocumentProvider();
} }
/** /**
@ -69,21 +63,20 @@ public class CReconcilingStrategy implements IReconcilingStrategy {
} }
private void reconcile() { private void reconcile() {
boolean somethingHasChanged = false;
try { try {
ITranslationUnit tu = fManager.getWorkingCopy(fEditor.getEditorInput()); ITranslationUnit tu = fManager.getWorkingCopy(fEditor.getEditorInput());
if (tu != null && tu.isWorkingCopy()) { if (tu != null && tu.isWorkingCopy()) {
IWorkingCopy workingCopy = (IWorkingCopy)tu; IWorkingCopy workingCopy = (IWorkingCopy)tu;
// reconcile // reconcile
synchronized (workingCopy) { synchronized (workingCopy) {
somethingHasChanged = workingCopy.reconcile(true, fProgressMonitor); workingCopy.reconcile(true, fProgressMonitor);
} }
} }
// update participants // update participants
if (fEditor instanceof IReconcilingParticipant /*&& !fProgressMonitor.isCanceled()*/) { if (fEditor instanceof IReconcilingParticipant /*&& !fProgressMonitor.isCanceled()*/) {
IReconcilingParticipant p= (IReconcilingParticipant) fEditor; IReconcilingParticipant p= (IReconcilingParticipant) fEditor;
p.reconciled(somethingHasChanged); p.reconciled(true);
} }
} catch(CModelException e) { } catch(CModelException e) {