summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Lindo2012-02-09 14:00:08 (EST)
committerVivian Kong2012-02-09 14:00:08 (EST)
commit2810e3a1fc54f9fd4dcf2dd08452319dc6d63658 (patch)
treec0d02e45645b31b1eb4b62fce5780582d91db94f
parente128056245491de047d14349f985b727bea1a0f5 (diff)
downloadorg.eclipse.cdt-2810e3a1fc54f9fd4dcf2dd08452319dc6d63658.zip
org.eclipse.cdt-2810e3a1fc54f9fd4dcf2dd08452319dc6d63658.tar.gz
org.eclipse.cdt-2810e3a1fc54f9fd4dcf2dd08452319dc6d63658.tar.bz2
Bug 370762 - Adding support for Remote Semantic Highlighting in the
Remote C/C++ Editor
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingManager.java41
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java20
2 files changed, 32 insertions, 29 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingManager.java
index e9f1b5e..4eef256 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingManager.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -45,7 +45,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
/**
* Highlighting style.
*/
- static class HighlightingStyle {
+ public static class HighlightingStyle {
/** Text attribute */
private TextAttribute fTextAttribute;
@@ -94,7 +94,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
/**
* Highlighted Positions.
*/
- static class HighlightedPosition extends Position {
+ public static class HighlightedPosition extends Position {
/** Highlighting of the position */
private HighlightingStyle fStyle;
@@ -260,30 +260,30 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
}
/** Semantic highlighting presenter */
- private SemanticHighlightingPresenter fPresenter;
+ protected SemanticHighlightingPresenter fPresenter;
/** Semantic highlighting reconciler */
private SemanticHighlightingReconciler fReconciler;
/** Semantic highlightings */
- private SemanticHighlighting[] fSemanticHighlightings;
+ protected SemanticHighlighting[] fSemanticHighlightings;
/** Highlightings */
- private HighlightingStyle[] fHighlightings;
+ protected HighlightingStyle[] fHighlightings;
/** The editor */
private CEditor fEditor;
/** The source viewer */
- private CSourceViewer fSourceViewer;
+ protected CSourceViewer fSourceViewer;
/** The color manager */
- private IColorManager fColorManager;
+ protected IColorManager fColorManager;
/** The preference store */
- private IPreferenceStore fPreferenceStore;
+ protected IPreferenceStore fPreferenceStore;
/** The source viewer configuration */
- private CSourceViewerConfiguration fConfiguration;
+ protected CSourceViewerConfiguration fConfiguration;
/** The presentation reconciler */
- private CPresentationReconciler fPresentationReconciler;
+ protected CPresentationReconciler fPresentationReconciler;
/** The hard-coded ranges */
- private HighlightedRange[][] fHardcodedRanges;
+ protected HighlightedRange[][] fHardcodedRanges;
/**
* Install the semantic highlighting on the given editor infrastructure
@@ -347,7 +347,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
*
* @return the hard-coded positions
*/
- private HighlightedPosition[] createHardcodedPositions() {
+ protected HighlightedPosition[] createHardcodedPositions() {
List<HighlightedPosition> positions= new ArrayList<HighlightedPosition>();
for (int i= 0; i < fHardcodedRanges.length; i++) {
HighlightedRange range= null;
@@ -421,14 +421,14 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
/**
* @return <code>true</code> iff semantic highlighting is enabled in the preferences
*/
- private boolean isEnabled() {
+ protected boolean isEnabled() {
return SemanticHighlightings.isEnabled(fPreferenceStore);
}
/**
* Initialize semantic highlightings.
*/
- private void initializeHighlightings() {
+ protected void initializeHighlightings() {
fSemanticHighlightings= SemanticHighlightings.getSemanticHighlightings();
fHighlightings= new HighlightingStyle[fSemanticHighlightings.length];
@@ -461,7 +461,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
/**
* Dispose the semantic highlightings.
*/
- private void disposeHighlightings() {
+ protected void disposeHighlightings() {
for (int i= 0, n= fSemanticHighlightings.length; i < n; i++)
removeColor(SemanticHighlightings.getColorPreferenceKey(fSemanticHighlightings[i]));
@@ -481,10 +481,11 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
* Handle the given property change event
*
* @param event The event
+ * @return
*/
- private void handlePropertyChangeEvent(PropertyChangeEvent event) {
+ protected boolean handlePropertyChangeEvent(PropertyChangeEvent event) {
if (fPreferenceStore == null)
- return; // Uninstalled during event notification
+ return false; // Uninstalled during event notification
if (fConfiguration != null)
fConfiguration.handlePropertyChangeEvent(event);
@@ -497,7 +498,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
}
if (!isEnabled())
- return;
+ return false;
boolean refreshNeeded= false;
@@ -555,6 +556,8 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
if (refreshNeeded && fReconciler != null)
fReconciler.refresh();
+
+ return refreshNeeded;
}
private void adaptToEnablementChange(HighlightingStyle highlighting, PropertyChangeEvent event) {
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java
index d71341b..0446156 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -287,18 +287,18 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
/** The C editor this semantic highlighting reconciler is installed on */
private CEditor fEditor;
/** The semantic highlighting presenter */
- private SemanticHighlightingPresenter fPresenter;
+ protected SemanticHighlightingPresenter fPresenter;
/** Semantic highlightings */
- private SemanticHighlighting[] fSemanticHighlightings;
+ protected SemanticHighlighting[] fSemanticHighlightings;
/** Highlightings */
private HighlightingStyle[] fHighlightings;
/** Background job's added highlighted positions */
- private List<HighlightedPosition> fAddedPositions= new ArrayList<HighlightedPosition>();
+ protected List<HighlightedPosition> fAddedPositions= new ArrayList<HighlightedPosition>();
/** Background job's removed highlighted positions */
- private List<HighlightedPosition> fRemovedPositions= new ArrayList<HighlightedPosition>();
+ protected List<HighlightedPosition> fRemovedPositions= new ArrayList<HighlightedPosition>();
/** Number of removed positions */
- private int fNOfRemovedPositions;
+ protected int fNOfRemovedPositions;
/** Background job */
private Job fJob;
@@ -313,9 +313,9 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
private boolean fIsReconciling= false;
/** The semantic highlighting presenter - cache for background thread, only valid during {@link #reconciled(IASTTranslationUnit, boolean, IProgressMonitor)} */
- private SemanticHighlightingPresenter fJobPresenter;
+ protected SemanticHighlightingPresenter fJobPresenter;
/** Semantic highlightings - cache for background thread, only valid during {@link #reconciled(IASTTranslationUnit, boolean, IProgressMonitor)} */
- private SemanticHighlighting[] fJobSemanticHighlightings;
+ protected SemanticHighlighting[] fJobSemanticHighlightings;
/** Highlightings - cache for background thread, only valid during {@link #reconciled(IASTTranslationUnit, boolean, IProgressMonitor)} */
private HighlightingStyle[] fJobHighlightings;
@@ -389,7 +389,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
/**
* Start reconciling positions.
*/
- private void startReconcilingPositions() {
+ protected void startReconcilingPositions() {
fJobPresenter.addAllPositions(fRemovedPositions);
fNOfRemovedPositions= fRemovedPositions.size();
}
@@ -452,7 +452,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
/**
* Stop reconciling positions.
*/
- private void stopReconcilingPositions() {
+ protected void stopReconcilingPositions() {
fRemovedPositions.clear();
fNOfRemovedPositions= 0;
fAddedPositions.clear();