X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java deleted file mode 100644 index d1a88f9..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java +++ /dev/null @@ -1,2050 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package net.sourceforge.phpdt.internal.ui.preferences; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -//import java.text.Collator; -import java.util.ArrayList; -//import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -//import java.util.SortedSet; -import java.util.StringTokenizer; -//import java.util.TreeSet; - -import net.sourceforge.phpdt.core.JavaCore; -import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds; -import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo; -import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil; -import net.sourceforge.phpdt.internal.ui.text.IPHPPartitions; -import net.sourceforge.phpdt.internal.ui.text.PreferencesAdapter; -import net.sourceforge.phpdt.internal.ui.util.TabFolderLayout; -import net.sourceforge.phpdt.ui.PreferenceConstants; -import net.sourceforge.phpdt.ui.text.JavaTextTools; -import net.sourceforge.phpdt.ui.text.PHPSourceViewerConfiguration; -//import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.phpeditor.EditorUtility; -import net.sourceforge.phpeclipse.phpeditor.JavaSourceViewer; -import net.sourceforge.phpeclipse.preferences.ColorEditor; -import net.sourceforge.phpeclipse.ui.WebUI; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Preferences; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.Dialog; -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.source.SourceViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -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.Font; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; -//import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Link; -import org.eclipse.swt.widgets.List; -import org.eclipse.swt.widgets.Listener; -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.PlatformUI; -import org.eclipse.ui.dialogs.PreferencesUtil; -import org.eclipse.ui.editors.text.EditorsUI; -import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; -import org.eclipse.ui.texteditor.AnnotationPreference; -import org.eclipse.ui.texteditor.ChainedPreferenceStore; -import org.eclipse.ui.texteditor.MarkerAnnotationPreferences; - - -/** - * The page for setting the editor options. - */ -public class JavaEditorPreferencePage extends PreferencePage implements - IWorkbenchPreferencePage { - private static final String BOLD = PreferenceConstants.EDITOR_BOLD_SUFFIX; - - private static final String COMPILER_TASK_TAGS = JavaCore.COMPILER_TASK_TAGS; - - private static final String DELIMITER = PreferencesMessages - .getString("JavaEditorPreferencePage.navigation.delimiter"); //$NON-NLS-1$ - - /** The keys of the overlay store. */ - public final OverlayPreferenceStore.OverlayKey[] fKeys; - - private final String[][] fSyntaxColorListModel = new String[][] { - { - PreferencesMessages - .getString("JavaEditorPreferencePage.multiLineComment"), - PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.singleLineComment"), - PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR }, - //$NON-NLS-1$ - { PreferencesMessages.getString("JavaEditorPreferencePage.tags"), - PreferenceConstants.EDITOR_PHP_TAG_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.keywords"), - PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, - { - PreferencesMessages - .getString("JavaEditorPreferencePage.functionNames"), - PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.variables"), - PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.variables_dollar"), - PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.constants"), - PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR }, - //$NON-NLS-1$ - { PreferencesMessages.getString("JavaEditorPreferencePage.types"), - PreferenceConstants.EDITOR_PHP_TYPE_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.strings_dq"), - PreferenceConstants.EDITOR_STRING_COLOR_DQ }, - { - PreferencesMessages - .getString("JavaEditorPreferencePage.strings_sq"), - PreferenceConstants.EDITOR_STRING_COLOR_SQ }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.operators"), - PreferenceConstants.EDITOR_PHP_OPERATOR_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.returnKeyword"), - PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR }, - { PreferencesMessages.getString("JavaEditorPreferencePage.braces"), - PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.phpDocKeywords"), - PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.phpDocHtmlTags"), - PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.phpDocLinks"), - PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.phpDocOthers"), PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$ - }; - - private final String[][] fAppearanceColorListModel = new String[][] { - { - PreferencesMessages - .getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"), - PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.currentLineHighlighColor"), - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.printMarginColor2"), - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.findScopeColor2"), - PreferenceConstants.EDITOR_FIND_SCOPE_COLOR }, - //$NON-NLS-1$ - { - PreferencesMessages - .getString("JavaEditorPreferencePage.linkColor2"), PreferenceConstants.EDITOR_LINK_COLOR }, //$NON-NLS-1$ - }; - - // private final String[][] fAnnotationColorListModel; - - // private final String[][] fAnnotationDecorationListModel = new String[][]{ - // { - // PreferencesMessages - // .getString("JavaEditorPreferencePage.AnnotationDecoration.NONE"), - // AnnotationPreference.STYLE_NONE}, - // //$NON-NLS-1$ - // { - // PreferencesMessages - // .getString("JavaEditorPreferencePage.AnnotationDecoration.SQUIGGLIES"), - // AnnotationPreference.STYLE_SQUIGGLIES}, - // //$NON-NLS-1$ - // { - // PreferencesMessages - // .getString("JavaEditorPreferencePage.AnnotationDecoration.UNDERLINE"), - // AnnotationPreference.STYLE_UNDERLINE}, - // //$NON-NLS-1$ - // { - // PreferencesMessages - // .getString("JavaEditorPreferencePage.AnnotationDecoration.BOX"), - // AnnotationPreference.STYLE_BOX}, - // //$NON-NLS-1$ - // { - // PreferencesMessages - // .getString("JavaEditorPreferencePage.AnnotationDecoration.IBEAM"), - // AnnotationPreference.STYLE_IBEAM} //$NON-NLS-1$ - // }; - private OverlayPreferenceStore fOverlayStore; - - private JavaTextTools fJavaTextTools; - - private JavaEditorHoverConfigurationBlock fJavaEditorHoverConfigurationBlock; - - private FoldingConfigurationBlock fFoldingConfigurationBlock; - - private Map fColorButtons = new HashMap(); - - private 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()); - } - }; - - private 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()); - } - }; - - private ArrayList fNumberFields = new ArrayList(); - - private ModifyListener fNumberFieldListener = new ModifyListener() { - public void modifyText(ModifyEvent e) { - numberFieldChanged((Text) e.widget); - } - }; - - private List fSyntaxColorList; - - private List fAppearanceColorList; - - // private List fContentAssistColorList; - //private List fAnnotationList; - - private ColorEditor fSyntaxForegroundColorEditor; - - private ColorEditor fAppearanceColorEditor; - - //private ColorEditor fAnnotationForegroundColorEditor; - - //private ColorEditor fContentAssistColorEditor; - - private ColorEditor fBackgroundColorEditor; - - private Button fBackgroundDefaultRadioButton; - - private Button fBackgroundCustomRadioButton; - - private Button fBackgroundColorButton; - - private Button fBoldCheckBox; - - // private Button fAddJavaDocTagsButton; - - private Button fEscapeStringsButtonDQ; - - private Button fEscapeStringsButtonSQ; - - // private Button fGuessMethodArgumentsButton; - private SourceViewer fPreviewViewer; - - private Color fBackgroundColor; - - //private Control fAutoInsertDelayText; - - //private Control fAutoInsertJavaTriggerText; - - //private Control fAutoInsertJavaDocTriggerText; - - //private Label fAutoInsertDelayLabel; - - //private Label fAutoInsertJavaTriggerLabel; - - //private Label fAutoInsertJavaDocTriggerLabel; - - //private Button; - - //private Combo fDecorationStyleCombo; - - //private Button fHighlightInTextCheckBox; - - //private Button fShowInOverviewRulerCheckBox; - - //private Button fShowInVerticalRulerCheckBox; - - private Text fBrowserLikeLinksKeyModifierText; - - private Button fBrowserLikeLinksCheckBox; - - private StatusInfo fBrowserLikeLinksKeyModifierStatus; - - // private Button fCompletionInsertsRadioButton; - // private Button fCompletionOverwritesRadioButton; - // private Button fStickyOccurrencesButton; - /** - * Creates a new preference page. - */ - public JavaEditorPreferencePage() { - setDescription(PreferencesMessages - .getString("JavaEditorPreferencePage.description")); //$NON-NLS-1$ - setPreferenceStore(WebUI.getDefault().getPreferenceStore()); - MarkerAnnotationPreferences markerAnnotationPreferences = new MarkerAnnotationPreferences(); - fKeys = createOverlayStoreKeys(markerAnnotationPreferences); - fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), fKeys); - // fAnnotationColorListModel = - // createAnnotationTypeListModel(markerAnnotationPreferences); - } - - private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys( - MarkerAnnotationPreferences preferences) { - ArrayList overlayKeys = new ArrayList(); - Iterator e = preferences.getAnnotationPreferences().iterator(); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_FOREGROUND_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_BACKGROUND_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.INT, - PreferenceConstants.EDITOR_TAB_WIDTH)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD)); - - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_TAG_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_TAG_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_TYPE_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_TYPE_BOLD)); - - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_STRING_COLOR_DQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_STRING_BOLD_DQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_STRING_COLOR_SQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_STRING_BOLD_SQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD)); - 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_DQ, - // PreferenceConstants.EDITOR_JAVA_METHOD_NAME_COLOR)); - // overlayKeys.add(new - // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, - // PreferenceConstants.EDITOR_JAVA_METHOD_NAME_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_OPERATOR_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_OPERATOR_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_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.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, - // PreferenceConstants.EDITOR_MARK_OCCURRENCES)); - // overlayKeys.add(new - // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, - // PreferenceConstants.EDITOR_STICKY_OCCURRENCES)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_FIND_SCOPE_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_LINK_COLOR)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_CORRECTION_INDICATION)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS)); - overlayKeys - .add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SPACES_FOR_TABS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_AUTOACTIVATION)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.INT, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_AUTOINSERT)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA)); - overlayKeys - .add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_ORDER_PROPOSALS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_CASE_SENSITIVITY)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_ADDIMPORT)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_INSERT_COMPLETION)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SMART_PASTE)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_CLOSE_STRINGS_DQ_PHP)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_CLOSE_STRINGS_SQ_PHP)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP)); - // overlayKeys - // .add(new OverlayPreferenceStore.OverlayKey( - // OverlayPreferenceStore.BOOLEAN, - // PreferenceConstants.EDITOR_CLOSE_BRACES)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_CLOSE_JAVADOCS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_WRAP_WORDS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_WRAP_STRINGS_DQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_WRAP_STRINGS_SQ)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ)); - - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_FORMAT_JAVADOCS)); - - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SMART_HOME_END)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE)); - // overlayKeys.add(new - // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, - // PreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIERS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIER_MASKS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER)); - overlayKeys - .add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK)); - while (e.hasNext()) { - AnnotationPreference info = (AnnotationPreference) e.next(); - overlayKeys - .add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, info - .getColorPreferenceKey())); - overlayKeys - .add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, info - .getTextPreferenceKey())); - if (info.getHighlightPreferenceKey() != null) - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, info - .getHighlightPreferenceKey())); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, info - .getOverviewRulerPreferenceKey())); - if (info.getVerticalRulerPreferenceKey() != null) - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, info - .getVerticalRulerPreferenceKey())); - if (info.getTextStylePreferenceKey() != null) - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, info - .getTextStylePreferenceKey())); - } - OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys - .size()]; - overlayKeys.toArray(keys); - return keys; - } /* - * @see IWorkbenchPreferencePage#init() - */ - - public void init(IWorkbench workbench) { - } - - /* - * @see PreferencePage#createControl(Composite) - */ - public void createControl(Composite parent) { - super.createControl(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), - IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE); - } - - private void handleSyntaxColorListSelection() { - int i = fSyntaxColorList.getSelectionIndex(); - String key = fSyntaxColorListModel[i][1]; - RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); - fSyntaxForegroundColorEditor.setColorValue(rgb); - fBoldCheckBox.setSelection(fOverlayStore.getBoolean(key + BOLD)); - } - - private void handleAppearanceColorListSelection() { - int i = fAppearanceColorList.getSelectionIndex(); - String key = fAppearanceColorListModel[i][1]; - RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); - fAppearanceColorEditor.setColorValue(rgb); - } - - // private void handleAnnotationListSelection() { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][1]; - // RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); - // fAnnotationForegroundColorEditor.setColorValue(rgb); - // key = fAnnotationColorListModel[i][2]; - // boolean showInText = fOverlayStore.getBoolean(key); - // fShowInTextCheckBox.setSelection(showInText); - // key = fAnnotationColorListModel[i][6]; - // if (key != null) { - // fDecorationStyleCombo.setEnabled(showInText); - // for (int j = 0; j < fAnnotationDecorationListModel.length; j++) { - // String value = fOverlayStore.getString(key); - // if (fAnnotationDecorationListModel[j][1].equals(value)) { - // fDecorationStyleCombo.setText(fAnnotationDecorationListModel[j][0]); - // break; - // } - // } - // } else { - // fDecorationStyleCombo.setEnabled(false); - // fDecorationStyleCombo.setText(fAnnotationDecorationListModel[1][0]); // - // set - // // selection - // // to - // // squigglies - // // if - // // the - // // key - // // is - // // not - // // there - // // (legacy - // // support) - // } - // key = fAnnotationColorListModel[i][3]; - // fShowInOverviewRulerCheckBox.setSelection(fOverlayStore.getBoolean(key)); - // key = fAnnotationColorListModel[i][4]; - // if (key != null) { - // fHighlightInTextCheckBox.setSelection(fOverlayStore.getBoolean(key)); - // fHighlightInTextCheckBox.setEnabled(true); - // } else - // fHighlightInTextCheckBox.setEnabled(false); - // key = fAnnotationColorListModel[i][5]; - // if (key != null) { - // fShowInVerticalRulerCheckBox.setSelection(fOverlayStore.getBoolean(key)); - // fShowInVerticalRulerCheckBox.setEnabled(true); - // } else { - // fShowInVerticalRulerCheckBox.setSelection(true); - // fShowInVerticalRulerCheckBox.setEnabled(false); - // } - // } - private Control createSyntaxPage(Composite parent) { - Composite colorComposite = new Composite(parent, SWT.NULL); - colorComposite.setLayout(new GridLayout()); - Group backgroundComposite = new Group(colorComposite, - SWT.SHADOW_ETCHED_IN); - backgroundComposite.setLayout(new RowLayout()); - backgroundComposite.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.backgroundColor"));//$NON-NLS-1$ - SelectionListener backgroundSelectionListener = new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - boolean custom = fBackgroundCustomRadioButton.getSelection(); - fBackgroundColorButton.setEnabled(custom); - fOverlayStore.setValue( - PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, - !custom); - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }; - fBackgroundDefaultRadioButton = new Button(backgroundComposite, - SWT.RADIO | SWT.LEFT); - fBackgroundDefaultRadioButton.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.systemDefault")); //$NON-NLS-1$ - fBackgroundDefaultRadioButton - .addSelectionListener(backgroundSelectionListener); - fBackgroundCustomRadioButton = new Button(backgroundComposite, - SWT.RADIO | SWT.LEFT); - fBackgroundCustomRadioButton.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.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("JavaEditorPreferencePage.foreground")); //$NON-NLS-1$ - label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - Composite editorComposite = new Composite(colorComposite, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginWidth = 0; - editorComposite.setLayout(layout); - GridData gd = new GridData(GridData.FILL_BOTH); - editorComposite.setLayoutData(gd); - fSyntaxColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL - | SWT.BORDER); - gd = new GridData(GridData.FILL_BOTH); - gd.heightHint = convertHeightInCharsToPixels(5); - fSyntaxColorList.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)); - label = new Label(stylesComposite, SWT.LEFT); - label.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.color")); //$NON-NLS-1$ - gd = new GridData(); - gd.horizontalAlignment = GridData.BEGINNING; - label.setLayoutData(gd); - fSyntaxForegroundColorEditor = new ColorEditor(stylesComposite); - Button foregroundColorButton = fSyntaxForegroundColorEditor.getButton(); - gd = new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment = GridData.BEGINNING; - foregroundColorButton.setLayoutData(gd); - fBoldCheckBox = new Button(stylesComposite, SWT.CHECK); - fBoldCheckBox.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.bold")); //$NON-NLS-1$ - gd = new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment = GridData.BEGINNING; - gd.horizontalSpan = 2; - fBoldCheckBox.setLayoutData(gd); - label = new Label(colorComposite, SWT.LEFT); - label.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.preview")); //$NON-NLS-1$ - label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - Control previewer = createPreviewer(colorComposite); - gd = new GridData(GridData.FILL_BOTH); - gd.widthHint = convertWidthInCharsToPixels(20); - gd.heightHint = convertHeightInCharsToPixels(5); - previewer.setLayoutData(gd); - fSyntaxColorList.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - handleSyntaxColorListSelection(); - } - }); - foregroundColorButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - int i = fSyntaxColorList.getSelectionIndex(); - String key = fSyntaxColorListModel[i][1]; - PreferenceConverter.setValue(fOverlayStore, key, - fSyntaxForegroundColorEditor.getColorValue()); - } - }); - fBackgroundColorButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - PreferenceConverter.setValue(fOverlayStore, - PreferenceConstants.EDITOR_BACKGROUND_COLOR, - fBackgroundColorEditor.getColorValue()); - } - }); - fBoldCheckBox.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - int i = fSyntaxColorList.getSelectionIndex(); - String key = fSyntaxColorListModel[i][1]; - fOverlayStore - .setValue(key + BOLD, fBoldCheckBox.getSelection()); - } - }); - return colorComposite; - } - - private Control createPreviewer(Composite parent) { - Preferences coreStore = createTemporaryCorePreferenceStore(); - fJavaTextTools = new JavaTextTools(fOverlayStore, coreStore, false); - IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore(); - IPreferenceStore store = new ChainedPreferenceStore( - new IPreferenceStore[] { - fOverlayStore, - new PreferencesAdapter( - createTemporaryCorePreferenceStore()), - generalTextStore }); - - fPreviewViewer = new JavaSourceViewer(parent, null, null, false, - SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER, store); - JavaTextTools tools = WebUI.getDefault().getJavaTextTools(); - PHPSourceViewerConfiguration configuration = new PHPSourceViewerConfiguration( - tools.getColorManager(), store, null, - IPHPPartitions.PHP_PARTITIONING); - // PHPSourceViewerConfiguration configuration =new - // PHPSourceViewerConfiguration(fJavaTextTools, null, - // IPHPPartitions.PHP_PARTITIONING); - fPreviewViewer.configure(configuration); - - Font font = JFaceResources - .getFont(PreferenceConstants.EDITOR_TEXT_FONT); - fPreviewViewer.getTextWidget().setFont(font); - new JavaSourcePreviewerUpdater(fPreviewViewer, configuration, store); - fPreviewViewer.setEditable(false); - String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$ - IDocument document = new Document(content); - fJavaTextTools.setupJavaDocumentPartitioner(document, - IPHPPartitions.PHP_PARTITIONING); - fPreviewViewer.setDocument(document); - return fPreviewViewer.getControl(); - } - - private Preferences createTemporaryCorePreferenceStore() { - Preferences result = new Preferences(); - result.setValue(COMPILER_TASK_TAGS, "TASK"); //$NON-NLS-1$ - return result; - } - - private Control createAppearancePage(Composite parent) { - Composite appearanceComposite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - appearanceComposite.setLayout(layout); - - // Inserts a hyper-link to the General Editor preferences page - // TODO Can probably be removed post 1.5.0? - String label = PreferencesMessages - .getString("JavaEditorPreferencePage.appearanceTabLink"); - Link link = new Link(appearanceComposite, SWT.NONE); - GridData gridPosition = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gridPosition.horizontalSpan = 2; - link.setLayoutData(gridPosition); - - link.setText(label); - link.addListener(SWT.Selection, new Listener () { - public void handleEvent(Event event) { - String u = event.text; - PreferencesUtil.createPreferenceDialogOn(getShell(), u, null, null); - } - }); - String tooltip = PreferencesMessages - .getString("JavaEditorPreferencePage.appearanceTabTooltip"); - link.setToolTipText(tooltip); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$ - addTextField(appearanceComposite, label, - PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$ - addTextField( - appearanceComposite, - label, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, - 3, 0, true); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$ - addCheckBox( - appearanceComposite, - label, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, - 0); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, - PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$ - addCheckBox( - appearanceComposite, - label, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, - 0); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.showPrintMargin"); //$NON-NLS-1$ - addCheckBox( - appearanceComposite, - label, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, - 0); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.markOccurrences"); //$NON-NLS-1$ - // Button master= addCheckBox(appearanceComposite, label, - // PreferenceConstants.EDITOR_MARK_OCCURRENCES, 0); //$NON-NLS-1$ - label = PreferencesMessages - .getString("JavaEditorPreferencePage.stickyOccurrences"); //$NON-NLS-1$ - // fStickyOccurrencesButton= addCheckBox(appearanceComposite, label, - // PreferenceConstants.EDITOR_STICKY_OCCURRENCES, 0); //$NON-NLS-1$ - // createDependency(master, fStickyOccurrencesButton); - Label l = new Label(appearanceComposite, SWT.LEFT); - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan = 2; - gd.heightHint = convertHeightInCharsToPixels(1) / 2; - l.setLayoutData(gd); - l = new Label(appearanceComposite, SWT.LEFT); - l.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.appearanceOptions")); //$NON-NLS-1$ - gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan = 2; - l.setLayoutData(gd); - Composite editorComposite = new Composite(appearanceComposite, 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.VERTICAL_ALIGN_BEGINNING - | GridData.FILL_HORIZONTAL); - gd.heightHint = convertHeightInCharsToPixels(8); - 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("JavaEditorPreferencePage.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); - 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 appearanceComposite; - } - - // private Control createAnnotationsPage(Composite parent) { - // Composite composite = new Composite(parent, SWT.NULL); - // GridLayout layout = new GridLayout(); - // layout.numColumns = 2; - // composite.setLayout(layout); - // String text = PreferencesMessages - // .getString("JavaEditorPreferencePage.analyseAnnotationsWhileTyping"); - // //$NON-NLS-1$ - // addCheckBox(composite, text, - // PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0); - // text = PreferencesMessages - // .getString("JavaEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$ - // addCheckBox(composite, text, - // PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0); - // addFiller(composite); - // Label label = new Label(composite, SWT.LEFT); - // label.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotationPresentationOptions")); - // //$NON-NLS-1$ - // GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - // gd.horizontalSpan = 2; - // label.setLayoutData(gd); - // Composite editorComposite = new Composite(composite, 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); - // fAnnotationList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL - // | SWT.BORDER); - // gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING - // | GridData.FILL_HORIZONTAL); - // gd.heightHint = convertHeightInCharsToPixels(10); - // fAnnotationList.setLayoutData(gd); - // Composite optionsComposite = new Composite(editorComposite, SWT.NONE); - // layout = new GridLayout(); - // layout.marginHeight = 0; - // layout.marginWidth = 0; - // layout.numColumns = 2; - // optionsComposite.setLayout(layout); - // optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - // fShowInTextCheckBox = new Button(optionsComposite, SWT.CHECK); - // fShowInTextCheckBox.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotations.showInText")); - // //$NON-NLS-1$ - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // gd.horizontalSpan = 2; - // fShowInTextCheckBox.setLayoutData(gd); - // fDecorationStyleCombo = new Combo(optionsComposite, SWT.READ_ONLY); - // for (int i = 0; i < fAnnotationDecorationListModel.length; i++) - // fDecorationStyleCombo.add(fAnnotationDecorationListModel[i][0]); - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // gd.horizontalSpan = 2; - // gd.horizontalIndent = 20; - // fDecorationStyleCombo.setLayoutData(gd); - // fHighlightInTextCheckBox = new Button(optionsComposite, SWT.CHECK); - // fHighlightInTextCheckBox.setText(PreferencesMessages - // .getString("TextEditorPreferencePage.annotations.highlightInText")); - // //$NON-NLS-1$ - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // gd.horizontalSpan = 2; - // fHighlightInTextCheckBox.setLayoutData(gd); - // fShowInOverviewRulerCheckBox = new Button(optionsComposite, SWT.CHECK); - // fShowInOverviewRulerCheckBox.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotations.showInOverviewRuler")); - // //$NON-NLS-1$ - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // gd.horizontalSpan = 2; - // fShowInOverviewRulerCheckBox.setLayoutData(gd); - // fShowInVerticalRulerCheckBox = new Button(optionsComposite, SWT.CHECK); - // fShowInVerticalRulerCheckBox.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotations.showInVerticalRuler")); - // //$NON-NLS-1$ - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // gd.horizontalSpan = 2; - // fShowInVerticalRulerCheckBox.setLayoutData(gd); - // label = new Label(optionsComposite, SWT.LEFT); - // label.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotations.color")); //$NON-NLS-1$ - // gd = new GridData(); - // gd.horizontalAlignment = GridData.BEGINNING; - // label.setLayoutData(gd); - // fAnnotationForegroundColorEditor = new ColorEditor(optionsComposite); - // Button foregroundColorButton = - // fAnnotationForegroundColorEditor.getButton(); - // gd = new GridData(GridData.FILL_HORIZONTAL); - // gd.horizontalAlignment = GridData.BEGINNING; - // foregroundColorButton.setLayoutData(gd); - // fAnnotationList.addSelectionListener(new SelectionListener() { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // handleAnnotationListSelection(); - // } - // }); - // fShowInTextCheckBox.addSelectionListener(new SelectionListener() { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][2]; - // fOverlayStore.setValue(key, fShowInTextCheckBox.getSelection()); - // String decorationKey = fAnnotationColorListModel[i][6]; - // fDecorationStyleCombo.setEnabled(decorationKey != null - // && fShowInTextCheckBox.getSelection()); - // } - // }); - // fHighlightInTextCheckBox.addSelectionListener(new SelectionListener() { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][4]; - // fOverlayStore.setValue(key, fHighlightInTextCheckBox.getSelection()); - // } - // }); - // fShowInOverviewRulerCheckBox.addSelectionListener(new SelectionListener() - // { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][3]; - // fOverlayStore - // .setValue(key, fShowInOverviewRulerCheckBox.getSelection()); - // } - // }); - // fShowInVerticalRulerCheckBox.addSelectionListener(new SelectionListener() - // { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][5]; - // fOverlayStore - // .setValue(key, fShowInVerticalRulerCheckBox.getSelection()); - // } - // }); - // foregroundColorButton.addSelectionListener(new SelectionListener() { - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][1]; - // PreferenceConverter.setValue(fOverlayStore, key, - // fAnnotationForegroundColorEditor.getColorValue()); - // } - // }); - // fDecorationStyleCombo.addSelectionListener(new SelectionListener() { - // /** - // * {@inheritdoc} - // */ - // public void widgetDefaultSelected(SelectionEvent e) { - // // do nothing - // } - // /** - // * {@inheritdoc} - // */ - // public void widgetSelected(SelectionEvent e) { - // int i = fAnnotationList.getSelectionIndex(); - // String key = fAnnotationColorListModel[i][6]; - // if (key != null) { - // for (int j = 0; j < fAnnotationDecorationListModel.length; j++) { - // if (fAnnotationDecorationListModel[j][0] - // .equals(fDecorationStyleCombo.getText())) { - // fOverlayStore.setValue(key, fAnnotationDecorationListModel[j][1]); - // break; - // } - // } - // } - // } - // }); - // return composite; - // } -// private String[][] createAnnotationTypeListModel( -// MarkerAnnotationPreferences preferences) { -// ArrayList listModelItems = new ArrayList(); -// SortedSet sortedPreferences = new TreeSet(new Comparator() { -// /* -// * @see java.util.Comparator#compare(java.lang.Object, -// * java.lang.Object) -// */ -// public int compare(Object o1, Object o2) { -// if (!(o2 instanceof AnnotationPreference)) -// return -1; -// if (!(o1 instanceof AnnotationPreference)) -// return 1; -// AnnotationPreference a1 = (AnnotationPreference) o1; -// AnnotationPreference a2 = (AnnotationPreference) o2; -// return Collator.getInstance().compare(a1.getPreferenceLabel(), -// a2.getPreferenceLabel()); -// } -// }); -// sortedPreferences.addAll(preferences.getAnnotationPreferences()); -// Iterator e = sortedPreferences.iterator(); -// while (e.hasNext()) { -// AnnotationPreference info = (AnnotationPreference) e.next(); -// listModelItems.add(new String[] { info.getPreferenceLabel(), -// info.getColorPreferenceKey(), info.getTextPreferenceKey(), -// info.getOverviewRulerPreferenceKey(), -// info.getHighlightPreferenceKey(), -// info.getVerticalRulerPreferenceKey(), -// info.getTextStylePreferenceKey() }); -// } -// String[][] items = new String[listModelItems.size()][]; -// listModelItems.toArray(items); -// return items; -// } - - private Control createTypingPage(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - composite.setLayout(layout); - String label; - // label = PreferencesMessages - // .getString("JavaEditorPreferencePage.overwriteMode"); - // //$NON-NLS-1$ - // addCheckBox(composite, label, - // PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE, 1); - // addFiller(composite); - // - // label = PreferencesMessages - // .getString("JavaEditorPreferencePage.smartHomeEnd"); - // //$NON-NLS-1$ - // addCheckBox(composite, label, - // PreferenceConstants.EDITOR_SMART_HOME_END, 1); - // - // label = PreferencesMessages - // .getString("JavaEditorPreferencePage.subWordNavigation"); - // //$NON-NLS-1$ - // addCheckBox(composite, label, - // PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, 1); - // addFiller(composite); - Group group = new Group(composite, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 2; - group.setLayout(layout); - group.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.typing.description")); //$NON-NLS-1$ - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.wrapWords");//$NON-NLS-1$ - addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_WORDS, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.wrapStringsDQ");//$NON-NLS-1$ - Button button = addCheckBox(group, label, - PreferenceConstants.EDITOR_WRAP_STRINGS_DQ, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.escapeStringsDQ");//$NON-NLS-1$ - fEscapeStringsButtonDQ = addCheckBox(group, label, - PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ, 1); - createDependency(button, fEscapeStringsButtonDQ); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.wrapStringsSQ");//$NON-NLS-1$ - button = addCheckBox(group, label, - PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.escapeStringsSQ"); - //$NON-NLS-1$ - fEscapeStringsButtonSQ = addCheckBox(group, label, - PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ, 1); - createDependency(button, fEscapeStringsButtonSQ); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.smartPaste"); - //$NON-NLS-1$ - addCheckBox(group, label, PreferenceConstants.EDITOR_SMART_PASTE, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.insertSpaceForTabs"); - //$NON-NLS-1$ - addCheckBox(group, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.closeStringsDQ"); - //$NON-NLS-1$ - addCheckBox(group, label, - PreferenceConstants.EDITOR_CLOSE_STRINGS_DQ_PHP, 1); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.closeStringsSQ"); - //$NON-NLS-1$ - addCheckBox(group, label, - PreferenceConstants.EDITOR_CLOSE_STRINGS_SQ_PHP, 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.closeBrackets"); - //$NON-NLS-1$ - addCheckBox(group, label, - PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, 1); - - // label = PreferencesMessages - // .getString("JavaEditorPreferencePage.closeBraces"); - // //$NON-NLS-1$ - // addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACES, - // 1); - - label = PreferencesMessages - .getString("JavaEditorPreferencePage.closeJavaDocs"); - //$NON-NLS-1$ - button = addCheckBox(group, label, - PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1); - label = PreferencesMessages - .getString("JavaEditorPreferencePage.formatJavaDocs"); - //$NON-NLS-1$ - button = addCheckBox(group, label, - PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1); - - // - // label = PreferencesMessages - // .getString("JavaEditorPreferencePage.addJavaDocTags"); - // //$NON-NLS-1$ - // fAddJavaDocTagsButton = addCheckBox(group, label, - // PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1); - // createDependency(button, fAddJavaDocTagsButton); - return composite; - } - -// private void addFiller(Composite composite) { -// Label filler = new Label(composite, SWT.LEFT); -// GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); -// gd.horizontalSpan = 2; -// gd.heightHint = convertHeightInCharsToPixels(1) / 2; -// filler.setLayoutData(gd); -// } - - private static void indent(Control control) { - GridData gridData = new GridData(); - gridData.horizontalIndent = 20; - control.setLayoutData(gridData); - } - - private static void createDependency(final Button master, - final Control slave) { - indent(slave); - master.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - slave.setEnabled(master.getSelection()); - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - } - -// private void addCompletionRadioButtons(Composite contentAssistComposite) { -// Composite completionComposite = new Composite(contentAssistComposite, -// SWT.NONE); -// GridData ccgd = new GridData(); -// ccgd.horizontalSpan = 2; -// completionComposite.setLayoutData(ccgd); -// GridLayout ccgl = new GridLayout(); -// ccgl.marginWidth = 0; -// ccgl.numColumns = 2; -// completionComposite.setLayout(ccgl); -// // SelectionListener completionSelectionListener= new SelectionAdapter() -// // { -// // public void widgetSelected(SelectionEvent e) { -// // boolean insert= fCompletionInsertsRadioButton.getSelection(); -// // fOverlayStore.setValue(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, -// // insert); -// // } -// // }; -// // -// // fCompletionInsertsRadioButton= new Button(completionComposite, -// // SWT.RADIO -// // | SWT.LEFT); -// // fCompletionInsertsRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionInserts")); -// // //$NON-NLS-1$ -// // fCompletionInsertsRadioButton.setLayoutData(new GridData()); -// // fCompletionInsertsRadioButton.addSelectionListener(completionSelectionListener); -// // -// // fCompletionOverwritesRadioButton= new Button(completionComposite, -// // SWT.RADIO | SWT.LEFT); -// // fCompletionOverwritesRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionOverwrites")); -// // //$NON-NLS-1$ -// // fCompletionOverwritesRadioButton.setLayoutData(new GridData()); -// // fCompletionOverwritesRadioButton.addSelectionListener(completionSelectionListener); -// } - - private Control createNavigationPage(Composite parent) { - Composite composite = new Composite(parent, SWT.NULL); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - composite.setLayout(layout); - String text = PreferencesMessages - .getString("JavaEditorPreferencePage.navigation.browserLikeLinks"); - //$NON-NLS-1$ - fBrowserLikeLinksCheckBox = addCheckBox(composite, text, - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, 0); - fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - boolean state = fBrowserLikeLinksCheckBox.getSelection(); - fBrowserLikeLinksKeyModifierText.setEnabled(state); - handleBrowserLikeLinksKeyModifierModified(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - // Text field for modifier string - text = PreferencesMessages - .getString("JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier"); - //$NON-NLS-1$ - fBrowserLikeLinksKeyModifierText = addTextField(composite, text, - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER, 20, - 0, false); - fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT); - - if (computeStateMask(fOverlayStore - .getString(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER)) == -1) { - // Fix possible illegal modifier string - int stateMask = fOverlayStore - .getInt(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK); - if (stateMask == -1) - fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$ - else - fBrowserLikeLinksKeyModifierText.setText(EditorUtility - .getModifierString(stateMask)); - } - fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() { - private boolean isModifierCandidate; - - public void keyPressed(KeyEvent e) { - isModifierCandidate = e.keyCode > 0 && e.character == 0 - && e.stateMask == 0; - } - - public void keyReleased(KeyEvent e) { - if (isModifierCandidate && e.stateMask > 0 - && e.stateMask == e.stateMask && e.character == 0) {// && - // e.time - // -time - // < - // 1000) - // { - String modifierString = fBrowserLikeLinksKeyModifierText - .getText(); - Point selection = fBrowserLikeLinksKeyModifierText - .getSelection(); - int i = selection.x - 1; - while (i > -1 - && Character.isWhitespace(modifierString.charAt(i))) { - i--; - } - boolean needsPrefixDelimiter = i > -1 - && !String.valueOf(modifierString.charAt(i)) - .equals(DELIMITER); - - i = selection.y; - while (i < modifierString.length() - && Character.isWhitespace(modifierString.charAt(i))) { - i++; - } - boolean needsPostfixDelimiter = i < modifierString.length() - && !String.valueOf(modifierString.charAt(i)) - .equals(DELIMITER); - - String insertString; - - if (needsPrefixDelimiter && needsPostfixDelimiter) - insertString = PreferencesMessages - .getFormattedString( - "JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter", - new String[] { Action - .findModifierString(e.stateMask) }); //$NON-NLS-1$ - else if (needsPrefixDelimiter) - insertString = PreferencesMessages - .getFormattedString( - "JavaEditorPreferencePage.navigation.insertDelimiterAndModifier", - new String[] { Action - .findModifierString(e.stateMask) }); //$NON-NLS-1$ - else if (needsPostfixDelimiter) - insertString = PreferencesMessages - .getFormattedString( - "JavaEditorPreferencePage.navigation.insertModifierAndDelimiter", - new String[] { Action - .findModifierString(e.stateMask) }); //$NON-NLS-1$ - else - insertString = Action.findModifierString(e.stateMask); - - fBrowserLikeLinksKeyModifierText.insert(insertString); - } - } - }); - - fBrowserLikeLinksKeyModifierText - .addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - handleBrowserLikeLinksKeyModifierModified(); - } - }); - return composite; - } - - private void handleBrowserLikeLinksKeyModifierModified() { - String modifiers = fBrowserLikeLinksKeyModifierText.getText(); - int stateMask = computeStateMask(modifiers); - if (fBrowserLikeLinksCheckBox.getSelection() - && (stateMask == -1 || (stateMask & SWT.SHIFT) != 0)) { - if (stateMask == -1) - fBrowserLikeLinksKeyModifierStatus = new StatusInfo( - IStatus.ERROR, - PreferencesMessages - .getFormattedString( - "JavaEditorPreferencePage.navigation.modifierIsNotValid", modifiers)); //$NON-NLS-1$ - else - fBrowserLikeLinksKeyModifierStatus = new StatusInfo( - IStatus.ERROR, - PreferencesMessages - .getString("JavaEditorPreferencePage.navigation.shiftIsDisabled")); - //$NON-NLS-1$ - setValid(false); - StatusUtil.applyToStatusLine(this, - fBrowserLikeLinksKeyModifierStatus); - } else { - fBrowserLikeLinksKeyModifierStatus = new StatusInfo(); - updateStatus(fBrowserLikeLinksKeyModifierStatus); - } - } - -// private IStatus getBrowserLikeLinksKeyModifierStatus() { -// if (fBrowserLikeLinksKeyModifierStatus == null) -// fBrowserLikeLinksKeyModifierStatus = new StatusInfo(); -// return fBrowserLikeLinksKeyModifierStatus; -// } - - /** - * Computes the state mask for the given modifier string. - * - * @param modifiers - * the string with the modifiers, separated by '+', '-', ';', ',' - * or '.' - * @return the state mask or -1 if the input is invalid - */ - private int computeStateMask(String modifiers) { - if (modifiers == null) - return -1; - if (modifiers.length() == 0) - return SWT.NONE; - int stateMask = 0; - StringTokenizer modifierTokenizer = new StringTokenizer(modifiers, - ",;.:+-* "); //$NON-NLS-1$ - while (modifierTokenizer.hasMoreTokens()) { - int modifier = EditorUtility - .findLocalizedModifier(modifierTokenizer.nextToken()); - if (modifier == 0 || (stateMask & modifier) == modifier) - return -1; - stateMask = stateMask | modifier; - } - return stateMask; - } - - /* - * @see PreferencePage#createContents(Composite) - */ - protected Control createContents(Composite parent) { - initializeDefaultColors(); - 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)); - TabItem item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.general")); //$NON-NLS-1$ - item.setControl(createAppearancePage(folder)); - item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.colors")); //$NON-NLS-1$ - item.setControl(createSyntaxPage(folder)); - - // item = new TabItem(folder, SWT.NONE); - // item.setText(PreferencesMessages - // .getString("JavaEditorPreferencePage.annotationsTab.title")); - // //$NON-NLS-1$ - // item.setControl(createAnnotationsPage(folder)); - item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.typing.tabTitle")); - //$NON-NLS-1$ - item.setControl(createTypingPage(folder)); - - item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.hoverTab.title")); - //$NON-NLS-1$ - fJavaEditorHoverConfigurationBlock = new JavaEditorHoverConfigurationBlock( - this, fOverlayStore); - item.setControl(fJavaEditorHoverConfigurationBlock - .createControl(folder)); - item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.navigationTab.title")); - // //$NON-NLS-1$ - item.setControl(createNavigationPage(folder)); - item = new TabItem(folder, SWT.NONE); - item.setText(PreferencesMessages - .getString("JavaEditorPreferencePage.folding.title")); //$NON-NLS-1$ - item.setControl(fFoldingConfigurationBlock.createControl(folder)); - - initialize(); - Dialog.applyDialogFont(folder); - return folder; - } - - private void initialize() { - initializeFields(); - for (int i = 0; i < fSyntaxColorListModel.length; i++) - fSyntaxColorList.add(fSyntaxColorListModel[i][0]); - fSyntaxColorList.getDisplay().asyncExec(new Runnable() { - public void run() { - if (fSyntaxColorList != null && !fSyntaxColorList.isDisposed()) { - fSyntaxColorList.select(0); - handleSyntaxColorListSelection(); - } - } - }); - for (int i = 0; i < fAppearanceColorListModel.length; i++) - fAppearanceColorList.add(fAppearanceColorListModel[i][0]); - fAppearanceColorList.getDisplay().asyncExec(new Runnable() { - public void run() { - if (fAppearanceColorList != null - && !fAppearanceColorList.isDisposed()) { - fAppearanceColorList.select(0); - handleAppearanceColorListSelection(); - } - } - }); - // for (int i = 0; i < fAnnotationColorListModel.length; i++) - // fAnnotationList.add(fAnnotationColorListModel[i][0]); - // fAnnotationList.getDisplay().asyncExec(new Runnable() { - // public void run() { - // if (fAnnotationList != null && !fAnnotationList.isDisposed()) { - // fAnnotationList.select(0); - // handleAnnotationListSelection(); - // } - // } - // }); - // for (int i= 0; i < fContentAssistColorListModel.length; i++) - // fContentAssistColorList.add(fContentAssistColorListModel[i][0]); - // fContentAssistColorList.getDisplay().asyncExec(new Runnable() { - // public void run() { - // if (fContentAssistColorList != null && - // !fContentAssistColorList.isDisposed()) { - // fContentAssistColorList.select(0); - // handleContentAssistColorListSelection(); - // } - // } - // }); - 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, - PreferenceConstants.EDITOR_BACKGROUND_COLOR); - fBackgroundColorEditor.setColorValue(rgb); - boolean default_ = fOverlayStore - .getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR); - fBackgroundDefaultRadioButton.setSelection(default_); - fBackgroundCustomRadioButton.setSelection(!default_); - fBackgroundColorButton.setEnabled(!default_); -// boolean closeJavaDocs = fOverlayStore -// .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS); - // fAddJavaDocTagsButton.setEnabled(closeJavaDocs); - fEscapeStringsButtonDQ.setEnabled(fOverlayStore - .getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_DQ)); - fEscapeStringsButtonSQ.setEnabled(fOverlayStore - .getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_SQ)); - // boolean fillMethodArguments= - // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES); - // fGuessMethodArgumentsButton.setEnabled(fillMethodArguments); - // boolean completionInserts= - // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_INSERT_COMPLETION); - // fCompletionInsertsRadioButton.setSelection(completionInserts); - // fCompletionOverwritesRadioButton.setSelection(! completionInserts); - // - fBrowserLikeLinksKeyModifierText.setEnabled(fBrowserLikeLinksCheckBox - .getSelection()); - // boolean markOccurrences= - // fOverlayStore.getBoolean(PreferenceConstants.EDITOR_MARK_OCCURRENCES); - // fStickyOccurrencesButton.setEnabled(markOccurrences); - updateAutoactivationControls(); - } - - private void initializeDefaultColors() { - if (!getPreferenceStore().contains( - PreferenceConstants.EDITOR_BACKGROUND_COLOR)) { - RGB rgb = getControl().getDisplay().getSystemColor( - SWT.COLOR_LIST_BACKGROUND).getRGB(); - PreferenceConverter.setDefault(fOverlayStore, - PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgb); - PreferenceConverter.setDefault(getPreferenceStore(), - PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgb); - } - if (!getPreferenceStore().contains( - PreferenceConstants.EDITOR_FOREGROUND_COLOR)) { - RGB rgb = getControl().getDisplay().getSystemColor( - SWT.COLOR_LIST_FOREGROUND).getRGB(); - PreferenceConverter.setDefault(fOverlayStore, - PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgb); - PreferenceConverter.setDefault(getPreferenceStore(), - PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgb); - } - } - - private void updateAutoactivationControls() { - // boolean autoactivation= - // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION); - // fAutoInsertDelayText.setEnabled(autoactivation); - // fAutoInsertDelayLabel.setEnabled(autoactivation); - // fAutoInsertJavaTriggerText.setEnabled(autoactivation); - // fAutoInsertJavaTriggerLabel.setEnabled(autoactivation); - // - // fAutoInsertJavaDocTriggerText.setEnabled(autoactivation); - // fAutoInsertJavaDocTriggerLabel.setEnabled(autoactivation); - } - - /* - * @see PreferencePage#performOk() - */ - public boolean performOk() { - // fJavaEditorHoverConfigurationBlock.performOk(); - fFoldingConfigurationBlock.performOk(); - fOverlayStore - .setValue( - PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK, - computeStateMask(fBrowserLikeLinksKeyModifierText - .getText())); - fOverlayStore.propagate(); - WebUI.getDefault().savePluginPreferences(); - return true; - } - - /* - * @see PreferencePage#performDefaults() - */ - protected void performDefaults() { - fOverlayStore.loadDefaults(); - initializeFields(); - handleSyntaxColorListSelection(); - handleAppearanceColorListSelection(); - // handleAnnotationListSelection(); - // handleContentAssistColorListSelection(); - // fJavaEditorHoverConfigurationBlock.performDefaults(); - fFoldingConfigurationBlock.performDefaults(); - super.performDefaults(); - fPreviewViewer.invalidateTextPresentation(); - } - - /* - * @see DialogPage#dispose() - */ - public void dispose() { - fFoldingConfigurationBlock.dispose(); - - if (fJavaTextTools != null) { - fJavaTextTools.dispose(); - fJavaTextTools = null; - } - if (fOverlayStore != null) { - fOverlayStore.stop(); - fOverlayStore = null; - } - if (fBackgroundColor != null && !fBackgroundColor.isDisposed()) - fBackgroundColor.dispose(); - super.dispose(); - } - - 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.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalIndent = indentation; - gd.horizontalSpan = 2; - checkBox.setLayoutData(gd); - checkBox.addSelectionListener(fCheckBoxListener); - fCheckBoxes.put(checkBox, key); - return checkBox; - } - - private Text addTextField(Composite composite, String label, String key, - int textLimit, int indentation, boolean isNumber) { - return getTextControl(addLabelledTextField(composite, label, key, - textLimit, indentation, isNumber)); - } - -// private static Label getLabelControl(Control[] labelledTextField) { -// return (Label) labelledTextField[0]; -// } - - private static Text getTextControl(Control[] labelledTextField) { - return (Text) labelledTextField[1]; - } - - /** - * Returns an array of size 2: - first element is of type Label- - * second element is of type Text Use - * getLabelControl and getTextControl to get - * the 2 controls. - */ - private Control[] addLabelledTextField(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.setText("0"); - textControl.addModifyListener(fNumberFieldListener); - } else { - textControl.addModifyListener(fTextFieldListener); - } - return new Control[] { labelControl, textControl }; - } - - private String loadPreviewContentFromFile(String filename) { - String line; - String separator = System.getProperty("line.separator"); //$NON-NLS-1$ - StringBuffer buffer = new StringBuffer(512); - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(getClass() - .getResourceAsStream(filename))); - while ((line = reader.readLine()) != null) { - buffer.append(line); - buffer.append(separator); - } - } catch (IOException io) { - WebUI.log(io); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - } - } - } - return buffer.toString(); - } - - private 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("JavaEditorPreferencePage.empty_input")); //$NON-NLS-1$ - } else { - try { - int value = Integer.parseInt(number); - if (value < 0) - status.setError(PreferencesMessages.getFormattedString( - "JavaEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ - } catch (NumberFormatException e) { - status.setError(PreferencesMessages.getFormattedString( - "JavaEditorPreferencePage.invalid_input", number)); //$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(fJavaEditorHoverConfigurationBlock.getStatus(), - // status); - // status= - // StatusUtil.getMoreSevere(getBrowserLikeLinksKeyModifierStatus(), - // status); - setValid(!status.matches(IStatus.ERROR)); - StatusUtil.applyToStatusLine(this, status); - } -} \ No newline at end of file