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
|
||||
Fix PR 82322, PR 78330
|
||||
* plugin.xml
|
||||
|
|
|
@ -95,14 +95,12 @@ import org.eclipse.ui.part.IShowInSource;
|
|||
import org.eclipse.ui.part.IShowInTargetList;
|
||||
import org.eclipse.ui.part.ShowInContext;
|
||||
import org.eclipse.ui.texteditor.AnnotationPreference;
|
||||
import org.eclipse.ui.texteditor.ChainedPreferenceStore;
|
||||
import org.eclipse.ui.texteditor.ContentAssistAction;
|
||||
import org.eclipse.ui.texteditor.IDocumentProvider;
|
||||
import org.eclipse.ui.texteditor.IEditorStatusLine;
|
||||
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
|
||||
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
|
||||
import org.eclipse.ui.texteditor.MarkerAnnotation;
|
||||
import org.eclipse.ui.texteditor.MarkerUtilities;
|
||||
import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
|
||||
import org.eclipse.ui.texteditor.TextOperationAction;
|
||||
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
|
||||
|
@ -151,8 +149,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
protected ISelectionChangedListener fStatusLineClearer;
|
||||
protected ISelectionChangedListener fSelectionUpdateListener;
|
||||
|
||||
/** The property change listener */
|
||||
private PropertyChangeListener fPropertyChangeListener = new PropertyChangeListener();
|
||||
/** The mouse listener */
|
||||
private MouseClickListener fMouseListener;
|
||||
|
||||
|
@ -209,24 +205,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
*/
|
||||
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.
|
||||
*/
|
||||
|
@ -246,12 +224,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
setRulerContextMenuId("#CEditorRulerContext"); //$NON-NLS-1$
|
||||
setOutlinerContextMenuId("#CEditorOutlinerContext"); //$NON-NLS-1$
|
||||
|
||||
IPreferenceStore[] stores = new IPreferenceStore[2];
|
||||
stores[0] = CUIPlugin.getDefault().getPreferenceStore();
|
||||
stores[1] = EditorsUI.getPreferenceStore();
|
||||
IPreferenceStore store = new ChainedPreferenceStore(stores);
|
||||
setPreferenceStore(store);
|
||||
|
||||
setPreferenceStore(CUIPlugin.getDefault().getCombinedPreferenceStore());
|
||||
fCEditorErrorTickUpdater = new CEditorErrorTickUpdater(this);
|
||||
}
|
||||
|
||||
|
@ -383,6 +356,13 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
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 (fProjectionModelUpdater != null)
|
||||
fProjectionModelUpdater.uninstall();
|
||||
|
@ -412,10 +392,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
protected void selectionChanged() {
|
||||
if (getSelectionProvider() == null)
|
||||
return;
|
||||
// ISourceReference element= computeHighlightRangeSourceReference();
|
||||
// if (getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE))
|
||||
// synchronizeOutlinePage(element);
|
||||
// setSelection(element, false);
|
||||
updateStatusLine();
|
||||
}
|
||||
|
||||
|
@ -458,12 +434,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
ISourceReference reference = (ISourceReference) element;
|
||||
// set hightlight range
|
||||
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;
|
||||
}
|
||||
|
||||
if (fPropertyChangeListener != null) {
|
||||
Preferences preferences = CCorePlugin.getDefault().getPluginPreferences();
|
||||
preferences.removePropertyChangeListener(fPropertyChangeListener);
|
||||
IPreferenceStore preferenceStore = getPreferenceStore();
|
||||
preferenceStore.removePropertyChangeListener(fPropertyChangeListener);
|
||||
fPropertyChangeListener = null;
|
||||
}
|
||||
|
||||
final CSourceViewer sourceViewer = (CSourceViewer) getSourceViewer();
|
||||
if (fSelectionUpdateListener != null) {
|
||||
getSelectionProvider().addSelectionChangedListener(fSelectionUpdateListener);
|
||||
|
@ -837,11 +799,6 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors());
|
||||
fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$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();
|
||||
|
||||
fProjectionModelUpdater= CUIPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider();
|
||||
|
@ -861,65 +818,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
if (isTabConversionEnabled())
|
||||
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)
|
||||
* @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.
|
||||
*
|
||||
|
@ -1452,11 +1337,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS
|
|||
* @see org.eclipse.cdt.internal.ui.editor.IReconcilingParticipant#reconciled()
|
||||
*/
|
||||
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.
|
||||
// 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();
|
||||
|
||||
public void createControl(Composite parent){
|
||||
super.createControl(parent);
|
||||
fOverlayStore.load();
|
||||
fOverlayStore.start();
|
||||
super.createControl(parent);
|
||||
initializeFields();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,13 +9,8 @@ import java.io.BufferedReader;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
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.dialogs.StatusInfo;
|
||||
import org.eclipse.cdt.internal.ui.dialogs.StatusUtil;
|
||||
import org.eclipse.cdt.internal.ui.editor.CEditor;
|
||||
import org.eclipse.cdt.internal.ui.text.CSourceViewerConfiguration;
|
||||
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.PreferenceConstants;
|
||||
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.PreferenceConverter;
|
||||
import org.eclipse.jface.preference.PreferencePage;
|
||||
import org.eclipse.jface.resource.JFaceResources;
|
||||
import org.eclipse.jface.text.Document;
|
||||
import org.eclipse.jface.text.IDocument;
|
||||
import org.eclipse.jface.text.IDocumentPartitioner;
|
||||
import org.eclipse.jface.text.source.ISourceViewer;
|
||||
import org.eclipse.jface.text.source.SourceViewer;
|
||||
import org.eclipse.jface.util.IPropertyChangeListener;
|
||||
import org.eclipse.jface.util.PropertyChangeEvent;
|
||||
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.SelectionListener;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.graphics.RGB;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
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.List;
|
||||
import org.eclipse.swt.widgets.TabFolder;
|
||||
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.help.WorkbenchHelp;
|
||||
import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
|
||||
import org.eclipse.ui.texteditor.AbstractTextEditor;
|
||||
|
||||
/*
|
||||
* 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$
|
||||
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$
|
||||
};
|
||||
|
||||
protected final String[][] fAppearanceColorListModel = new String[][] { { PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.lineNumberColor"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_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.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 final String[][] fAppearanceColorListModel = new String[][] {
|
||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBracketColor"), CEditor.MATCHING_BRACKETS_COLOR, null }, //$NON-NLS-1$
|
||||
{PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.linkedPositionColor"), CEditor.LINKED_POSITION_COLOR, null }, //$NON-NLS-1$
|
||||
};
|
||||
|
||||
protected OverlayPreferenceStore fOverlayStore;
|
||||
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.
|
||||
*
|
||||
|
@ -127,37 +77,20 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
|
||||
protected List fList;
|
||||
protected ColorEditor fForegroundColorEditor;
|
||||
protected ColorEditor fBackgroundColorEditor;
|
||||
private Button fBackgroundDefaultRadioButton;
|
||||
protected Button fBackgroundCustomRadioButton;
|
||||
protected Button fBackgroundColorButton;
|
||||
protected Button fBoldCheckBox;
|
||||
protected SourceViewer fPreviewViewer;
|
||||
|
||||
protected List fAppearanceColorList;
|
||||
protected ColorEditor fAppearanceColorEditor;
|
||||
Button fAppearanceColorDefault;
|
||||
private CEditorHoverConfigurationBlock fCEditorHoverConfigurationBlock;
|
||||
private FoldingConfigurationBlock fFoldingConfigurationBlock;
|
||||
|
||||
|
||||
public CEditorPreferencePage() {
|
||||
super();
|
||||
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();
|
||||
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.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.STRING, CEditor.MATCHING_BRACKETS_COLOR));
|
||||
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.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, 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.BOOLEAN, PreferenceConstants.EDITOR_TASK_TAG_BOLD));
|
||||
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);
|
||||
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(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));
|
||||
|
||||
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);
|
||||
|
||||
// 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);
|
||||
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.setText(PreferencesMessages.getString("CEditorPreferencePage.colorPage.foreground")); //$NON-NLS-1$
|
||||
label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
|
||||
Composite editorComposite = new Composite(colorComposite, SWT.NULL);
|
||||
layout = new GridLayout();
|
||||
GridLayout layout = new GridLayout();
|
||||
layout.numColumns = 2;
|
||||
layout.marginHeight = 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() {
|
||||
public void widgetDefaultSelected(SelectionEvent e) {
|
||||
// do nothing
|
||||
|
@ -460,8 +289,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT));
|
||||
fPreviewViewer.setEditable(false);
|
||||
|
||||
initializeViewerColors(fPreviewViewer);
|
||||
|
||||
String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
|
||||
IDocument document = new Document(content);
|
||||
IDocumentPartitioner partitioner = fCTextTools.createDocumentPartitioner();
|
||||
|
@ -472,12 +299,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
|
||||
fOverlayStore.addPropertyChangeListener(new IPropertyChangeListener() {
|
||||
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.invalidateTextPresentation();
|
||||
//fPreviewViewer.refresh();
|
||||
|
@ -487,56 +308,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
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
|
||||
protected static void setEnabled(Control control, boolean 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) {
|
||||
|
||||
Composite behaviorComposite = new Composite(parent, SWT.NONE);
|
||||
|
@ -583,127 +326,11 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
layout.numColumns = 2;
|
||||
behaviorComposite.setLayout(layout);
|
||||
|
||||
String label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.tabWidth"); //$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$
|
||||
String label = PreferencesMessages.getString("CEditorPreferencePage.behaviorPage.matchingBrackets"); //$NON-NLS-1$
|
||||
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$
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -732,14 +359,10 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
* @see PreferencePage#createContents(Composite)
|
||||
*/
|
||||
protected Control createContents(Composite parent) {
|
||||
initializeDefaultColors();
|
||||
|
||||
fCEditorHoverConfigurationBlock= new CEditorHoverConfigurationBlock(this, fOverlayStore);
|
||||
fFoldingConfigurationBlock= new FoldingConfigurationBlock(fOverlayStore);
|
||||
|
||||
fOverlayStore.load();
|
||||
fOverlayStore.start();
|
||||
|
||||
TabFolder folder = new TabFolder(parent, SWT.NONE);
|
||||
folder.setLayout(new TabFolderLayout());
|
||||
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
|
@ -779,13 +402,8 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
layout.numColumns = 2;
|
||||
navComposite.setLayout(layout);
|
||||
|
||||
Button navCheck = new Button(navComposite,SWT.CHECK);
|
||||
navCheck.setText(PreferencesMessages.getString("CEditorPreferencePage.Enable_Hyperlink_Navigation")); //$NON-NLS-1$
|
||||
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
|
||||
gd.horizontalSpan = 2;
|
||||
navCheck.setLayoutData(gd);
|
||||
navCheck.addSelectionListener(fCheckBoxListener);
|
||||
fCheckBoxes.put(navCheck, CEditor.HYPERLINK_ENABLED);
|
||||
String label = PreferencesMessages.getString("CEditorPreferencePage.Enable_Hyperlink_Navigation"); //$NON-NLS-1$
|
||||
addCheckBox(navComposite, label, CEditor.HYPERLINK_ENABLED, 0);
|
||||
|
||||
WorkbenchHelp.setHelp(navComposite, ICHelpContextIds.C_EDITOR_NAVIGATION_PAGE);
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
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()
|
||||
*/
|
||||
public boolean performOk() {
|
||||
fCEditorHoverConfigurationBlock.performOk();
|
||||
fFoldingConfigurationBlock.performOk();
|
||||
fOverlayStore.propagate();
|
||||
return true;
|
||||
return super.performOk();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -876,7 +443,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
fOverlayStore.loadDefaults();
|
||||
initializeFields();
|
||||
handleListSelection();
|
||||
handleAppearanceColorListSelection();
|
||||
|
||||
fCEditorHoverConfigurationBlock.performDefaults();
|
||||
fFoldingConfigurationBlock.performDefaults();
|
||||
|
@ -905,105 +471,6 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
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) {
|
||||
String line;
|
||||
|
@ -1029,40 +496,4 @@ public class CEditorPreferencePage extends PreferencePage implements IWorkbenchP
|
|||
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.swt.SWT;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
|
||||
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.
|
||||
*/
|
||||
public class CSourceViewerConfiguration extends SourceViewerConfiguration {
|
||||
public class CSourceViewerConfiguration extends TextSourceViewerConfiguration {
|
||||
|
||||
/** Key used to look up display tab width */
|
||||
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
|
||||
*/
|
||||
public CSourceViewerConfiguration(CTextTools tools, CEditor editor) {
|
||||
super(CUIPlugin.getDefault().getCombinedPreferenceStore());
|
||||
fTextTools= tools;
|
||||
fEditor= editor;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
|||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.ui.editors.text.EditorsUI;
|
||||
import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
|
||||
import org.eclipse.ui.texteditor.AbstractTextEditor;
|
||||
|
||||
/**
|
||||
* 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();
|
||||
|
||||
PreferenceConstants.initializeDefaultValues(store);
|
||||
EditorsUI.useAnnotationsPreferencePage(store);
|
||||
EditorsUI.useAnnotationsPreferencePage(store);
|
||||
AbstractDecoratedTextEditorPreferenceConstants.initializeDefaultValues(store);
|
||||
CPluginPreferencePage.initDefaults(store);
|
||||
BuildConsolePreferencePage.initDefaults(store);
|
||||
WorkInProgressPreferencePage.initDefaults(store);
|
||||
|
@ -45,6 +43,47 @@ public class CUIPreferenceInitializer extends AbstractPreferenceInitializer {
|
|||
CView.initDefaults(store);
|
||||
CEditorPreferencePage.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