X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/PHPEditorPreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/PHPEditorPreferencePage.java index c273cfe..4195eee 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/PHPEditorPreferencePage.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/PHPEditorPreferencePage.java @@ -1,28 +1,29 @@ /********************************************************************** -Copyright (c) 2000, 2002 IBM Corp. 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 implementation -**********************************************************************/ - + Copyright (c) 2000, 2002 IBM Corp. 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 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.TreeSet; import net.sourceforge.phpdt.core.JavaCore; import net.sourceforge.phpdt.internal.ui.PHPUIMessages; -import net.sourceforge.phpdt.internal.ui.dialog.StatusInfo; -import net.sourceforge.phpdt.internal.ui.dialog.StatusUtil; +import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo; +import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil; import net.sourceforge.phpdt.internal.ui.util.TabFolderLayout; import net.sourceforge.phpdt.ui.PreferenceConstants; import net.sourceforge.phpdt.ui.text.JavaTextTools; @@ -30,7 +31,6 @@ import net.sourceforge.phpeclipse.IPreferenceConstants; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import net.sourceforge.phpeclipse.phpeditor.PHPSourceViewerConfiguration; import net.sourceforge.phpeclipse.preferences.ColorEditor; - import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.preference.IPreferenceStore; @@ -57,6 +57,7 @@ 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.Display; @@ -68,250 +69,403 @@ 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.texteditor.AnnotationPreference; +import org.eclipse.ui.texteditor.MarkerAnnotationPreferences; import org.eclipse.ui.texteditor.WorkbenchChainedTextFontFieldEditor; - /* * The page for setting the editor options. */ -public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - +public class PHPEditorPreferencePage extends PreferencePage + implements + IWorkbenchPreferencePage { private static final String BOLD = PreferenceConstants.EDITOR_BOLD_SUFFIX; private static final String COMPILER_TASK_TAGS = JavaCore.COMPILER_TASK_TAGS; - - public final OverlayPreferenceStore.OverlayKey[] fKeys = - new OverlayPreferenceStore.OverlayKey[] { - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_FOREGROUND_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_BACKGROUND_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.EDITOR_TAB_WIDTH), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVA_TAG_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVA_TAG_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_TYPE_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_TYPE_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_MATCHING_BRACKETS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CURRENT_LINE), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PRINT_MARGIN), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINK_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PROBLEM_INDICATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WARNING_INDICATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_INDICATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_BOOKMARK_INDICATION), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_UNKNOWN_INDICATION), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CORRECTION_INDICATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_OVERVIEW_RULER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_LINE_NUMBER_RULER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SPACES_FOR_TABS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_AUTOACTIVATION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_AUTOINSERT), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC), - new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_ORDER_PROPOSALS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_CASE_SENSITIVITY), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_ADDIMPORT), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_INSERT_COMPLETION), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_PASTE), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_BRACES), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_JAVADOCS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_STRINGS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FORMAT_JAVADOCS), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_HOME_END), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_DEFAULT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_NONE_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_SHIFT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_ALT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_ALT_SHIFT_HOVER), - new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_USERDEF_XMLFILE), - }; - - private final String[][] fSyntaxColorListModel = new String[][] { { PHPUIMessages.getString("PHPEditorPreferencePage.multiLineComment"), PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.singleLineComment"), PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.tags"), PreferenceConstants.EDITOR_JAVA_TAG_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.keywords"), PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.functionNames"), PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.strings"), PreferenceConstants.EDITOR_STRING_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.phpDocHtmlTags"), PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.phpDocLinks"), PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.phpDocOthers"), PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$ + // public final OverlayPreferenceStore.OverlayKey[] fKeys = + // new OverlayPreferenceStore.OverlayKey[] { + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_FOREGROUND_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_BACKGROUND_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, + // PreferenceConstants.EDITOR_TAB_WIDTH), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVA_TAG_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVA_TAG_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PHP_TYPE_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PHP_TYPE_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_STRING_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_STRING_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_MATCHING_BRACKETS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CURRENT_LINE_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CURRENT_LINE), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, + // PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PRINT_MARGIN), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_FIND_SCOPE_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_LINKED_POSITION_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_LINK_COLOR), + //// new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR), + //// new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_PROBLEM_INDICATION), + //// new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR), + //// new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_WARNING_INDICATION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_TASK_INDICATION_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_TASK_INDICATION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CORRECTION_INDICATION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_OVERVIEW_RULER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_LINE_NUMBER_RULER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SPACES_FOR_TABS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_AUTOACTIVATION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, + // PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_AUTOINSERT), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC), + // new OverlayPreferenceStore.OverlayKey( + // OverlayPreferenceStore.STRING, + // PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_ORDER_PROPOSALS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_CASE_SENSITIVITY), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_ADDIMPORT), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_INSERT_COMPLETION), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SMART_PASTE), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // IPreferenceConstants.PHP_USERDEF_XMLFILE), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_BRACES), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_JAVADOCS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_WRAP_STRINGS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_FORMAT_JAVADOCS), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_SMART_HOME_END), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_DEFAULT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_NONE_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CTRL_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_SHIFT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CTRL_ALT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), + // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // PreferenceConstants.EDITOR_ALT_SHIFT_HOVER), + // }; + /** The keys of the overlay store. */ + public final OverlayPreferenceStore.OverlayKey[] fKeys; + private final String[][] fSyntaxColorListModel = new String[][]{ + {PHPUIMessages.getString("PHPEditorPreferencePage.multiLineComment"), + PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.singleLineComment"), + PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.tags"), + PreferenceConstants.EDITOR_JAVA_TAG_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.keywords"), + PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.functionNames"), + PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.variables"), + PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.constants"), + PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.types"), + PreferenceConstants.EDITOR_PHP_TYPE_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.strings"), + PreferenceConstants.EDITOR_STRING_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.others"), + PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.phpDocKeywords"), + PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.phpDocHtmlTags"), + PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.phpDocLinks"), + PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.phpDocOthers"), + PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR} //$NON-NLS-1$ }; - - private final String[][] fAppearanceColorListModel = new String[][] { { PHPUIMessages.getString("PHPEditorPreferencePage.lineNumberForegroundColor"), PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.matchingBracketsHighlightColor2"), PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.currentLineHighlighColor"), PreferenceConstants.EDITOR_CURRENT_LINE_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColor2"), PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.findScopeColor2"), PreferenceConstants.EDITOR_FIND_SCOPE_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.linkedPositionColor2"), PreferenceConstants.EDITOR_LINKED_POSITION_COLOR }, //$NON-NLS-1$ - { - PHPUIMessages.getString("PHPEditorPreferencePage.linkColor2"), PreferenceConstants.EDITOR_LINK_COLOR }, //$NON-NLS-1$ + private final String[][] fAppearanceColorListModel = new String[][]{ + { + PHPUIMessages + .getString("PHPEditorPreferencePage.lineNumberForegroundColor"), + PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR}, + //$NON-NLS-1$ + { + PHPUIMessages + .getString("PHPEditorPreferencePage.matchingBracketsHighlightColor2"), + PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR}, + //$NON-NLS-1$ + { + PHPUIMessages + .getString("PHPEditorPreferencePage.currentLineHighlighColor"), + PreferenceConstants.EDITOR_CURRENT_LINE_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColor2"), + PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.findScopeColor2"), + PreferenceConstants.EDITOR_FIND_SCOPE_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.linkedPositionColor2"), + PreferenceConstants.EDITOR_LINKED_POSITION_COLOR}, + //$NON-NLS-1$ + {PHPUIMessages.getString("PHPEditorPreferencePage.linkColor2"), + PreferenceConstants.EDITOR_LINK_COLOR}, //$NON-NLS-1$ }; - - private final String[][] fProblemIndicationColorListModel = - new String[][] { + // private final String[][] fProblemIndicationColorListModel = + // new String[][] { + // { + // "Errors", + // PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, + // PreferenceConstants.EDITOR_PROBLEM_INDICATION, + // PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER }, + // { + // "Warnings", + // PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, + // PreferenceConstants.EDITOR_WARNING_INDICATION, + // PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER }, + // { + // "Tasks", + // PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, + // PreferenceConstants.EDITOR_TASK_INDICATION, + // PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER }, + // { + // "Search Results", + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, + // PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER }, + // { + // "Bookmarks", + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION, + // PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER }, + // { + // "Others", + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION, + // PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER } + // }; + 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$ { - "Errors", - PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, - PreferenceConstants.EDITOR_PROBLEM_INDICATION, - PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER }, + PreferencesMessages + .getString("JavaEditorPreferencePage.AnnotationDecoration.BOX"), + AnnotationPreference.STYLE_BOX}, + //$NON-NLS-1$ { - "Warnings", - PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, - PreferenceConstants.EDITOR_WARNING_INDICATION, - PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER }, - { - "Tasks", - PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, - PreferenceConstants.EDITOR_TASK_INDICATION, - PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER }, - { - "Search Results", - PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, - PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, - PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER }, - { - "Bookmarks", - PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, - PreferenceConstants.EDITOR_BOOKMARK_INDICATION, - PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER }, - { - "Others", - PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, - PreferenceConstants.EDITOR_UNKNOWN_INDICATION, - PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER } + PreferencesMessages + .getString("JavaEditorPreferencePage.AnnotationDecoration.IBEAM"), + AnnotationPreference.STYLE_IBEAM} //$NON-NLS-1$ }; - private OverlayPreferenceStore fOverlayStore; private JavaTextTools fJavaTextTools; - // private JavaEditorHoverConfigurationBlock fJavaEditorHoverConfigurationBlock; - + // private JavaEditorHoverConfigurationBlock + // fJavaEditorHoverConfigurationBlock; private Map fColorButtons = new HashMap(); private SelectionListener fColorButtonListener = new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { ColorEditor editor = (ColorEditor) e.widget.getData(); - PreferenceConverter.setValue(fOverlayStore, (String) fColorButtons.get(editor), editor.getColorValue()); + PreferenceConverter.setValue(fOverlayStore, (String) fColorButtons + .get(editor), editor.getColorValue()); } }; - 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()); + fOverlayStore.setValue((String) fCheckBoxes.get(button), button + .getSelection()); } }; - private Map fTextFields = new HashMap(); private ModifyListener fTextFieldListener = new ModifyListener() { public void modifyText(ModifyEvent e) { @@ -319,21 +473,19 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc 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 WorkbenchChainedTextFontFieldEditor fFontEditor; private List fSyntaxColorList; private List fAppearanceColorList; - private List fProblemIndicationList; + private List fAnnotationList; private ColorEditor fSyntaxForegroundColorEditor; private ColorEditor fAppearanceForegroundColorEditor; - private ColorEditor fProblemIndicationForegroundColorEditor; + private ColorEditor fAnnotationForegroundColorEditor; private ColorEditor fBackgroundColorEditor; private Button fBackgroundDefaultRadioButton; private Button fBackgroundCustomRadioButton; @@ -349,28 +501,352 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc private Control fAutoInsertHTMLTriggerText; private Button fShowInTextCheckBox; private Button fShowInOverviewRulerCheckBox; + private Combo fDecorationStyleCombo; + private Button fHighlightInTextCheckBox; + private Button fShowInVerticalRulerCheckBox; // private FileFieldEditor fUserDefinedPHPSyntaxFileFFE; - public PHPEditorPreferencePage() { - setDescription(PHPUIMessages.getString("PHPEditorPreferencePage.description")); //$NON-NLS-1$ + setDescription(PHPUIMessages + .getString("PHPEditorPreferencePage.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_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_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, + IPreferenceConstants.PHP_USERDEF_XMLFILE)); + overlayKeys.add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP)); + overlayKeys.add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP)); + overlayKeys.add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML)); + overlayKeys.add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML)); + 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_STRING_COLOR)); + overlayKeys + .add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_STRING_BOLD)); + 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, + // 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_JAVA_OPERATOR_COLOR)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_JAVA_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, + // ExtendedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // ExtendedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE)); + // + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, + // ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // ExtendedTextEditorPreferenceConstants.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, + // ExtendedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, + // ExtendedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // ExtendedTextEditorPreferenceConstants.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)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_CLOSE_BRACKETS)); + 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_STRINGS)); + // overlayKeys.add(new + // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, + // PreferenceConstants.EDITOR_ESCAPE_STRINGS)); + overlayKeys.add(new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS)); + 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); - // WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE); + // WorkbenchHelp.setHelp(getControl(), + // IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE); } - private void handleSyntaxColorListSelection() { int i = fSyntaxColorList.getSelectionIndex(); String key = fSyntaxColorListModel[i][1]; @@ -378,58 +854,106 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc 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); fAppearanceForegroundColorEditor.setColorValue(rgb); } - - private void handleProblemIndicationColorListSelection() { - int i = fProblemIndicationList.getSelectionIndex(); - - String key = fProblemIndicationColorListModel[i][1]; + // private void handleProblemIndicationColorListSelection() { + // int i = fProblemIndicationList.getSelectionIndex(); + // + // String key = fProblemIndicationColorListModel[i][1]; + // RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); + // fProblemIndicationForegroundColorEditor.setColorValue(rgb); + // + // key = fProblemIndicationColorListModel[i][2]; + // fShowInTextCheckBox.setSelection(fOverlayStore.getBoolean(key)); + // + // key = fProblemIndicationColorListModel[i][3]; + // fShowInOverviewRulerCheckBox.setSelection(fOverlayStore.getBoolean(key)); + // } + private void handleAnnotationListSelection() { + int i = fAnnotationList.getSelectionIndex(); + String key = fAnnotationColorListModel[i][1]; RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); - fProblemIndicationForegroundColorEditor.setColorValue(rgb); - - key = fProblemIndicationColorListModel[i][2]; - fShowInTextCheckBox.setSelection(fOverlayStore.getBoolean(key)); - - key = fProblemIndicationColorListModel[i][3]; + 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(PHPUIMessages.getString("PHPEditorPreferencePage.backgroundColor")); //$NON-NLS-1$ - + backgroundComposite.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.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); + fOverlayStore.setValue( + PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, !custom); } public void widgetDefaultSelected(SelectionEvent e) { } }; - - fBackgroundDefaultRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT); - fBackgroundDefaultRadioButton.setText(PHPUIMessages.getString("PHPEditorPreferencePage.systemDefault")); //$NON-NLS-1$ - fBackgroundDefaultRadioButton.addSelectionListener(backgroundSelectionListener); - - fBackgroundCustomRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT); - fBackgroundCustomRadioButton.setText(PHPUIMessages.getString("PHPEditorPreferencePage.custom")); //$NON-NLS-1$ - fBackgroundCustomRadioButton.addSelectionListener(backgroundSelectionListener); - + fBackgroundDefaultRadioButton = new Button(backgroundComposite, SWT.RADIO + | SWT.LEFT); + fBackgroundDefaultRadioButton.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.systemDefault")); //$NON-NLS-1$ + fBackgroundDefaultRadioButton + .addSelectionListener(backgroundSelectionListener); + fBackgroundCustomRadioButton = new Button(backgroundComposite, SWT.RADIO + | SWT.LEFT); + fBackgroundCustomRadioButton.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.custom")); //$NON-NLS-1$ + fBackgroundCustomRadioButton + .addSelectionListener(backgroundSelectionListener); fBackgroundColorEditor = new ColorEditor(backgroundComposite); fBackgroundColorButton = fBackgroundColorEditor.getButton(); - // fUserDefinedPHPSyntaxFileFFE = // new FileFieldEditor( // IPreferenceConstants.PHP_USERDEF_XMLFILE, @@ -438,11 +962,10 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc // fUserDefinedPHPSyntaxFileFFE.setPreferencePage(this); // fUserDefinedPHPSyntaxFileFFE.setPreferenceStore(getPreferenceStore()); // fUserDefinedPHPSyntaxFileFFE.load(); - Label label = new Label(colorComposite, SWT.LEFT); - label.setText(PHPUIMessages.getString("PHPEditorPreferencePage.foreground")); //$NON-NLS-1$ + label + .setText(PHPUIMessages.getString("PHPEditorPreferencePage.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; @@ -451,12 +974,11 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc editorComposite.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); editorComposite.setLayoutData(gd); - - fSyntaxColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); + 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; @@ -464,36 +986,31 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc layout.numColumns = 2; stylesComposite.setLayout(layout); stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - label = new Label(stylesComposite, SWT.LEFT); label.setText(PHPUIMessages.getString("PHPEditorPreferencePage.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(PHPUIMessages.getString("PHPEditorPreferencePage.bold")); //$NON-NLS-1$ + fBoldCheckBox.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.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(PHPUIMessages.getString("PHPEditorPreferencePage.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 @@ -502,7 +1019,6 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc handleSyntaxColorListSelection(); } }); - foregroundColorButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing @@ -510,23 +1026,20 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc public void widgetSelected(SelectionEvent e) { int i = fSyntaxColorList.getSelectionIndex(); String key = fSyntaxColorListModel[i][1]; - - PreferenceConverter.setValue(fOverlayStore, key, fSyntaxForegroundColorEditor.getColorValue()); + 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()); + PreferenceConverter.setValue(fOverlayStore, + PreferenceConstants.EDITOR_BACKGROUND_COLOR, fBackgroundColorEditor + .getColorValue()); } }); - fBoldCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing @@ -537,100 +1050,82 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc fOverlayStore.setValue(key + BOLD, fBoldCheckBox.getSelection()); } }); - return colorComposite; } - private Control createPreviewer(Composite parent) { Preferences coreStore = createTemporaryCorePreferenceStore(); - fJavaTextTools = new JavaTextTools(fOverlayStore, coreStore, false); - - fPreviewViewer = new SourceViewer(parent, null, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); - fPreviewViewer.configure(new PHPSourceViewerConfiguration(fJavaTextTools, null)); - fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)); + fPreviewViewer = new SourceViewer(parent, null, SWT.V_SCROLL | SWT.H_SCROLL + | SWT.BORDER); + fPreviewViewer.configure(new PHPSourceViewerConfiguration(fJavaTextTools, + null)); + fPreviewViewer.getTextWidget().setFont( + JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)); fPreviewViewer.setEditable(false); - initializeViewerColors(fPreviewViewer); - String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$ IDocument document = new Document(content); // PHPEditorEnvironment pe; - IDocumentPartitioner partitioner = fJavaTextTools.createDocumentPartitioner(); + IDocumentPartitioner partitioner = fJavaTextTools + .createDocumentPartitioner(); partitioner.connect(document); document.setDocumentPartitioner(partitioner); - fPreviewViewer.setDocument(document); - fOverlayStore.addPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { String p = event.getProperty(); if (p.equals(PreferenceConstants.EDITOR_BACKGROUND_COLOR) - || p.equals(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR)) { + || p.equals(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR)) { initializeViewerColors(fPreviewViewer); } - fPreviewViewer.invalidateTextPresentation(); } }); - return fPreviewViewer.getControl(); } private Preferences createTemporaryCorePreferenceStore() { Preferences result = new Preferences(); - result.setValue(COMPILER_TASK_TAGS, "TASK"); //$NON-NLS-1$ - return result; } /** * Initializes the given viewer's colors. * - * @param viewer the viewer to be initialized + * @param viewer + * the viewer to be initialized */ private void initializeViewerColors(ISourceViewer viewer) { - IPreferenceStore store = fOverlayStore; if (store != null) { - StyledText styledText = viewer.getTextWidget(); - // ---------- background color ---------------------- - Color color = - store.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR) + Color color = store + .getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR) ? null - : createColor(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, styledText.getDisplay()); + : createColor(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, + styledText.getDisplay()); styledText.setBackground(color); - if (fBackgroundColor != null) fBackgroundColor.dispose(); - fBackgroundColor = color; } } - /** * Creates a color from the information stored in the given preference store. * Returns null if there is no such information available. */ private Color createColor(IPreferenceStore store, String key, Display display) { - RGB rgb = null; - if (store.contains(key)) { - if (store.isDefault(key)) rgb = PreferenceConverter.getDefaultColor(store, key); else rgb = PreferenceConverter.getColor(store, key); - if (rgb != null) return new Color(display, rgb); } - return null; } - // sets enabled flag for a control and all its sub-tree private static void setEnabled(Control control, boolean enable) { control.setEnabled(enable); @@ -641,53 +1136,55 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc setEnabled(children[i], enable); } } - private Control createAppearancePage(Composite parent) { - Composite appearanceComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; appearanceComposite.setLayout(layout); - String label = PHPUIMessages.getString("PHPEditorPreferencePage.textFont"); //$NON-NLS-1$ addTextFontEditor(appearanceComposite, label, JFaceResources.TEXT_FONT); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$ - addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$ - addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true); - - // label= PHPUIMessages.getString("PHPEditorPreferencePage.synchronizeOnCursor"); //$NON-NLS-1$ - // addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, 0); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_OVERVIEW_RULER, 0); - + label = PHPUIMessages + .getString("PHPEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$ + addTextField(appearanceComposite, label, + PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$ + addTextField(appearanceComposite, label, + PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true); + // label= + // PHPUIMessages.getString("PHPEditorPreferencePage.synchronizeOnCursor"); + // //$NON-NLS-1$ + // addCheckBox(appearanceComposite, label, + // PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, + PreferenceConstants.EDITOR_OVERVIEW_RULER, 0); label = PHPUIMessages.getString("PHPEditorPreferencePage.showLineNumbers"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_CURRENT_LINE, 0); - + addCheckBox(appearanceComposite, label, + PreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, + PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, + PreferenceConstants.EDITOR_CURRENT_LINE, 0); label = PHPUIMessages.getString("PHPEditorPreferencePage.showPrintMargin"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN, 0); - + addCheckBox(appearanceComposite, label, + PreferenceConstants.EDITOR_PRINT_MARGIN, 0); 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(PHPUIMessages.getString("PHPEditorPreferencePage.appearanceOptions")); //$NON-NLS-1$ + l.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.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; @@ -697,12 +1194,11 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc 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); + fAppearanceColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL + | SWT.BORDER); gd = new GridData(GridData.FILL_BOTH); gd.heightHint = convertHeightInCharsToPixels(5); fAppearanceColorList.setLayoutData(gd); - Composite stylesComposite = new Composite(editorComposite, SWT.NONE); layout = new GridLayout(); layout.marginHeight = 0; @@ -710,19 +1206,16 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc layout.numColumns = 2; stylesComposite.setLayout(layout); stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - l = new Label(stylesComposite, SWT.LEFT); l.setText(PHPUIMessages.getString("PHPEditorPreferencePage.color")); //$NON-NLS-1$ gd = new GridData(); gd.horizontalAlignment = GridData.BEGINNING; l.setLayoutData(gd); - fAppearanceForegroundColorEditor = new ColorEditor(stylesComposite); Button foregroundColorButton = fAppearanceForegroundColorEditor.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 @@ -738,37 +1231,32 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc public void widgetSelected(SelectionEvent e) { int i = fAppearanceColorList.getSelectionIndex(); String key = fAppearanceColorListModel[i][1]; - - PreferenceConverter.setValue(fOverlayStore, key, fAppearanceForegroundColorEditor.getColorValue()); + PreferenceConverter.setValue(fOverlayStore, key, + fAppearanceForegroundColorEditor.getColorValue()); } }); return appearanceComposite; } - - private Control createProblemIndicationPage(Composite parent) { + private Control createAnnotationsPage(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 2; composite.setLayout(layout); - - // String text = "Analyse &problems while typing"; - // addCheckBox(composite, text, PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0); - // - // text = PHPUIMessages.getString("PHPEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$ - // addCheckBox(composite, text, PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0); - + 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; - gd.heightHint = convertHeightInCharsToPixels(1) / 2; - label.setLayoutData(gd); - - label = new Label(composite, SWT.LEFT); - label.setText("&Marker presentation options:"); - 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; @@ -778,12 +1266,12 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL); gd.horizontalSpan = 2; editorComposite.setLayoutData(gd); - - fProblemIndicationList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); - gd = new GridData(GridData.FILL_BOTH); - gd.heightHint = convertHeightInCharsToPixels(5); - fProblemIndicationList.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; @@ -791,212 +1279,351 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc layout.numColumns = 2; optionsComposite.setLayout(layout); optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - fShowInTextCheckBox = new Button(optionsComposite, SWT.CHECK); - fShowInTextCheckBox.setText("Show in &text"); + 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("Show in overview &ruler"); + 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("C&olor:"); + label.setText(PreferencesMessages + .getString("JavaEditorPreferencePage.annotations.color")); //$NON-NLS-1$ gd = new GridData(); gd.horizontalAlignment = GridData.BEGINNING; label.setLayoutData(gd); - - fProblemIndicationForegroundColorEditor = new ColorEditor(optionsComposite); - Button foregroundColorButton = fProblemIndicationForegroundColorEditor.getButton(); + fAnnotationForegroundColorEditor = new ColorEditor(optionsComposite); + Button foregroundColorButton = fAnnotationForegroundColorEditor.getButton(); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.BEGINNING; foregroundColorButton.setLayoutData(gd); - - fProblemIndicationList.addSelectionListener(new SelectionListener() { + fAnnotationList.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } - public void widgetSelected(SelectionEvent e) { - handleProblemIndicationColorListSelection(); + handleAnnotationListSelection(); } }); - fShowInTextCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } - public void widgetSelected(SelectionEvent e) { - int i = fProblemIndicationList.getSelectionIndex(); - String key = fProblemIndicationColorListModel[i][2]; + 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 = fProblemIndicationList.getSelectionIndex(); - String key = fProblemIndicationColorListModel[i][3]; - fOverlayStore.setValue(key, fShowInOverviewRulerCheckBox.getSelection()); + 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 = fProblemIndicationList.getSelectionIndex(); - String key = fProblemIndicationColorListModel[i][1]; - PreferenceConverter.setValue(fOverlayStore, key, fProblemIndicationForegroundColorEditor.getColorValue()); + 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 createBehaviourPage(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 2; composite.setLayout(layout); String label; - // String label= PHPUIMessages.getString("PHPEditorPreferencePage.wrapStrings"); //$NON-NLS-1$ - // addCheckBox(composite, label, PreferenceConstants.EDITOR_WRAP_STRINGS, 1); - - // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartHomeEnd"); //$NON-NLS-1$ - // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END, 1); + // String label= + // PHPUIMessages.getString("PHPEditorPreferencePage.wrapStrings"); + // //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_WRAP_STRINGS, + // 1); + // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartHomeEnd"); + // //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END, + // 1); // - // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartPaste"); //$NON-NLS-1$ - // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_PASTE, 1); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.insertSpaceForTabs"); //$NON-NLS-1$ + // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartPaste"); + // //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_PASTE, + // 1); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.insertSpaceForTabs"); //$NON-NLS-1$ addCheckBox(composite, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS, 1); - label = PHPUIMessages.getString("PHPEditorPreferencePage.closeStringsPHP"); //$NON-NLS-1$ - addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP, 1); - + addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP, + 1); label = PHPUIMessages.getString("PHPEditorPreferencePage.closeBracketsPHP"); //$NON-NLS-1$ - addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, 1); - - // label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBraces"); //$NON-NLS-1$ - // addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1); + addCheckBox(composite, label, + PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, 1); + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBraces"); + // //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACES, + // 1); // - // label= PHPUIMessages.getString("PHPEditorPreferencePage.closePHPDocs"); //$NON-NLS-1$ - // Button button= addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1); + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closePHPDocs"); + // //$NON-NLS-1$ + // Button button= addCheckBox(composite, label, + // PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1); // - // label= PHPUIMessages.getString("PHPEditorPreferencePage.addPHPDocTags"); //$NON-NLS-1$ - // fAddJavaDocTagsButton= addCheckBox(composite, label, PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1); + // label= PHPUIMessages.getString("PHPEditorPreferencePage.addPHPDocTags"); + // //$NON-NLS-1$ + // fAddJavaDocTagsButton= addCheckBox(composite, label, + // PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1); // createDependency(button, fAddJavaDocTagsButton); - - // label= PHPUIMessages.getString("PHPEditorPreferencePage.formatPHPDocs"); //$NON-NLS-1$ - // addCheckBox(composite, label, PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1); + // label= PHPUIMessages.getString("PHPEditorPreferencePage.formatPHPDocs"); + // //$NON-NLS-1$ + // addCheckBox(composite, label, + // PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1); // label = PHPUIMessages.getString("PHPEditorPreferencePage.closeStringsHTML"); //$NON-NLS-1$ - addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML, 1); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.closeBracketsHTML"); //$NON-NLS-1$ - addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML, 1); + addCheckBox(composite, label, + PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML, 1); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.closeBracketsHTML"); //$NON-NLS-1$ + addCheckBox(composite, label, + PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML, 1); return composite; } - 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 Control createContentAssistPage(Composite parent) { - Composite contentAssistComposite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 2; contentAssistComposite.setLayout(layout); String label; - // String label = PHPUIMessages.getString("PHPEditorPreferencePage.insertSingleProposalsAutomatically"); //$NON-NLS-1$ - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOINSERT, 0); + // String label = + // PHPUIMessages.getString("PHPEditorPreferencePage.insertSingleProposalsAutomatically"); + // //$NON-NLS-1$ + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_AUTOINSERT, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext"); //$NON-NLS-1$ - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext"); + // //$NON-NLS-1$ + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.presentProposalsInAlphabeticalOrder"); //$NON-NLS-1$ - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.presentProposalsInAlphabeticalOrder"); + // //$NON-NLS-1$ + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName"); //$NON-NLS-1$ - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ADDIMPORT, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName"); + // //$NON-NLS-1$ + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_ADDIMPORT, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.insertCompletion"); //$NON-NLS-1$ - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_INSERT_COMPLETION, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.insertCompletion"); + // //$NON-NLS-1$ + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_INSERT_COMPLETION, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.fillArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ - // Button button = addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.fillArgumentNamesOnMethodCompletion"); + // //$NON-NLS-1$ + // Button button = addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.guessArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.guessArgumentNamesOnMethodCompletion"); + // //$NON-NLS-1$ // fGuessMethodArgumentsButton = - // addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, 0); + // addCheckBox(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, 0); // createDependency(button, fGuessMethodArgumentsButton); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.enableAutoActivation"); //$NON-NLS-1$ - final Button autoactivation = addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION, 0); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationDelay"); //$NON-NLS-1$ - fAutoInsertDelayText = - addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, true); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHP"); //$NON-NLS-1$ - fAutoInsertJavaTriggerText = - addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, 4, 0, false); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHPDoc"); //$NON-NLS-1$ - fAutoInsertJavaDocTriggerText = - addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, 4, 0, false); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForHTML"); //$NON-NLS-1$ - fAutoInsertHTMLTriggerText = - addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, 4, 0, false); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionProposals"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, 0); - - label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionProposals"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, 0); - - // label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForMethodParameters"); //$NON-NLS-1$ - // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.enableAutoActivation"); //$NON-NLS-1$ + final Button autoactivation = addCheckBox(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_AUTOACTIVATION, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.autoActivationDelay"); //$NON-NLS-1$ + fAutoInsertDelayText = addTextField(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, true); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.autoActivationTriggersForPHP"); //$NON-NLS-1$ + fAutoInsertJavaTriggerText = addTextField(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, 4, 0, + false); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.autoActivationTriggersForPHPDoc"); //$NON-NLS-1$ + fAutoInsertJavaDocTriggerText = addTextField(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, 4, 0, + false); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.autoActivationTriggersForHTML"); //$NON-NLS-1$ + fAutoInsertHTMLTriggerText = addTextField(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, 4, 0, + false); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.backgroundForCompletionProposals"); //$NON-NLS-1$ + addColorButton(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, 0); + label = PHPUIMessages + .getString("PHPEditorPreferencePage.foregroundForCompletionProposals"); //$NON-NLS-1$ + addColorButton(contentAssistComposite, label, + PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForMethodParameters"); + // //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForMethodParameters"); //$NON-NLS-1$ - // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, 0); - - // label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionReplacement"); //$NON-NLS-1$ - // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForMethodParameters"); + // //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, 0); + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionReplacement"); + // //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, 0); // - // label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionReplacement"); //$NON-NLS-1$ - // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, 0); - + // label = + // PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionReplacement"); + // //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, + // PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, 0); autoactivation.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { updateAutoactivationControls(); @@ -1004,60 +1631,48 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc }); return contentAssistComposite; } - /* * @see PreferencePage#createContents(Composite) */ protected Control createContents(Composite parent) { - 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(PHPUIMessages.getString("PHPEditorPreferencePage.general")); //$NON-NLS-1$ item.setControl(createAppearancePage(folder)); - item = new TabItem(folder, SWT.NONE); item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.colors")); //$NON-NLS-1$ item.setControl(createSyntaxPage(folder)); - item = new TabItem(folder, SWT.NONE); item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.codeAssist")); //$NON-NLS-1$ item.setControl(createContentAssistPage(folder)); - item = new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.problemIndicationTab.title")); //$NON-NLS-1$ - item.setControl(createProblemIndicationPage(folder)); - + item.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.annotationsTab.title")); //$NON-NLS-1$ + item.setControl(createAnnotationsPage(folder)); item = new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.behaviourTab.title")); //$NON-NLS-1$ + item.setText(PHPUIMessages + .getString("PHPEditorPreferencePage.behaviourTab.title")); //$NON-NLS-1$ item.setControl(createBehaviourPage(folder)); - // item= new TabItem(folder, SWT.NONE); - // item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.hoverTab.title")); //$NON-NLS-1$ - // fJavaEditorHoverConfigurationBlock= new JavaEditorHoverConfigurationBlock(fOverlayStore); + // item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.hoverTab.title")); + // //$NON-NLS-1$ + // fJavaEditorHoverConfigurationBlock= new + // JavaEditorHoverConfigurationBlock(fOverlayStore); // item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder)); - initialize(); - return folder; } - private void initialize() { - fFontEditor.setPreferenceStore(getPreferenceStore()); fFontEditor.setPreferencePage(this); fFontEditor.load(); - 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()) { @@ -1066,10 +1681,8 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc } } }); - 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()) { @@ -1078,22 +1691,29 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc } } }); - - for (int i = 0; i < fProblemIndicationColorListModel.length; i++) - fProblemIndicationList.add(fProblemIndicationColorListModel[i][0]); - - fProblemIndicationList.getDisplay().asyncExec(new Runnable() { + for (int i = 0; i < fAnnotationColorListModel.length; i++) + fAnnotationList.add(fAnnotationColorListModel[i][0]); + fAnnotationList.getDisplay().asyncExec(new Runnable() { public void run() { - if (fProblemIndicationList != null && !fProblemIndicationList.isDisposed()) { - fProblemIndicationList.select(0); - handleProblemIndicationColorListSelection(); + 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(); + // } + // } + // }); } - private void initializeFields() { - Iterator e = fColorButtons.keySet().iterator(); while (e.hasNext()) { ColorEditor c = (ColorEditor) e.next(); @@ -1101,48 +1721,43 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc 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); + RGB rgb = PreferenceConverter.getColor(fOverlayStore, + PreferenceConstants.EDITOR_BACKGROUND_COLOR); fBackgroundColorEditor.setColorValue(rgb); - - boolean default_ = fOverlayStore.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR); + 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); + // boolean closeJavaDocs= + // fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS); // fAddJavaDocTagsButton.setEnabled(closeJavaDocs); - - // boolean fillMethodArguments = fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES); + // boolean fillMethodArguments = + // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES); // fGuessMethodArgumentsButton.setEnabled(fillMethodArguments); - updateAutoactivationControls(); - // fJavaEditorHoverConfigurationBlock.initializeFields(); } - private void updateAutoactivationControls() { - boolean autoactivation = fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION); + boolean autoactivation = fOverlayStore + .getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION); fAutoInsertDelayText.setEnabled(autoactivation); fAutoInsertJavaTriggerText.setEnabled(autoactivation); fAutoInsertJavaDocTriggerText.setEnabled(autoactivation); fAutoInsertHTMLTriggerText.setEnabled(autoactivation); } - /* * @see PreferencePage#performOk() */ @@ -1154,91 +1769,78 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc PHPeclipsePlugin.getDefault().savePluginPreferences(); return true; } - /* * @see PreferencePage#performDefaults() */ protected void performDefaults() { - fFontEditor.loadDefault(); - fOverlayStore.loadDefaults(); initializeFields(); - // fUserDefinedPHPSyntaxFileFFE.loadDefault(); handleSyntaxColorListSelection(); handleAppearanceColorListSelection(); - handleProblemIndicationColorListSelection(); + handleAnnotationListSelection(); + // handleContentAssistColorListSelection(); super.performDefaults(); - fPreviewViewer.invalidateTextPresentation(); } - /* * @see DialogPage#dispose() */ public void dispose() { - if (fJavaTextTools != null) { fJavaTextTools = null; } - fFontEditor.setPreferencePage(null); fFontEditor.setPreferenceStore(null); - if (fOverlayStore != null) { fOverlayStore.stop(); fOverlayStore = null; } - super.dispose(); } - - private Control addColorButton(Composite composite, String label, String key, int indentation) { - + private Control addColorButton(Composite composite, String label, String key, + int indentation) { Label labelControl = new Label(composite, SWT.NONE); labelControl.setText(label); - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = indentation; labelControl.setLayoutData(gd); - ColorEditor editor = new ColorEditor(composite); Button button = editor.getButton(); button.setData(editor); - gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); button.setLayoutData(gd); button.addSelectionListener(fColorButtonListener); - fColorButtons.put(editor, key); - return composite; } - - private Button addCheckBox(Composite parent, String label, String key, int indentation) { + 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 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 Control addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) { - + private Control addTextField(Composite composite, String label, String key, + int textLimit, int indentation, boolean isNumber) { Label labelControl = new Label(composite, SWT.NONE); labelControl.setText(label); GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = indentation; labelControl.setLayoutData(gd); - Text textControl = new Text(composite, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.widthHint = convertWidthInCharsToPixels(textLimit + 1); @@ -1251,31 +1853,29 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc } else { textControl.addModifyListener(fTextFieldListener); } - return textControl; } - private void addTextFontEditor(Composite parent, String label, String key) { - Composite editorComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 3; editorComposite.setLayout(layout); - fFontEditor = new WorkbenchChainedTextFontFieldEditor(key, label, editorComposite); - fFontEditor.setChangeButtonText(PHPUIMessages.getString("PHPEditorPreferencePage.change")); //$NON-NLS-1$ - + fFontEditor = new WorkbenchChainedTextFontFieldEditor(key, label, + editorComposite); + fFontEditor.setChangeButtonText(PHPUIMessages + .getString("PHPEditorPreferencePage.change")); //$NON-NLS-1$ GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); gd.horizontalSpan = 2; editorComposite.setLayoutData(gd); } - 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))); + reader = new BufferedReader(new InputStreamReader(getClass() + .getResourceAsStream(filename))); while ((line = reader.readLine()) != null) { buffer.append(line); buffer.append(separator); @@ -1292,7 +1892,6 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc } return buffer.toString(); } - private void numberFieldChanged(Text textControl) { String number = textControl.getText(); IStatus status = validatePositiveNumber(number); @@ -1300,23 +1899,24 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc fOverlayStore.setValue((String) fTextFields.get(textControl), number); updateStatus(status); } - private IStatus validatePositiveNumber(String number) { StatusInfo status = new StatusInfo(); if (number.length() == 0) { - status.setError(PHPUIMessages.getString("PHPEditorPreferencePage.empty_input")); //$NON-NLS-1$ + status.setError(PHPUIMessages + .getString("PHPEditorPreferencePage.empty_input")); //$NON-NLS-1$ } else { try { int value = Integer.parseInt(number); if (value < 0) - status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ + status.setError(PHPUIMessages.getFormattedString( + "PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ } catch (NumberFormatException e) { - status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ + status.setError(PHPUIMessages.getFormattedString( + "PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ } } return status; } - private void updateStatus(IStatus status) { if (!status.matches(IStatus.ERROR)) { for (int i = 0; i < fNumberFields.size(); i++) { @@ -1328,19 +1928,18 @@ public class PHPEditorPreferencePage extends PreferencePage implements IWorkbenc setValid(!status.matches(IStatus.ERROR)); StatusUtil.applyToStatusLine(this, status); } - /** * @deprecated Inline to avoid reference to preference page */ public static boolean indicateQuixFixableProblems() { - return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_CORRECTION_INDICATION); + return PreferenceConstants.getPreferenceStore().getBoolean( + PreferenceConstants.EDITOR_CORRECTION_INDICATION); } - /** * @deprecated Inline to avoid reference to preference page */ // static public boolean synchronizeOutlineOnCursorMove() { - // return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE); + // return + // PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE); // } - } \ No newline at end of file