Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Marineau2002-06-26 20:55:44 +0000
committerSebastien Marineau2002-06-26 20:55:44 +0000
commit58eca28a2160ef4dc93b42723bb45e177950e6c3 (patch)
tree92df0e6362da82db3444e9c579663cb1201db185 /core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CReconcilingStrategy.java
parente0fe72f58c104c6dc38071bcfe8e2c88b4472af2 (diff)
downloadorg.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.java62
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();
+ }
+}

Back to the top