mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
2005-02-15 Alain Magloire
Fix for 85633, Moving out all the CEditorPreference Text setting to eclipse EditorsUI preference page. * src/org/eclipse/cdt/internal/ui/editore/CEditor.java * src/org/eclipse/cdt/internal/ui/preferences/AbstractPreferencePage.java * src/org/eclipse/cdt/internal/ui/preferences/CEditorPreferencePage.java * src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java * src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java
This commit is contained in:
parent
1a8eee1a13
commit
e8bb99d6b5
6 changed files with 76 additions and 713 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2005-02-15 Alain Magloire
|
||||||
|
Fix for 85633, Moving out all the CEditorPreference Text setting
|
||||||
|
to eclipse EditorsUI preference page.
|
||||||
|
* src/org/eclipse/cdt/internal/ui/editore/CEditor.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/preferences/AbstractPreferencePage.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/preferences/CEditorPreferencePage.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java
|
||||||
|
* src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java
|
||||||
|
|
||||||
2005-02-15 Alain Magloire
|
2005-02-15 Alain Magloire
|
||||||
Fix PR 82322, PR 78330
|
Fix PR 82322, PR 78330
|
||||||
* plugin.xml
|
* plugin.xml
|
||||||
|
|
|
@ -95,14 +95,12 @@ import org.eclipse.ui.part.IShowInSource;
|
||||||
import org.eclipse.ui.part.IShowInTargetList;
|
import org.eclipse.ui.part.IShowInTargetList;
|
||||||
import org.eclipse.ui.part.ShowInContext;
|
import org.eclipse.ui.part.ShowInContext;
|
||||||
import org.eclipse.ui.texteditor.AnnotationPreference;
|
import org.eclipse.ui.texteditor.AnnotationPreference;
|
||||||
import org.eclipse.ui.texteditor.ChainedPreferenceStore;
|
|
||||||
import org.eclipse.ui.texteditor.ContentAssistAction;
|
import org.eclipse.ui.texteditor.ContentAssistAction;
|
||||||
import org.eclipse.ui.texteditor.IDocumentProvider;
|
import org.eclipse.ui.texteditor.IDocumentProvider;
|
||||||
import org.eclipse.ui.texteditor.IEditorStatusLine;
|
import org.eclipse.ui.texteditor.IEditorStatusLine;
|
||||||
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
|
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
|
||||||
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
|
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
|
||||||
import org.eclipse.ui.texteditor.MarkerAnnotation;
|
import org.eclipse.ui.texteditor.MarkerAnnotation;
|
||||||
import org.eclipse.ui.texteditor.MarkerUtilities;
|
|
||||||
import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
|
import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
|
||||||
import org.eclipse.ui.texteditor.TextOperationAction;
|
import org.eclipse.ui.texteditor.TextOperationAction;
|
||||||
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
|
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
|
||||||
|
@ -151,8 +149,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
protected ISelectionChangedListener fStatusLineClearer;
|
protected ISelectionChangedListener fStatusLineClearer;
|
||||||
protected ISelectionChangedListener fSelectionUpdateListener;
|
protected ISelectionChangedListener fSelectionUpdateListener;
|
||||||
|
|
||||||
/** The property change listener */
|
|
||||||
private PropertyChangeListener fPropertyChangeListener = new PropertyChangeListener();
|
|
||||||
/** The mouse listener */
|
/** The mouse listener */
|
||||||
private MouseClickListener fMouseListener;
|
private MouseClickListener fMouseListener;
|
||||||
|
|
||||||
|
@ -209,24 +205,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
*/
|
*/
|
||||||
private IMarker fLastMarkerTarget= null;
|
private IMarker fLastMarkerTarget= null;
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles property changes.
|
|
||||||
*/
|
|
||||||
private class PropertyChangeListener implements org.eclipse.core.runtime.Preferences.IPropertyChangeListener, org.eclipse.jface.util.IPropertyChangeListener {
|
|
||||||
/**
|
|
||||||
* @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
|
|
||||||
*/
|
|
||||||
public void propertyChange(org.eclipse.jface.util.PropertyChangeEvent event) {
|
|
||||||
handlePreferencePropertyChanged(event);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
|
|
||||||
*/
|
|
||||||
public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event) {
|
|
||||||
handlePreferencePropertyChanged(new org.eclipse.jface.util.PropertyChangeEvent(event.getSource(), event.getProperty(), event.getOldValue(), event.getNewValue()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
*/
|
*/
|
||||||
|
@ -246,12 +224,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
setRulerContextMenuId("#CEditorRulerContext"); //$NON-NLS-1$
|
setRulerContextMenuId("#CEditorRulerContext"); //$NON-NLS-1$
|
||||||
setOutlinerContextMenuId("#CEditorOutlinerContext"); //$NON-NLS-1$
|
setOutlinerContextMenuId("#CEditorOutlinerContext"); //$NON-NLS-1$
|
||||||
|
|
||||||
IPreferenceStore[] stores = new IPreferenceStore[2];
|
setPreferenceStore(CUIPlugin.getDefault().getCombinedPreferenceStore());
|
||||||
stores[0] = CUIPlugin.getDefault().getPreferenceStore();
|
|
||||||
stores[1] = EditorsUI.getPreferenceStore();
|
|
||||||
IPreferenceStore store = new ChainedPreferenceStore(stores);
|
|
||||||
setPreferenceStore(store);
|
|
||||||
|
|
||||||
fCEditorErrorTickUpdater = new CEditorErrorTickUpdater(this);
|
fCEditorErrorTickUpdater = new CEditorErrorTickUpdater(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,6 +356,13 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Not implemented ... for the future.
|
||||||
|
if (TRANSLATION_TASK_TAGS.equals(event.getProperty())) {
|
||||||
|
ISourceViewer sourceViewer= getSourceViewer();
|
||||||
|
if (sourceViewer != null && affectsTextPresentation(event))
|
||||||
|
sourceViewer.invalidateTextPresentation();
|
||||||
|
}
|
||||||
|
|
||||||
if (PreferenceConstants.EDITOR_FOLDING_PROVIDER.equals(property)) {
|
if (PreferenceConstants.EDITOR_FOLDING_PROVIDER.equals(property)) {
|
||||||
if (fProjectionModelUpdater != null)
|
if (fProjectionModelUpdater != null)
|
||||||
fProjectionModelUpdater.uninstall();
|
fProjectionModelUpdater.uninstall();
|
||||||
|
@ -412,10 +392,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
protected void selectionChanged() {
|
protected void selectionChanged() {
|
||||||
if (getSelectionProvider() == null)
|
if (getSelectionProvider() == null)
|
||||||
return;
|
return;
|
||||||
// ISourceReference element= computeHighlightRangeSourceReference();
|
|
||||||
// if (getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE))
|
|
||||||
// synchronizeOutlinePage(element);
|
|
||||||
// setSelection(element, false);
|
|
||||||
updateStatusLine();
|
updateStatusLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,12 +434,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
ISourceReference reference = (ISourceReference) element;
|
ISourceReference reference = (ISourceReference) element;
|
||||||
// set hightlight range
|
// set hightlight range
|
||||||
setSelection(reference, true);
|
setSelection(reference, true);
|
||||||
// set outliner selection
|
|
||||||
//if (fOutlinePage != null) {
|
|
||||||
// fOutlinePage.removeSelectionChangedListener(fSelectionChangedListener);
|
|
||||||
// fOutlinePage.select(reference);
|
|
||||||
// fOutlinePage.addSelectionChangedListener(fSelectionChangedListener);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -591,14 +561,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
fCEditorErrorTickUpdater = null;
|
fCEditorErrorTickUpdater = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fPropertyChangeListener != null) {
|
|
||||||
Preferences preferences = CCorePlugin.getDefault().getPluginPreferences();
|
|
||||||
preferences.removePropertyChangeListener(fPropertyChangeListener);
|
|
||||||
IPreferenceStore preferenceStore = getPreferenceStore();
|
|
||||||
preferenceStore.removePropertyChangeListener(fPropertyChangeListener);
|
|
||||||
fPropertyChangeListener = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
final CSourceViewer sourceViewer = (CSourceViewer) getSourceViewer();
|
final CSourceViewer sourceViewer = (CSourceViewer) getSourceViewer();
|
||||||
if (fSelectionUpdateListener != null) {
|
if (fSelectionUpdateListener != null) {
|
||||||
getSelectionProvider().addSelectionChangedListener(fSelectionUpdateListener);
|
getSelectionProvider().addSelectionChangedListener(fSelectionUpdateListener);
|
||||||
|
@ -837,11 +799,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors());
|
fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors());
|
||||||
fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$NON-NLS-1$
|
fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$NON-NLS-1$
|
||||||
fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); //$NON-NLS-1$
|
fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); //$NON-NLS-1$
|
||||||
// fProjectionSupport.setHoverControlCreator(new IInformationControlCreator() {
|
|
||||||
// public IInformationControl createInformationControl(Shell shell) {
|
|
||||||
// return new CustomSourceInformationControl(shell, IDocument.DEFAULT_CONTENT_TYPE);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
fProjectionSupport.install();
|
fProjectionSupport.install();
|
||||||
|
|
||||||
fProjectionModelUpdater= CUIPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider();
|
fProjectionModelUpdater= CUIPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider();
|
||||||
|
@ -861,65 +818,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
if (isTabConversionEnabled())
|
if (isTabConversionEnabled())
|
||||||
startTabConversion();
|
startTabConversion();
|
||||||
|
|
||||||
IPreferenceStore preferenceStore = getPreferenceStore();
|
|
||||||
preferenceStore.addPropertyChangeListener(fPropertyChangeListener);
|
|
||||||
|
|
||||||
Preferences preferences = CCorePlugin.getDefault().getPluginPreferences();
|
|
||||||
preferences.addPropertyChangeListener(fPropertyChangeListener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a next error in the editor.
|
|
||||||
* @param offset Offset to start check.
|
|
||||||
* @param forward Do check forward.
|
|
||||||
* @return Found error marker or <code>null</code>.
|
|
||||||
*/
|
|
||||||
private IMarker getNextError(int offset, boolean forward) {
|
|
||||||
|
|
||||||
IMarker nextError = null;
|
|
||||||
|
|
||||||
IDocument document = getDocumentProvider().getDocument(getEditorInput());
|
|
||||||
int endOfDocument = document.getLength();
|
|
||||||
int distance = 0;
|
|
||||||
|
|
||||||
IAnnotationModel model = getDocumentProvider().getAnnotationModel(getEditorInput());
|
|
||||||
Iterator e = model.getAnnotationIterator();
|
|
||||||
while (e.hasNext()) {
|
|
||||||
Annotation a = (Annotation) e.next();
|
|
||||||
if (a instanceof CMarkerAnnotation) {
|
|
||||||
MarkerAnnotation ma = (MarkerAnnotation) a;
|
|
||||||
IMarker marker = ma.getMarker();
|
|
||||||
|
|
||||||
if (MarkerUtilities.isMarkerType(marker, IMarker.PROBLEM)) {
|
|
||||||
Position p = model.getPosition(a);
|
|
||||||
if (!p.includes(offset)) {
|
|
||||||
|
|
||||||
int currentDistance = 0;
|
|
||||||
|
|
||||||
if (forward) {
|
|
||||||
currentDistance = p.getOffset() - offset;
|
|
||||||
if (currentDistance < 0)
|
|
||||||
currentDistance = endOfDocument - offset + p.getOffset();
|
|
||||||
} else {
|
|
||||||
currentDistance = offset - p.getOffset();
|
|
||||||
if (currentDistance < 0)
|
|
||||||
currentDistance = offset + endOfDocument - p.getOffset();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nextError == null || (currentDistance < distance && currentDistance != 0)) {
|
|
||||||
distance = currentDistance;
|
|
||||||
if (distance == 0)
|
|
||||||
distance = endOfDocument;
|
|
||||||
nextError = marker;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nextError;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#gotoMarker(org.eclipse.core.resources.IMarker)
|
* @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#gotoMarker(org.eclipse.core.resources.IMarker)
|
||||||
*/
|
*/
|
||||||
|
@ -1379,21 +1279,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles a property change event describing a change
|
|
||||||
* of the C core's preferences and updates the preference
|
|
||||||
* related editor properties.
|
|
||||||
*
|
|
||||||
* @param event the property change event
|
|
||||||
*/
|
|
||||||
protected void handlePreferencePropertyChanged(org.eclipse.jface.util.PropertyChangeEvent event) {
|
|
||||||
if (TRANSLATION_TASK_TAGS.equals(event.getProperty())) {
|
|
||||||
ISourceViewer sourceViewer= getSourceViewer();
|
|
||||||
if (sourceViewer != null && affectsTextPresentation(event))
|
|
||||||
sourceViewer.invalidateTextPresentation();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the given message as error message to this editor's status line.
|
* Sets the given message as error message to this editor's status line.
|
||||||
*
|
*
|
||||||
|
@ -1452,11 +1337,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
||||||
* @see org.eclipse.cdt.internal.ui.editor.IReconcilingParticipant#reconciled()
|
* @see org.eclipse.cdt.internal.ui.editor.IReconcilingParticipant#reconciled()
|
||||||
*/
|
*/
|
||||||
public void reconciled(boolean somethingHasChanged) {
|
public void reconciled(boolean somethingHasChanged) {
|
||||||
// Do nothing the outliner is listeniner to the
|
// Do nothing the outliner is listener to the
|
||||||
// CoreModel WorkingCopy changes instead.
|
// CoreModel WorkingCopy changes instead.
|
||||||
// It will allow more fined grained.
|
// It will allow more fined grained.
|
||||||
//if(somethingHasChanged && fOutlinePage != null) {
|
|
||||||
// fOutlinePage.contentUpdated();
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,9 +230,9 @@ public abstract class AbstractPreferencePage extends PreferencePage implements I
|
||||||
protected abstract OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys();
|
protected abstract OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys();
|
||||||
|
|
||||||
public void createControl(Composite parent){
|
public void createControl(Composite parent){
|
||||||
|
super.createControl(parent);
|
||||||
fOverlayStore.load();
|
fOverlayStore.load();
|
||||||
fOverlayStore.start();
|
fOverlayStore.start();
|
||||||
super.createControl(parent);
|
|
||||||
initializeFields();
|
initializeFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,8 @@ import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.eclipse.cdt.internal.ui.ICHelpContextIds;
|
import org.eclipse.cdt.internal.ui.ICHelpContextIds;
|
||||||
import org.eclipse.cdt.internal.ui.dialogs.StatusInfo;
|
|
||||||
import org.eclipse.cdt.internal.ui.dialogs.StatusUtil;
|
|
||||||
import org.eclipse.cdt.internal.ui.editor.CEditor;
|
import org.eclipse.cdt.internal.ui.editor.CEditor;
|
||||||
import org.eclipse.cdt.internal.ui.text.CSourceViewerConfiguration;
|
import org.eclipse.cdt.internal.ui.text.CSourceViewerConfiguration;
|
||||||
import org.eclipse.cdt.internal.ui.text.CTextTools;
|
import org.eclipse.cdt.internal.ui.text.CTextTools;
|
||||||
|
@ -23,48 +18,35 @@ import org.eclipse.cdt.internal.ui.text.ICColorConstants;
|
||||||
import org.eclipse.cdt.ui.CUIPlugin;
|
import org.eclipse.cdt.ui.CUIPlugin;
|
||||||
import org.eclipse.cdt.ui.PreferenceConstants;
|
import org.eclipse.cdt.ui.PreferenceConstants;
|
||||||
import org.eclipse.cdt.utils.ui.controls.TabFolderLayout;
|
import org.eclipse.cdt.utils.ui.controls.TabFolderLayout;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
|
||||||
import org.eclipse.jface.preference.IPreferenceStore;
|
import org.eclipse.jface.preference.IPreferenceStore;
|
||||||
import org.eclipse.jface.preference.PreferenceConverter;
|
import org.eclipse.jface.preference.PreferenceConverter;
|
||||||
import org.eclipse.jface.preference.PreferencePage;
|
|
||||||
import org.eclipse.jface.resource.JFaceResources;
|
import org.eclipse.jface.resource.JFaceResources;
|
||||||
import org.eclipse.jface.text.Document;
|
import org.eclipse.jface.text.Document;
|
||||||
import org.eclipse.jface.text.IDocument;
|
import org.eclipse.jface.text.IDocument;
|
||||||
import org.eclipse.jface.text.IDocumentPartitioner;
|
import org.eclipse.jface.text.IDocumentPartitioner;
|
||||||
import org.eclipse.jface.text.source.ISourceViewer;
|
|
||||||
import org.eclipse.jface.text.source.SourceViewer;
|
import org.eclipse.jface.text.source.SourceViewer;
|
||||||
import org.eclipse.jface.util.IPropertyChangeListener;
|
import org.eclipse.jface.util.IPropertyChangeListener;
|
||||||
import org.eclipse.jface.util.PropertyChangeEvent;
|
import org.eclipse.jface.util.PropertyChangeEvent;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.custom.StyledText;
|
|
||||||
import org.eclipse.swt.events.ModifyEvent;
|
|
||||||
import org.eclipse.swt.events.ModifyListener;
|
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
import org.eclipse.swt.events.SelectionEvent;
|
||||||
import org.eclipse.swt.events.SelectionListener;
|
import org.eclipse.swt.events.SelectionListener;
|
||||||
import org.eclipse.swt.graphics.Color;
|
|
||||||
import org.eclipse.swt.graphics.RGB;
|
import org.eclipse.swt.graphics.RGB;
|
||||||
import org.eclipse.swt.layout.GridData;
|
import org.eclipse.swt.layout.GridData;
|
||||||
import org.eclipse.swt.layout.GridLayout;
|
import org.eclipse.swt.layout.GridLayout;
|
||||||
import org.eclipse.swt.widgets.Button;
|
import org.eclipse.swt.widgets.Button;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Control;
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Display;
|
|
||||||
import org.eclipse.swt.widgets.Group;
|
|
||||||
import org.eclipse.swt.widgets.Label;
|
import org.eclipse.swt.widgets.Label;
|
||||||
import org.eclipse.swt.widgets.List;
|
import org.eclipse.swt.widgets.List;
|
||||||
import org.eclipse.swt.widgets.TabFolder;
|
import org.eclipse.swt.widgets.TabFolder;
|
||||||
import org.eclipse.swt.widgets.TabItem;
|
import org.eclipse.swt.widgets.TabItem;
|
||||||
import org.eclipse.swt.widgets.Text;
|
|
||||||
import org.eclipse.ui.IWorkbench;
|
|
||||||
import org.eclipse.ui.IWorkbenchPreferencePage;
|
import org.eclipse.ui.IWorkbenchPreferencePage;
|
||||||
import org.eclipse.ui.help.WorkbenchHelp;
|
import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
|
|
||||||
import org.eclipse.ui.texteditor.AbstractTextEditor;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The page for setting the editor options.
|
* The page for setting the editor options.
|
||||||
*/
|
*/
|
||||||
public class CEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
|
public class CEditorPreferencePage extends AbstractPreferencePage implements IWorkbenchPreferencePage {
|
||||||
|
|
||||||
protected final String[][] fListModel = new String[][] { { PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags.MultiLine"), ICColorConstants.C_MULTI_LINE_COMMENT }, { //$NON-NLS-1$
|
protected final String[][] fListModel = new String[][] { { PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags.MultiLine"), ICColorConstants.C_MULTI_LINE_COMMENT }, { //$NON-NLS-1$
|
||||||
PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags.singleLine"), ICColorConstants.C_SINGLE_LINE_COMMENT }, { //$NON-NLS-1$
|
PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags.singleLine"), ICColorConstants.C_SINGLE_LINE_COMMENT }, { //$NON-NLS-1$
|
||||||
|
@ -78,45 +60,13 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags"), PreferenceConstants.EDITOR_TASK_TAG_COLOR } //$NON-NLS-1$
|
PreferencesMessages.getString("CEditorPreferencePage.cCommentTaskTags"), PreferenceConstants.EDITOR_TASK_TAG_COLOR } //$NON-NLS-1$
|
||||||
};
|
};
|
||||||
|
|
||||||
protected final String[][] fAppearanceColorListModel = new String[][] { { PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.lineNumberColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, null }, //$NON-NLS-1$
|
protected final String[][] fAppearanceColorListModel = new String[][] {
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBracketColor"), CEditor.MATCHING_BRACKETS_COLOR, null }, //$NON-NLS-1$
|
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBracketColor"), CEditor.MATCHING_BRACKETS_COLOR, null }, //$NON-NLS-1$
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.currentLineHighlightColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR, null }, //$NON-NLS-1$
|
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.linkedPositionColor"), CEditor.LINKED_POSITION_COLOR, null }, //$NON-NLS-1$
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.printMarginColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, null }, //$NON-NLS-1$
|
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.linkedPositionColor"), CEditor.LINKED_POSITION_COLOR, null }, //$NON-NLS-1$
|
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.selectionForegroundColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR}, //$NON-NLS-1$
|
|
||||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.selectionBackgroundColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR}, //$NON-NLS-1$
|
|
||||||
};
|
};
|
||||||
|
|
||||||
protected OverlayPreferenceStore fOverlayStore;
|
|
||||||
private CTextTools fCTextTools;
|
private CTextTools fCTextTools;
|
||||||
|
|
||||||
protected Map fColorButtons = new HashMap();
|
|
||||||
private SelectionListener fColorButtonListener = new SelectionListener() {
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
}
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
ColorEditor editor = (ColorEditor) e.widget.getData();
|
|
||||||
PreferenceConverter.setValue(fOverlayStore, (String) fColorButtons.get(editor), editor.getColorValue());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
protected Map fCheckBoxes = new HashMap();
|
|
||||||
private SelectionListener fCheckBoxListener = new SelectionListener() {
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
}
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
Button button = (Button) e.widget;
|
|
||||||
fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
protected Map fTextFields = new HashMap();
|
|
||||||
private ModifyListener fTextFieldListener = new ModifyListener() {
|
|
||||||
public void modifyText(ModifyEvent e) {
|
|
||||||
Text text = (Text) e.widget;
|
|
||||||
fOverlayStore.setValue((String) fTextFields.get(text), text.getText());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
/**
|
/**
|
||||||
* List of master/slave listeners when there's a dependency.
|
* List of master/slave listeners when there's a dependency.
|
||||||
*
|
*
|
||||||
|
@ -127,37 +77,20 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
|
|
||||||
protected List fList;
|
protected List fList;
|
||||||
protected ColorEditor fForegroundColorEditor;
|
protected ColorEditor fForegroundColorEditor;
|
||||||
protected ColorEditor fBackgroundColorEditor;
|
|
||||||
private Button fBackgroundDefaultRadioButton;
|
|
||||||
protected Button fBackgroundCustomRadioButton;
|
|
||||||
protected Button fBackgroundColorButton;
|
|
||||||
protected Button fBoldCheckBox;
|
protected Button fBoldCheckBox;
|
||||||
protected SourceViewer fPreviewViewer;
|
protected SourceViewer fPreviewViewer;
|
||||||
|
|
||||||
protected List fAppearanceColorList;
|
|
||||||
protected ColorEditor fAppearanceColorEditor;
|
|
||||||
Button fAppearanceColorDefault;
|
|
||||||
private CEditorHoverConfigurationBlock fCEditorHoverConfigurationBlock;
|
private CEditorHoverConfigurationBlock fCEditorHoverConfigurationBlock;
|
||||||
private FoldingConfigurationBlock fFoldingConfigurationBlock;
|
private FoldingConfigurationBlock fFoldingConfigurationBlock;
|
||||||
|
|
||||||
|
|
||||||
public CEditorPreferencePage() {
|
public CEditorPreferencePage() {
|
||||||
|
super();
|
||||||
setDescription(CUIPlugin.getResourceString("CEditorPreferencePage.description")); //$NON-NLS-1$
|
setDescription(CUIPlugin.getResourceString("CEditorPreferencePage.description")); //$NON-NLS-1$
|
||||||
setPreferenceStore(CUIPlugin.getDefault().getPreferenceStore());
|
|
||||||
fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), createOverlayStoreKeys());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
|
protected OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
|
||||||
ArrayList overlayKeys = new ArrayList();
|
ArrayList overlayKeys = new ArrayList();
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT));
|
|
||||||
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR));
|
|
||||||
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, CSourceViewerConfiguration.PREFERENCE_TAB_WIDTH));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, CSourceViewerConfiguration.PREFERENCE_TAB_WIDTH));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, ICColorConstants.C_MULTI_LINE_COMMENT));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, ICColorConstants.C_MULTI_LINE_COMMENT));
|
||||||
|
@ -180,20 +113,9 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, ICColorConstants.C_OPERATOR + "_bold")); //$NON-NLS-1$
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, ICColorConstants.C_OPERATOR + "_bold")); //$NON-NLS-1$
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CEditor.MATCHING_BRACKETS_COLOR));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CEditor.MATCHING_BRACKETS_COLOR));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CEditor.MATCHING_BRACKETS));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CEditor.MATCHING_BRACKETS));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CEditor.SPACES_FOR_TABS));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CEditor.SPACES_FOR_TABS));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN));
|
|
||||||
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_WIDE_CARET));
|
|
||||||
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CEditor.LINKED_POSITION_COLOR));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CEditor.LINKED_POSITION_COLOR));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER));
|
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_TAG_COLOR));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_TAG_COLOR));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_TAG_BOLD));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_TAG_BOLD));
|
||||||
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR));
|
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR));
|
||||||
|
@ -211,17 +133,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
store.setDefault(CEditor.MATCHING_BRACKETS, true);
|
store.setDefault(CEditor.MATCHING_BRACKETS, true);
|
||||||
PreferenceConverter.setDefault(store, CEditor.MATCHING_BRACKETS_COLOR, new RGB(170,170,170));
|
PreferenceConverter.setDefault(store, CEditor.MATCHING_BRACKETS_COLOR, new RGB(170,170,170));
|
||||||
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, true);
|
|
||||||
PreferenceConverter.setDefault(store, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
|
|
||||||
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, true);
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80);
|
|
||||||
PreferenceConverter.setDefault(store, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185));
|
|
||||||
|
|
||||||
store.setDefault(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT, true);
|
|
||||||
|
|
||||||
store.setDefault(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT, true);
|
|
||||||
|
|
||||||
store.setDefault(CSourceViewerConfiguration.PREFERENCE_TAB_WIDTH, 4);
|
store.setDefault(CSourceViewerConfiguration.PREFERENCE_TAB_WIDTH, 4);
|
||||||
|
|
||||||
store.setDefault(CEditor.SPACES_FOR_TABS, false);
|
store.setDefault(CEditor.SPACES_FOR_TABS, false);
|
||||||
|
@ -255,50 +166,7 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
|
|
||||||
PreferenceConverter.setDefault(store, CEditor.LINKED_POSITION_COLOR, new RGB(0, 200, 100));
|
PreferenceConverter.setDefault(store, CEditor.LINKED_POSITION_COLOR, new RGB(0, 200, 100));
|
||||||
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER, false);
|
|
||||||
PreferenceConverter.setDefault(store, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0));
|
|
||||||
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, true);
|
|
||||||
|
|
||||||
store.setDefault(CEditor.HYPERLINK_ENABLED,true);
|
store.setDefault(CEditor.HYPERLINK_ENABLED,true);
|
||||||
|
|
||||||
// override default extended text editor prefs
|
|
||||||
store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private void initializeDefaultColors() {
|
|
||||||
if (!getPreferenceStore().contains(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND)) {
|
|
||||||
RGB rgb= getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB();
|
|
||||||
PreferenceConverter.setDefault(fOverlayStore, AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND, rgb);
|
|
||||||
PreferenceConverter.setDefault(getPreferenceStore(), AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND, rgb);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!getPreferenceStore().contains(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND)) {
|
|
||||||
RGB rgb= getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB();
|
|
||||||
PreferenceConverter.setDefault(fOverlayStore, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND, rgb);
|
|
||||||
PreferenceConverter.setDefault(getPreferenceStore(), AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND, rgb);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!getPreferenceStore().contains(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR)) {
|
|
||||||
RGB rgb= getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION).getRGB();
|
|
||||||
PreferenceConverter.setDefault(fOverlayStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR, rgb);
|
|
||||||
PreferenceConverter.setDefault(getPreferenceStore(), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR, rgb);
|
|
||||||
}
|
|
||||||
if (!getPreferenceStore().contains(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR)) {
|
|
||||||
RGB rgb= getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT).getRGB();
|
|
||||||
PreferenceConverter.setDefault(fOverlayStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR, rgb);
|
|
||||||
PreferenceConverter.setDefault(getPreferenceStore(), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR, rgb);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @see IWorkbenchPreferencePage#init()
|
|
||||||
*/
|
|
||||||
public void init(IWorkbench workbench) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -322,39 +190,12 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
Composite colorComposite = new Composite(parent, SWT.NULL);
|
Composite colorComposite = new Composite(parent, SWT.NULL);
|
||||||
colorComposite.setLayout(new GridLayout());
|
colorComposite.setLayout(new GridLayout());
|
||||||
|
|
||||||
Group backgroundComposite= new Group(colorComposite, SWT.SHADOW_ETCHED_IN);
|
|
||||||
GridLayout layout = new GridLayout();
|
|
||||||
layout.numColumns = 3;
|
|
||||||
backgroundComposite.setLayout(layout);
|
|
||||||
backgroundComposite.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.backgroundColor"));//$NON-NLS-1$
|
|
||||||
|
|
||||||
SelectionListener backgroundSelectionListener = new SelectionListener() {
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
boolean custom = fBackgroundCustomRadioButton.getSelection();
|
|
||||||
fBackgroundColorButton.setEnabled(custom);
|
|
||||||
fOverlayStore.setValue(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT, !custom);
|
|
||||||
}
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
fBackgroundDefaultRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT);
|
|
||||||
fBackgroundDefaultRadioButton.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.systemDefault")); //$NON-NLS-1$
|
|
||||||
fBackgroundDefaultRadioButton.addSelectionListener(backgroundSelectionListener);
|
|
||||||
|
|
||||||
fBackgroundCustomRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT);
|
|
||||||
fBackgroundCustomRadioButton.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.custom")); //$NON-NLS-1$
|
|
||||||
fBackgroundCustomRadioButton.addSelectionListener(backgroundSelectionListener);
|
|
||||||
|
|
||||||
fBackgroundColorEditor = new ColorEditor(backgroundComposite);
|
|
||||||
fBackgroundColorButton = fBackgroundColorEditor.getButton();
|
|
||||||
|
|
||||||
Label label = new Label(colorComposite, SWT.LEFT);
|
Label label = new Label(colorComposite, SWT.LEFT);
|
||||||
label.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.foreground")); //$NON-NLS-1$
|
label.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.foreground")); //$NON-NLS-1$
|
||||||
label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||||
|
|
||||||
Composite editorComposite = new Composite(colorComposite, SWT.NULL);
|
Composite editorComposite = new Composite(colorComposite, SWT.NULL);
|
||||||
layout = new GridLayout();
|
GridLayout layout = new GridLayout();
|
||||||
layout.numColumns = 2;
|
layout.numColumns = 2;
|
||||||
layout.marginHeight = 0;
|
layout.marginHeight = 0;
|
||||||
layout.marginWidth = 0;
|
layout.marginWidth = 0;
|
||||||
|
@ -425,18 +266,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fBackgroundColorButton.addSelectionListener(new SelectionListener() {
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
// do nothing
|
|
||||||
}
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
PreferenceConverter.setValue(
|
|
||||||
fOverlayStore,
|
|
||||||
AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND,
|
|
||||||
fBackgroundColorEditor.getColorValue());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
fBoldCheckBox.addSelectionListener(new SelectionListener() {
|
fBoldCheckBox.addSelectionListener(new SelectionListener() {
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
public void widgetDefaultSelected(SelectionEvent e) {
|
||||||
// do nothing
|
// do nothing
|
||||||
|
@ -460,8 +289,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT));
|
fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT));
|
||||||
fPreviewViewer.setEditable(false);
|
fPreviewViewer.setEditable(false);
|
||||||
|
|
||||||
initializeViewerColors(fPreviewViewer);
|
|
||||||
|
|
||||||
String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
|
String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
|
||||||
IDocument document = new Document(content);
|
IDocument document = new Document(content);
|
||||||
IDocumentPartitioner partitioner = fCTextTools.createDocumentPartitioner();
|
IDocumentPartitioner partitioner = fCTextTools.createDocumentPartitioner();
|
||||||
|
@ -472,12 +299,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
|
|
||||||
fOverlayStore.addPropertyChangeListener(new IPropertyChangeListener() {
|
fOverlayStore.addPropertyChangeListener(new IPropertyChangeListener() {
|
||||||
public void propertyChange(PropertyChangeEvent event) {
|
public void propertyChange(PropertyChangeEvent event) {
|
||||||
String p = event.getProperty();
|
|
||||||
if (p.equals(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND)
|
|
||||||
|| p.equals(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT)) {
|
|
||||||
initializeViewerColors(fPreviewViewer);
|
|
||||||
}
|
|
||||||
|
|
||||||
fPreviewViewer.getDocument().set(fPreviewViewer.getDocument().get());
|
fPreviewViewer.getDocument().set(fPreviewViewer.getDocument().get());
|
||||||
fPreviewViewer.invalidateTextPresentation();
|
fPreviewViewer.invalidateTextPresentation();
|
||||||
//fPreviewViewer.refresh();
|
//fPreviewViewer.refresh();
|
||||||
|
@ -487,56 +308,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
return fPreviewViewer.getControl();
|
return fPreviewViewer.getControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Color fBackgroundColor;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes the given viewer's colors.
|
|
||||||
*
|
|
||||||
* @param viewer the viewer to be initialized
|
|
||||||
*/
|
|
||||||
protected void initializeViewerColors(ISourceViewer viewer) {
|
|
||||||
|
|
||||||
IPreferenceStore store = fOverlayStore;
|
|
||||||
if (store != null) {
|
|
||||||
|
|
||||||
StyledText styledText = viewer.getTextWidget();
|
|
||||||
|
|
||||||
// ---------- background color ----------------------
|
|
||||||
Color color =
|
|
||||||
store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT)
|
|
||||||
? null
|
|
||||||
: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND, styledText.getDisplay());
|
|
||||||
styledText.setBackground(color);
|
|
||||||
|
|
||||||
if (fBackgroundColor != null)
|
|
||||||
fBackgroundColor.dispose();
|
|
||||||
|
|
||||||
fBackgroundColor = color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a color from the information stored in the given preference store.
|
|
||||||
* Returns <code>null</code> if there is no such information available.
|
|
||||||
*/
|
|
||||||
private Color createColor(IPreferenceStore store, String key, Display display) {
|
|
||||||
|
|
||||||
RGB rgb = null;
|
|
||||||
|
|
||||||
if (store.contains(key)) {
|
|
||||||
|
|
||||||
if (store.isDefault(key))
|
|
||||||
rgb = PreferenceConverter.getDefaultColor(store, key);
|
|
||||||
else
|
|
||||||
rgb = PreferenceConverter.getColor(store, key);
|
|
||||||
|
|
||||||
if (rgb != null)
|
|
||||||
return new Color(display, rgb);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// sets enabled flag for a control and all its sub-tree
|
// sets enabled flag for a control and all its sub-tree
|
||||||
protected static void setEnabled(Control control, boolean enable) {
|
protected static void setEnabled(Control control, boolean enable) {
|
||||||
control.setEnabled(enable);
|
control.setEnabled(enable);
|
||||||
|
@ -548,34 +319,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList fNumberFields = new ArrayList();
|
|
||||||
private ModifyListener fNumberFieldListener = new ModifyListener() {
|
|
||||||
public void modifyText(ModifyEvent e) {
|
|
||||||
numberFieldChanged((Text) e.widget);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
protected void handleAppearanceColorListSelection() {
|
|
||||||
int i = fAppearanceColorList.getSelectionIndex();
|
|
||||||
String key = fAppearanceColorListModel[i][1];
|
|
||||||
RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
|
|
||||||
fAppearanceColorEditor.setColorValue(rgb);
|
|
||||||
updateAppearanceColorWidgets(fAppearanceColorListModel[i][2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateAppearanceColorWidgets(String systemDefaultKey) {
|
|
||||||
if (systemDefaultKey == null) {
|
|
||||||
fAppearanceColorDefault.setSelection(false);
|
|
||||||
fAppearanceColorDefault.setVisible(false);
|
|
||||||
fAppearanceColorEditor.getButton().setEnabled(true);
|
|
||||||
} else {
|
|
||||||
boolean systemDefault= fOverlayStore.getBoolean(systemDefaultKey);
|
|
||||||
fAppearanceColorDefault.setSelection(systemDefault);
|
|
||||||
fAppearanceColorDefault.setVisible(true);
|
|
||||||
fAppearanceColorEditor.getButton().setEnabled(!systemDefault);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Control createAppearancePage(Composite parent) {
|
private Control createAppearancePage(Composite parent) {
|
||||||
|
|
||||||
Composite behaviorComposite = new Composite(parent, SWT.NONE);
|
Composite behaviorComposite = new Composite(parent, SWT.NONE);
|
||||||
|
@ -583,127 +326,11 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
layout.numColumns = 2;
|
layout.numColumns = 2;
|
||||||
behaviorComposite.setLayout(layout);
|
behaviorComposite.setLayout(layout);
|
||||||
|
|
||||||
String label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.tabWidth"); //$NON-NLS-1$
|
String label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBrackets"); //$NON-NLS-1$
|
||||||
addTextField(behaviorComposite, label, CSourceViewerConfiguration.PREFERENCE_TAB_WIDTH, 3, 0, true);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.marginColumn"); //$NON-NLS-1$
|
|
||||||
addTextField(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.showOverviewRuler"); //$NON-NLS-1$
|
|
||||||
addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, 0);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.showLineNumbers"); //$NON-NLS-1$
|
|
||||||
addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBrackets"); //$NON-NLS-1$
|
|
||||||
addCheckBox(behaviorComposite, label, CEditor.MATCHING_BRACKETS, 0);
|
addCheckBox(behaviorComposite, label, CEditor.MATCHING_BRACKETS, 0);
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.highlightLine"); //$NON-NLS-1$
|
|
||||||
addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, 0);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.printMargin"); //$NON-NLS-1$
|
|
||||||
addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, 0);
|
|
||||||
|
|
||||||
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.tabSpace"); //$NON-NLS-1$
|
label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.tabSpace"); //$NON-NLS-1$
|
||||||
addCheckBox(behaviorComposite, label, CEditor.SPACES_FOR_TABS, 0);
|
addCheckBox(behaviorComposite, label, CEditor.SPACES_FOR_TABS, 0);
|
||||||
|
|
||||||
label= PreferencesMessages.getString("CEditorPreferencePage.accessibility.disableCustomCarets"); //$NON-NLS-1$
|
|
||||||
Button master= addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS, 0);
|
|
||||||
|
|
||||||
label= PreferencesMessages.getString("CEditorPreferencePage.accessibility.wideCaret"); //$NON-NLS-1$
|
|
||||||
Button slave= addCheckBox(behaviorComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_WIDE_CARET, 0);
|
|
||||||
createDependency(master, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS, slave);
|
|
||||||
|
|
||||||
|
|
||||||
Label l = new Label(behaviorComposite, SWT.LEFT);
|
|
||||||
GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
|
|
||||||
gd.horizontalSpan = 2;
|
|
||||||
gd.heightHint = convertHeightInCharsToPixels(1) / 2;
|
|
||||||
l.setLayoutData(gd);
|
|
||||||
|
|
||||||
l = new Label(behaviorComposite, SWT.LEFT);
|
|
||||||
l.setText(PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.appearanceColorOptions")); //$NON-NLS-1$
|
|
||||||
gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
|
|
||||||
gd.horizontalSpan = 2;
|
|
||||||
l.setLayoutData(gd);
|
|
||||||
|
|
||||||
Composite editorComposite = new Composite(behaviorComposite, SWT.NONE);
|
|
||||||
layout = new GridLayout();
|
|
||||||
layout.numColumns = 2;
|
|
||||||
layout.marginHeight = 0;
|
|
||||||
layout.marginWidth = 0;
|
|
||||||
editorComposite.setLayout(layout);
|
|
||||||
gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
|
|
||||||
gd.horizontalSpan = 2;
|
|
||||||
editorComposite.setLayoutData(gd);
|
|
||||||
|
|
||||||
fAppearanceColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
|
|
||||||
gd = new GridData(GridData.FILL_BOTH);
|
|
||||||
gd.heightHint = convertHeightInCharsToPixels(5);
|
|
||||||
fAppearanceColorList.setLayoutData(gd);
|
|
||||||
|
|
||||||
Composite stylesComposite = new Composite(editorComposite, SWT.NONE);
|
|
||||||
layout = new GridLayout();
|
|
||||||
layout.marginHeight = 0;
|
|
||||||
layout.marginWidth = 0;
|
|
||||||
layout.numColumns = 2;
|
|
||||||
stylesComposite.setLayout(layout);
|
|
||||||
stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
|
|
||||||
|
|
||||||
l = new Label(stylesComposite, SWT.LEFT);
|
|
||||||
l.setText(PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.Color")); //$NON-NLS-1$
|
|
||||||
gd = new GridData();
|
|
||||||
gd.horizontalAlignment = GridData.BEGINNING;
|
|
||||||
l.setLayoutData(gd);
|
|
||||||
|
|
||||||
fAppearanceColorEditor = new ColorEditor(stylesComposite);
|
|
||||||
Button foregroundColorButton = fAppearanceColorEditor.getButton();
|
|
||||||
gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
gd.horizontalAlignment = GridData.BEGINNING;
|
|
||||||
foregroundColorButton.setLayoutData(gd);
|
|
||||||
|
|
||||||
SelectionListener colorDefaultSelectionListener= new SelectionListener() {
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
boolean systemDefault= fAppearanceColorDefault.getSelection();
|
|
||||||
fAppearanceColorEditor.getButton().setEnabled(!systemDefault);
|
|
||||||
|
|
||||||
int i= fAppearanceColorList.getSelectionIndex();
|
|
||||||
String key= fAppearanceColorListModel[i][2];
|
|
||||||
if (key != null)
|
|
||||||
fOverlayStore.setValue(key, systemDefault);
|
|
||||||
}
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
fAppearanceColorDefault= new Button(stylesComposite, SWT.CHECK);
|
|
||||||
fAppearanceColorDefault.setText(PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.systemDefault")); //$NON-NLS-1$
|
|
||||||
gd= new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
gd.horizontalAlignment= GridData.BEGINNING;
|
|
||||||
gd.horizontalSpan= 2;
|
|
||||||
fAppearanceColorDefault.setLayoutData(gd);
|
|
||||||
fAppearanceColorDefault.setVisible(false);
|
|
||||||
fAppearanceColorDefault.addSelectionListener(colorDefaultSelectionListener);
|
|
||||||
|
|
||||||
fAppearanceColorList.addSelectionListener(new SelectionListener() {
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
// do nothing
|
|
||||||
}
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
handleAppearanceColorListSelection();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
foregroundColorButton.addSelectionListener(new SelectionListener() {
|
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
// do nothing
|
|
||||||
}
|
|
||||||
public void widgetSelected(SelectionEvent e) {
|
|
||||||
int i = fAppearanceColorList.getSelectionIndex();
|
|
||||||
String key = fAppearanceColorListModel[i][1];
|
|
||||||
|
|
||||||
PreferenceConverter.setValue(fOverlayStore, key, fAppearanceColorEditor.getColorValue());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return behaviorComposite;
|
return behaviorComposite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -732,14 +359,10 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
* @see PreferencePage#createContents(Composite)
|
* @see PreferencePage#createContents(Composite)
|
||||||
*/
|
*/
|
||||||
protected Control createContents(Composite parent) {
|
protected Control createContents(Composite parent) {
|
||||||
initializeDefaultColors();
|
|
||||||
|
|
||||||
fCEditorHoverConfigurationBlock= new CEditorHoverConfigurationBlock(this, fOverlayStore);
|
fCEditorHoverConfigurationBlock= new CEditorHoverConfigurationBlock(this, fOverlayStore);
|
||||||
fFoldingConfigurationBlock= new FoldingConfigurationBlock(fOverlayStore);
|
fFoldingConfigurationBlock= new FoldingConfigurationBlock(fOverlayStore);
|
||||||
|
|
||||||
fOverlayStore.load();
|
|
||||||
fOverlayStore.start();
|
|
||||||
|
|
||||||
TabFolder folder = new TabFolder(parent, SWT.NONE);
|
TabFolder folder = new TabFolder(parent, SWT.NONE);
|
||||||
folder.setLayout(new TabFolderLayout());
|
folder.setLayout(new TabFolderLayout());
|
||||||
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
|
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||||
|
@ -779,14 +402,9 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
layout.numColumns = 2;
|
layout.numColumns = 2;
|
||||||
navComposite.setLayout(layout);
|
navComposite.setLayout(layout);
|
||||||
|
|
||||||
Button navCheck = new Button(navComposite,SWT.CHECK);
|
String label = PreferencesMessages.getString("CEditorPreferencePage.Enable_Hyperlink_Navigation"); //$NON-NLS-1$
|
||||||
navCheck.setText(PreferencesMessages.getString("CEditorPreferencePage.Enable_Hyperlink_Navigation")); //$NON-NLS-1$
|
addCheckBox(navComposite, label, CEditor.HYPERLINK_ENABLED, 0);
|
||||||
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
gd.horizontalSpan = 2;
|
|
||||||
navCheck.setLayoutData(gd);
|
|
||||||
navCheck.addSelectionListener(fCheckBoxListener);
|
|
||||||
fCheckBoxes.put(navCheck, CEditor.HYPERLINK_ENABLED);
|
|
||||||
|
|
||||||
WorkbenchHelp.setHelp(navComposite, ICHelpContextIds.C_EDITOR_NAVIGATION_PAGE);
|
WorkbenchHelp.setHelp(navComposite, ICHelpContextIds.C_EDITOR_NAVIGATION_PAGE);
|
||||||
return navComposite;
|
return navComposite;
|
||||||
}
|
}
|
||||||
|
@ -804,68 +422,17 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
for (int i = 0; i < fAppearanceColorListModel.length; i++)
|
|
||||||
fAppearanceColorList.add(fAppearanceColorListModel[i][0]);
|
|
||||||
fAppearanceColorList.getDisplay().asyncExec(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
fAppearanceColorList.select(0);
|
|
||||||
handleAppearanceColorListSelection();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
fFoldingConfigurationBlock.initialize();
|
fFoldingConfigurationBlock.initialize();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeFields() {
|
|
||||||
|
|
||||||
Iterator e = fColorButtons.keySet().iterator();
|
|
||||||
while (e.hasNext()) {
|
|
||||||
ColorEditor c = (ColorEditor) e.next();
|
|
||||||
String key = (String) fColorButtons.get(c);
|
|
||||||
RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
|
|
||||||
c.setColorValue(rgb);
|
|
||||||
}
|
|
||||||
|
|
||||||
e = fCheckBoxes.keySet().iterator();
|
|
||||||
while (e.hasNext()) {
|
|
||||||
Button b = (Button) e.next();
|
|
||||||
String key = (String) fCheckBoxes.get(b);
|
|
||||||
b.setSelection(fOverlayStore.getBoolean(key));
|
|
||||||
}
|
|
||||||
|
|
||||||
e = fTextFields.keySet().iterator();
|
|
||||||
while (e.hasNext()) {
|
|
||||||
Text t = (Text) e.next();
|
|
||||||
String key = (String) fTextFields.get(t);
|
|
||||||
t.setText(fOverlayStore.getString(key));
|
|
||||||
}
|
|
||||||
|
|
||||||
RGB rgb = PreferenceConverter.getColor(fOverlayStore, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND);
|
|
||||||
fBackgroundColorEditor.setColorValue(rgb);
|
|
||||||
|
|
||||||
boolean default_ = fOverlayStore.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT);
|
|
||||||
fBackgroundDefaultRadioButton.setSelection(default_);
|
|
||||||
fBackgroundCustomRadioButton.setSelection(!default_);
|
|
||||||
fBackgroundColorButton.setEnabled(!default_);
|
|
||||||
|
|
||||||
// Update slaves
|
|
||||||
Iterator iter= fMasterSlaveListeners.iterator();
|
|
||||||
while (iter.hasNext()) {
|
|
||||||
SelectionListener listener= (SelectionListener)iter.next();
|
|
||||||
listener.widgetSelected(null);
|
|
||||||
}
|
|
||||||
//updateAutoactivationControls();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @see PreferencePage#performOk()
|
* @see PreferencePage#performOk()
|
||||||
*/
|
*/
|
||||||
public boolean performOk() {
|
public boolean performOk() {
|
||||||
fCEditorHoverConfigurationBlock.performOk();
|
fCEditorHoverConfigurationBlock.performOk();
|
||||||
fFoldingConfigurationBlock.performOk();
|
fFoldingConfigurationBlock.performOk();
|
||||||
fOverlayStore.propagate();
|
return super.performOk();
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -876,7 +443,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
fOverlayStore.loadDefaults();
|
fOverlayStore.loadDefaults();
|
||||||
initializeFields();
|
initializeFields();
|
||||||
handleListSelection();
|
handleListSelection();
|
||||||
handleAppearanceColorListSelection();
|
|
||||||
|
|
||||||
fCEditorHoverConfigurationBlock.performDefaults();
|
fCEditorHoverConfigurationBlock.performDefaults();
|
||||||
fFoldingConfigurationBlock.performDefaults();
|
fFoldingConfigurationBlock.performDefaults();
|
||||||
|
@ -905,105 +471,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// private Control addColorButton(Composite parent, String label, String key, int indentation) {
|
|
||||||
//
|
|
||||||
// Composite composite = new Composite(parent, SWT.NONE);
|
|
||||||
// GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
// gd.horizontalSpan = 2;
|
|
||||||
// composite.setLayoutData(gd);
|
|
||||||
//
|
|
||||||
// GridLayout layout = new GridLayout();
|
|
||||||
// layout.numColumns = 2;
|
|
||||||
// layout.marginWidth = 0;
|
|
||||||
// layout.marginHeight = 0;
|
|
||||||
// composite.setLayout(layout);
|
|
||||||
//
|
|
||||||
// Label labelControl = new Label(composite, SWT.NONE);
|
|
||||||
// labelControl.setText(label);
|
|
||||||
//
|
|
||||||
// gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
// gd.horizontalIndent = indentation;
|
|
||||||
// labelControl.setLayoutData(gd);
|
|
||||||
//
|
|
||||||
// ColorEditor editor = new ColorEditor(composite);
|
|
||||||
// Button button = editor.getButton();
|
|
||||||
// button.setData(editor);
|
|
||||||
//
|
|
||||||
// gd = new GridData();
|
|
||||||
// gd.horizontalAlignment = GridData.END;
|
|
||||||
// button.setLayoutData(gd);
|
|
||||||
// button.addSelectionListener(fColorButtonListener);
|
|
||||||
//
|
|
||||||
// fColorButtons.put(editor, key);
|
|
||||||
//
|
|
||||||
// return composite;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private Group addGroupBox(Composite parent, String label, int nColumns ){
|
|
||||||
// Group group = new Group(parent, SWT.NONE);
|
|
||||||
// group.setText(label);
|
|
||||||
// GridLayout layout = new GridLayout();
|
|
||||||
// GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
// gd.horizontalSpan = 2;
|
|
||||||
// layout.numColumns = nColumns;
|
|
||||||
// group.setLayout(layout);
|
|
||||||
// group.setLayoutData(gd);
|
|
||||||
// return group;
|
|
||||||
// }
|
|
||||||
|
|
||||||
private Button addCheckBox(Composite parent, String label, String key, int indentation) {
|
|
||||||
Button checkBox = new Button(parent, SWT.CHECK);
|
|
||||||
checkBox.setText(label);
|
|
||||||
|
|
||||||
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
gd.horizontalIndent = indentation;
|
|
||||||
gd.horizontalSpan = 2;
|
|
||||||
checkBox.setLayoutData(gd);
|
|
||||||
checkBox.addSelectionListener(fCheckBoxListener);
|
|
||||||
|
|
||||||
fCheckBoxes.put(checkBox, key);
|
|
||||||
|
|
||||||
return checkBox;
|
|
||||||
}
|
|
||||||
|
|
||||||
// private Button addRadioButton(Composite parent, String label, String key, int indentation) {
|
|
||||||
// Button radioButton = new Button(parent, SWT.RADIO);
|
|
||||||
// radioButton.setText(label);
|
|
||||||
//
|
|
||||||
// GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
|
||||||
// gd.horizontalIndent = indentation;
|
|
||||||
// gd.horizontalSpan = 2;
|
|
||||||
// radioButton.setLayoutData(gd);
|
|
||||||
// radioButton.addSelectionListener(fCheckBoxListener);
|
|
||||||
//
|
|
||||||
// fCheckBoxes.put(radioButton, key);
|
|
||||||
//
|
|
||||||
// return radioButton;
|
|
||||||
// }
|
|
||||||
|
|
||||||
private Control addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) {
|
|
||||||
|
|
||||||
Label labelControl = new Label(composite, SWT.NONE);
|
|
||||||
labelControl.setText(label);
|
|
||||||
GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
|
|
||||||
gd.horizontalIndent = indentation;
|
|
||||||
labelControl.setLayoutData(gd);
|
|
||||||
|
|
||||||
Text textControl = new Text(composite, SWT.BORDER | SWT.SINGLE);
|
|
||||||
gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
|
|
||||||
gd.widthHint = convertWidthInCharsToPixels(textLimit + 1);
|
|
||||||
textControl.setLayoutData(gd);
|
|
||||||
textControl.setTextLimit(textLimit);
|
|
||||||
fTextFields.put(textControl, key);
|
|
||||||
if (isNumber) {
|
|
||||||
fNumberFields.add(textControl);
|
|
||||||
textControl.addModifyListener(fNumberFieldListener);
|
|
||||||
} else {
|
|
||||||
textControl.addModifyListener(fTextFieldListener);
|
|
||||||
}
|
|
||||||
|
|
||||||
return textControl;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String loadPreviewContentFromFile(String filename) {
|
private String loadPreviewContentFromFile(String filename) {
|
||||||
String line;
|
String line;
|
||||||
|
@ -1029,40 +496,4 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
||||||
return buffer.toString();
|
return buffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void numberFieldChanged(Text textControl) {
|
|
||||||
String number = textControl.getText();
|
|
||||||
IStatus status = validatePositiveNumber(number);
|
|
||||||
if (!status.matches(IStatus.ERROR))
|
|
||||||
fOverlayStore.setValue((String) fTextFields.get(textControl), number);
|
|
||||||
updateStatus(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
private IStatus validatePositiveNumber(String number) {
|
|
||||||
StatusInfo status = new StatusInfo();
|
|
||||||
if (number.length() == 0) {
|
|
||||||
status.setError(PreferencesMessages.getString("CEditorPreferencePage.empty_input")); //$NON-NLS-1$
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
int value = Integer.parseInt(number);
|
|
||||||
if (value < 0)
|
|
||||||
status.setError(PreferencesMessages.getString("CEditorPreferencePage.invalid_input")); //$NON-NLS-1$
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
status.setError(PreferencesMessages.getString("CEditorPreferencePage.invalid_input")); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
void updateStatus(IStatus status) {
|
|
||||||
if (!status.matches(IStatus.ERROR)) {
|
|
||||||
for (int i = 0; i < fNumberFields.size(); i++) {
|
|
||||||
Text text = (Text) fNumberFields.get(i);
|
|
||||||
IStatus s = validatePositiveNumber(text.getText());
|
|
||||||
status = StatusUtil.getMoreSevere(s, status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
status= StatusUtil.getMoreSevere(fCEditorHoverConfigurationBlock.getStatus(), status);
|
|
||||||
setValid(!status.matches(IStatus.ERROR));
|
|
||||||
StatusUtil.applyToStatusLine(this, status);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ import org.eclipse.jface.text.source.ISourceViewer;
|
||||||
import org.eclipse.jface.text.source.SourceViewerConfiguration;
|
import org.eclipse.jface.text.source.SourceViewerConfiguration;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +52,7 @@ import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
/**
|
/**
|
||||||
* Configuration for an <code>SourceViewer</code> which shows C code.
|
* Configuration for an <code>SourceViewer</code> which shows C code.
|
||||||
*/
|
*/
|
||||||
public class CSourceViewerConfiguration extends SourceViewerConfiguration {
|
public class CSourceViewerConfiguration extends TextSourceViewerConfiguration {
|
||||||
|
|
||||||
/** Key used to look up display tab width */
|
/** Key used to look up display tab width */
|
||||||
public final static String PREFERENCE_TAB_WIDTH= "org.eclipse.cdt.editor.tab.width"; //$NON-NLS-1$
|
public final static String PREFERENCE_TAB_WIDTH= "org.eclipse.cdt.editor.tab.width"; //$NON-NLS-1$
|
||||||
|
@ -67,6 +68,7 @@ public class CSourceViewerConfiguration extends SourceViewerConfiguration {
|
||||||
* @param editor the editor in which the configured viewer will reside
|
* @param editor the editor in which the configured viewer will reside
|
||||||
*/
|
*/
|
||||||
public CSourceViewerConfiguration(CTextTools tools, CEditor editor) {
|
public CSourceViewerConfiguration(CTextTools tools, CEditor editor) {
|
||||||
|
super(CUIPlugin.getDefault().getCombinedPreferenceStore());
|
||||||
fTextTools= tools;
|
fTextTools= tools;
|
||||||
fEditor= editor;
|
fEditor= editor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
||||||
import org.eclipse.jface.preference.IPreferenceStore;
|
import org.eclipse.jface.preference.IPreferenceStore;
|
||||||
import org.eclipse.ui.editors.text.EditorsUI;
|
import org.eclipse.ui.editors.text.EditorsUI;
|
||||||
import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
|
import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
|
||||||
|
import org.eclipse.ui.texteditor.AbstractTextEditor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements the setting of the CUI initial preference store settings.
|
* This class implements the setting of the CUI initial preference store settings.
|
||||||
|
@ -35,9 +36,6 @@ public class CUIPreferenceInitializer extends AbstractPreferenceInitializer {
|
||||||
final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore();
|
final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore();
|
||||||
|
|
||||||
PreferenceConstants.initializeDefaultValues(store);
|
PreferenceConstants.initializeDefaultValues(store);
|
||||||
EditorsUI.useAnnotationsPreferencePage(store);
|
|
||||||
EditorsUI.useAnnotationsPreferencePage(store);
|
|
||||||
AbstractDecoratedTextEditorPreferenceConstants.initializeDefaultValues(store);
|
|
||||||
CPluginPreferencePage.initDefaults(store);
|
CPluginPreferencePage.initDefaults(store);
|
||||||
BuildConsolePreferencePage.initDefaults(store);
|
BuildConsolePreferencePage.initDefaults(store);
|
||||||
WorkInProgressPreferencePage.initDefaults(store);
|
WorkInProgressPreferencePage.initDefaults(store);
|
||||||
|
@ -45,6 +43,47 @@ public class CUIPreferenceInitializer extends AbstractPreferenceInitializer {
|
||||||
CView.initDefaults(store);
|
CView.initDefaults(store);
|
||||||
CEditorPreferencePage.initDefaults(store);
|
CEditorPreferencePage.initDefaults(store);
|
||||||
CodeAssistPreferencePage.initDefaults(store);
|
CodeAssistPreferencePage.initDefaults(store);
|
||||||
|
|
||||||
|
// We need to do this remove any keys that might have been
|
||||||
|
// in the CUIPlugin store prior to the move of the CEditor setting
|
||||||
|
// All of those settings are now in the workbench "All TextEditor" preference Page.
|
||||||
|
// Later we should remove this calls, after CDT-3.0
|
||||||
|
EditorsUI.useAnnotationsPreferencePage(store);
|
||||||
|
EditorsUI.useQuickDiffPreferencePage(store);
|
||||||
|
useTextEditorPreferencePage(store);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* reset to default, those constants are no longer maintain int CUIPlugin store.
|
||||||
|
*/
|
||||||
|
public static void useTextEditorPreferencePage(IPreferenceStore store) {
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_WIDE_CARET);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR);
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR);
|
||||||
|
store.setToDefault(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND);
|
||||||
|
store.setToDefault(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND);
|
||||||
|
store.setToDefault(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT);
|
||||||
|
store.setToDefault(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT);
|
||||||
|
|
||||||
|
store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue