misc changes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / preferences / PHPEditorPreferencePage.java
index c273cfe..4195eee 100644 (file)
@@ -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 <code>null</code> if there is no such information available.
    */
   private Color createColor(IPreferenceStore store, String key, Display display) {
-
     RGB rgb = null;
-
     if (store.contains(key)) {
-
       if (store.isDefault(key))
         rgb = PreferenceConverter.getDefaultColor(store, key);
       else
         rgb = PreferenceConverter.getColor(store, key);
-
       if (rgb != null)
         return new Color(display, rgb);
     }
-
     return null;
   }
-
   // sets enabled flag for a control and all its sub-tree
   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