summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Lindo2012-02-09 14:16:39 (EST)
committerVivian Kong2012-02-09 14:16:39 (EST)
commit75ff7eb1131a82a533f2ad2ecc25b5a1fba939ba (patch)
treefa5b7873778bee0bd7f9fefb4c152f4ca3218bae
parentdbdee9975bbfd8f3608cfe817f2012c8314ef3f3 (diff)
downloadorg.eclipse.cdt-75ff7eb1131a82a533f2ad2ecc25b5a1fba939ba.zip
org.eclipse.cdt-75ff7eb1131a82a533f2ad2ecc25b5a1fba939ba.tar.gz
org.eclipse.cdt-75ff7eb1131a82a533f2ad2ecc25b5a1fba939ba.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.java39
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java18
2 files changed, 30 insertions, 27 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 6f4a8b5..588d3f1 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
@@ -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]));
@@ -480,10 +480,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);
@@ -496,7 +497,7 @@ public class SemanticHighlightingManager implements IPropertyChangeListener {
}
if (!isEnabled())
- return;
+ return false;
boolean refreshNeeded= false;
@@ -554,6 +555,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 14c0ff1..63b417d 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
@@ -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;
@@ -387,7 +387,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
/**
* Start reconciling positions.
*/
- private void startReconcilingPositions() {
+ protected void startReconcilingPositions() {
fJobPresenter.addAllPositions(fRemovedPositions);
fNOfRemovedPositions= fRemovedPositions.size();
}
@@ -449,7 +449,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
/**
* Stop reconciling positions.
*/
- private void stopReconcilingPositions() {
+ protected void stopReconcilingPositions() {
fRemovedPositions.clear();
fNOfRemovedPositions= 0;
fAddedPositions.clear();