+++ /dev/null
-/*******************************************************************************
- * 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 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.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.PlatformUI;
-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.lineNumberForegroundColor"),
- AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR },
- //$NON-NLS-1$
- {
- 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 fShowInTextCheckBox;
-
- 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(PHPeclipsePlugin.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.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,
- 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_P_RTRIM_ON_SAVE));
-
- 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 = PHPeclipsePlugin.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);
- String 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.showLineNumbers"); //$NON-NLS-1$
- addCheckBox(
- appearanceComposite,
- label,
- AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_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.p_rtrim_on_save");
- addCheckBox(group, label, PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE, 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();
- PHPeclipsePlugin.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 <code>Label</code>-
- * second element is of type <code>Text</code> Use
- * <code>getLabelControl</code> and <code>getTextControl</code> 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) {
- PHPeclipsePlugin.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