mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-24 17:35:35 +02:00
Bug 370762 - Adding support for Remote Semantic Highlighting in the
Remote C/C++ Editor
This commit is contained in:
parent
e128056245
commit
2810e3a1fc
2 changed files with 32 additions and 29 deletions
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue