diff options
author | Sebastien Marineau | 2002-06-26 20:55:44 +0000 |
---|---|---|
committer | Sebastien Marineau | 2002-06-26 20:55:44 +0000 |
commit | 58eca28a2160ef4dc93b42723bb45e177950e6c3 (patch) | |
tree | 92df0e6362da82db3444e9c579663cb1201db185 /core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java | |
parent | e0fe72f58c104c6dc38071bcfe8e2c88b4472af2 (diff) | |
download | org.eclipse.cdt-58eca28a2160ef4dc93b42723bb45e177950e6c3.tar.gz org.eclipse.cdt-58eca28a2160ef4dc93b42723bb45e177950e6c3.tar.xz org.eclipse.cdt-58eca28a2160ef4dc93b42723bb45e177950e6c3.zip |
Initial commit of CDT code from QNX
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java')
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java new file mode 100644 index 00000000000..b394fc6da98 --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java @@ -0,0 +1,62 @@ +package org.eclipse.cdt.internal.ui.text; + +/* + * (c) Copyright IBM Corp. 2000, 2001. + * All Rights Reserved. + */ + +import org.eclipse.cdt.internal.ui.editor.CContentOutlinePage; +import org.eclipse.cdt.internal.ui.editor.CEditor; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.IRegion; +import org.eclipse.jface.text.reconciler.DirtyRegion; +import org.eclipse.jface.text.reconciler.IReconcilingStrategy; + + +public class CReconcilingStrategy implements IReconcilingStrategy { + + + private CContentOutlinePage fOutliner; + private int fLastRegionOffset; + + + public CReconcilingStrategy(CEditor editor) { + fOutliner= editor.getOutlinePage(); + fLastRegionOffset = Integer.MAX_VALUE; + } + + /** + * @see IReconcilingStrategy#reconcile(document) + */ + public void setDocument(IDocument document) { + } + + + /** + * @see IReconcilingStrategy#reconcile(region) + */ + public void reconcile(IRegion region) { + // We use a trick to avoid running the reconciler multiple times + // on a file when it gets changed. This is because this gets called + // multiple times with different regions of the file, we do a + // complete parse on the first region. + if(region.getOffset() <= fLastRegionOffset) { + reconcile(); + } + fLastRegionOffset = region.getOffset(); + } + + + /** + * @see IReconcilingStrategy#reconcile(dirtyRegion, region) + */ + public void reconcile(DirtyRegion dirtyRegion, IRegion region) { + // FIXME: This seems to generate to much flashing in + // the contentouline viewer. + //reconcile(); + } + + private void reconcile() { + fOutliner.contentUpdated(); + } +} |