Cleaned up PHP Prefs (Code Assist, typing)
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / preferences / JavaEditorPreferencePage.java
index 1e949f7..c7e7b17 100644 (file)
@@ -9,6 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package net.sourceforge.phpdt.internal.ui.preferences;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -21,10 +22,12 @@ import java.util.Map;
 import java.util.SortedSet;
 import java.util.StringTokenizer;
 import java.util.TreeSet;
+
 import net.sourceforge.phpdt.core.JavaCore;
 import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds;
 import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo;
 import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil;
+import net.sourceforge.phpdt.internal.ui.text.PreferencesAdapter;
 import net.sourceforge.phpdt.internal.ui.util.TabFolderLayout;
 import net.sourceforge.phpdt.ui.PreferenceConstants;
 import net.sourceforge.phpdt.ui.text.JavaTextTools;
@@ -33,10 +36,13 @@ import net.sourceforge.phpeclipse.phpeditor.EditorUtility;
 import net.sourceforge.phpeclipse.phpeditor.JavaSourceViewer;
 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.action.Action;
+import net.sourceforge.phpdt.internal.ui.preferences.FoldingConfigurationBlock;
+import net.sourceforge.phpdt.internal.ui.preferences.PreferencesMessages;
 import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.resource.JFaceResources;
@@ -44,16 +50,12 @@ import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.source.SourceViewer;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.graphics.RGB;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -70,23 +72,29 @@ 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.editors.text.EditorsUI;
 import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
 import org.eclipse.ui.texteditor.AnnotationPreference;
-import org.eclipse.ui.texteditor.ExtendedTextEditorPreferenceConstants;
+import org.eclipse.ui.texteditor.ChainedPreferenceStore;
 import org.eclipse.ui.texteditor.MarkerAnnotationPreferences;
+
 /**
  * The page for setting the editor options.
  */
-public class JavaEditorPreferencePage extends PreferencePage
-    implements
-      IWorkbenchPreferencePage {
+public class JavaEditorPreferencePage extends PreferencePage implements
+    IWorkbenchPreferencePage {
   private static final String BOLD = PreferenceConstants.EDITOR_BOLD_SUFFIX;
+
   private static final String COMPILER_TASK_TAGS = JavaCore.COMPILER_TASK_TAGS;
+
   private static final String DELIMITER = PreferencesMessages
       .getString("JavaEditorPreferencePage.navigation.delimiter"); //$NON-NLS-1$
+
   /** The keys of the overlay store. */
   public final OverlayPreferenceStore.OverlayKey[] fKeys;
-  private final String[][] fSyntaxColorListModel = new String[][]{
+
+  private final String[][] fSyntaxColorListModel = new String[][] {
       //               {
       // PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"),
       // PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, //$NON-NLS-1$
@@ -119,192 +127,217 @@ public class JavaEditorPreferencePage extends PreferencePage
       //               {
       // PreferencesMessages.getString("JavaEditorPreferencePage.javaDocOthers"),
       // PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$
-      {  PreferencesMessages
+      {
+          PreferencesMessages
               .getString("PHPEditorPreferencePage.multiLineComment"),
-          PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR},
+          PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR },
       //$NON-NLS-1$
-      {  PreferencesMessages
+      {
+          PreferencesMessages
               .getString("PHPEditorPreferencePage.singleLineComment"),
-          PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR},
-      //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.tags"),
-          PreferenceConstants.EDITOR_JAVA_TAG_COLOR},
-      //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.keywords"),
-          PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR},
-      {PreferencesMessages.getString("PHPEditorPreferencePage.functionNames"),
-          PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR},
+          PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.variables"),
-          PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.tags"),
+          PreferenceConstants.EDITOR_PHP_TAG_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.constants"),
-          PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.keywords"),
+          PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR },
+      { PreferencesMessages.getString("PHPEditorPreferencePage.functionNames"),
+          PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.types"),
-          PreferenceConstants.EDITOR_PHP_TYPE_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.variables"),
+          PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.strings"),
-          PreferenceConstants.EDITOR_STRING_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.constants"),
+          PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.others"),
-          PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.types"),
+          PreferenceConstants.EDITOR_PHP_TYPE_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.phpDocKeywords"),
-          PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.strings"),
+          PreferenceConstants.EDITOR_STRING_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.phpDocHtmlTags"),
-          PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.others"),
+          PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$
+      { PreferencesMessages.getString("JavaEditorPreferencePage.operators"),
+          PreferenceConstants.EDITOR_PHP_OPERATOR_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.phpDocLinks"),
-          PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR},
-      //$NON-NLS-1$
-      {PreferencesMessages.getString("PHPEditorPreferencePage.phpDocOthers"),
-          PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR} //$NON-NLS-1$
-  };
-  private final String[][] fAppearanceColorListModel = new String[][]{
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
-          ExtendedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR},
+              .getString("JavaEditorPreferencePage.returnKeyword"),
+          PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
-          PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR},
+              .getString("PHPEditorPreferencePage.phpDocKeywords"),
+          PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.currentLineHighlighColor"),
-          ExtendedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR},
+              .getString("PHPEditorPreferencePage.phpDocHtmlTags"),
+          PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR },
       //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.printMarginColor2"),
-          ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR},
-      //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.findScopeColor2"),
-          PreferenceConstants.EDITOR_FIND_SCOPE_COLOR},
+      { PreferencesMessages.getString("PHPEditorPreferencePage.phpDocLinks"),
+          PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR },
       //$NON-NLS-1$
-      {PreferencesMessages.getString("JavaEditorPreferencePage.linkColor2"),
-          PreferenceConstants.EDITOR_LINK_COLOR}, //$NON-NLS-1$
+      { PreferencesMessages.getString("PHPEditorPreferencePage.phpDocOthers"),
+          PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$
   };
-  private final String[][] fAnnotationColorListModel;
-  private final String[][] fContentAssistColorListModel = new String[][]{
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.backgroundForCompletionProposals"),
-          PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND},
-      //$NON-NLS-1$
+
+  private final String[][] fAppearanceColorListModel = new String[][] {
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.foregroundForCompletionProposals"),
-          PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND},
-      //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.backgroundForMethodParameters"),
-          PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND},
-      //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.foregroundForMethodParameters"),
-          PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND},
-      //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.backgroundForCompletionReplacement"),
-          PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND},
+              .getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
+          AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.foregroundForCompletionReplacement"),
-          PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND} //$NON-NLS-1$
-  };
-  private final String[][] fAnnotationDecorationListModel = new String[][]{
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.AnnotationDecoration.NONE"),
-          AnnotationPreference.STYLE_NONE},
+              .getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
+          PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.AnnotationDecoration.SQUIGGLIES"),
-          AnnotationPreference.STYLE_SQUIGGLIES},
+              .getString("JavaEditorPreferencePage.currentLineHighlighColor"),
+          AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.AnnotationDecoration.UNDERLINE"),
-          AnnotationPreference.STYLE_UNDERLINE},
+              .getString("JavaEditorPreferencePage.printMarginColor2"),
+          AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR },
       //$NON-NLS-1$
       {
           PreferencesMessages
-              .getString("JavaEditorPreferencePage.AnnotationDecoration.BOX"),
-          AnnotationPreference.STYLE_BOX},
+              .getString("JavaEditorPreferencePage.findScopeColor2"),
+          PreferenceConstants.EDITOR_FIND_SCOPE_COLOR },
       //$NON-NLS-1$
-      {
-          PreferencesMessages
-              .getString("JavaEditorPreferencePage.AnnotationDecoration.IBEAM"),
-          AnnotationPreference.STYLE_IBEAM} //$NON-NLS-1$
+      { PreferencesMessages.getString("JavaEditorPreferencePage.linkColor2"),
+          PreferenceConstants.EDITOR_LINK_COLOR }, //$NON-NLS-1$
   };
+
+  //  private final String[][] fAnnotationColorListModel;
+
+  //  private final String[][] fAnnotationDecorationListModel = new String[][]{
+  //      {
+  //          PreferencesMessages
+  //              .getString("JavaEditorPreferencePage.AnnotationDecoration.NONE"),
+  //          AnnotationPreference.STYLE_NONE},
+  //      //$NON-NLS-1$
+  //      {
+  //          PreferencesMessages
+  //              .getString("JavaEditorPreferencePage.AnnotationDecoration.SQUIGGLIES"),
+  //          AnnotationPreference.STYLE_SQUIGGLIES},
+  //      //$NON-NLS-1$
+  //      {
+  //          PreferencesMessages
+  //              .getString("JavaEditorPreferencePage.AnnotationDecoration.UNDERLINE"),
+  //          AnnotationPreference.STYLE_UNDERLINE},
+  //      //$NON-NLS-1$
+  //      {
+  //          PreferencesMessages
+  //              .getString("JavaEditorPreferencePage.AnnotationDecoration.BOX"),
+  //          AnnotationPreference.STYLE_BOX},
+  //      //$NON-NLS-1$
+  //      {
+  //          PreferencesMessages
+  //              .getString("JavaEditorPreferencePage.AnnotationDecoration.IBEAM"),
+  //          AnnotationPreference.STYLE_IBEAM} //$NON-NLS-1$
+  //  };
   private OverlayPreferenceStore fOverlayStore;
+
   private JavaTextTools fJavaTextTools;
+
   private JavaEditorHoverConfigurationBlock fJavaEditorHoverConfigurationBlock;
+
+  private FoldingConfigurationBlock fFoldingConfigurationBlock;
+
   private Map fColorButtons = new HashMap();
+
   private Map fCheckBoxes = new HashMap();
+
   private SelectionListener fCheckBoxListener = new SelectionListener() {
     public void widgetDefaultSelected(SelectionEvent e) {
     }
+
     public void widgetSelected(SelectionEvent e) {
       Button button = (Button) e.widget;
       fOverlayStore.setValue((String) fCheckBoxes.get(button), button
           .getSelection());
     }
   };
+
   private Map fTextFields = new HashMap();
+
   private ModifyListener fTextFieldListener = new ModifyListener() {
     public void modifyText(ModifyEvent e) {
       Text text = (Text) e.widget;
       fOverlayStore.setValue((String) fTextFields.get(text), text.getText());
     }
   };
+
   private ArrayList fNumberFields = new ArrayList();
+
   private ModifyListener fNumberFieldListener = new ModifyListener() {
     public void modifyText(ModifyEvent e) {
       numberFieldChanged((Text) e.widget);
     }
   };
+
   private List fSyntaxColorList;
+
   private List fAppearanceColorList;
-  private List fContentAssistColorList;
+
+  //  private List fContentAssistColorList;
   private List fAnnotationList;
+
   private ColorEditor fSyntaxForegroundColorEditor;
+
   private ColorEditor fAppearanceColorEditor;
+
   private ColorEditor fAnnotationForegroundColorEditor;
+
   private ColorEditor fContentAssistColorEditor;
+
   private ColorEditor fBackgroundColorEditor;
+
   private Button fBackgroundDefaultRadioButton;
+
   private Button fBackgroundCustomRadioButton;
+
   private Button fBackgroundColorButton;
+
   private Button fBoldCheckBox;
-  //   private Button fAddJavaDocTagsButton;
-  //   private Button fEscapeStringsButton;
+
+//  private Button fAddJavaDocTagsButton;
+
+//  private Button fEscapeStringsButton;
+
   //   private Button fGuessMethodArgumentsButton;
   private SourceViewer fPreviewViewer;
+
   private Color fBackgroundColor;
+
   private Control fAutoInsertDelayText;
+
   private Control fAutoInsertJavaTriggerText;
+
   private Control fAutoInsertJavaDocTriggerText;
+
   private Label fAutoInsertDelayLabel;
+
   private Label fAutoInsertJavaTriggerLabel;
+
   private Label fAutoInsertJavaDocTriggerLabel;
+
   private Button fShowInTextCheckBox;
+
   private Combo fDecorationStyleCombo;
+
   private Button fHighlightInTextCheckBox;
+
   private Button fShowInOverviewRulerCheckBox;
+
   private Button fShowInVerticalRulerCheckBox;
+
   //   private Text fBrowserLikeLinksKeyModifierText;
   //   private Button fBrowserLikeLinksCheckBox;
   //   private StatusInfo fBrowserLikeLinksKeyModifierStatus;
@@ -321,8 +354,10 @@ public class JavaEditorPreferencePage extends PreferencePage
     MarkerAnnotationPreferences markerAnnotationPreferences = new MarkerAnnotationPreferences();
     fKeys = createOverlayStoreKeys(markerAnnotationPreferences);
     fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), fKeys);
-    fAnnotationColorListModel = createAnnotationTypeListModel(markerAnnotationPreferences);
+    //    fAnnotationColorListModel =
+    // createAnnotationTypeListModel(markerAnnotationPreferences);
   }
+
   private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys(
       MarkerAnnotationPreferences preferences) {
     ArrayList overlayKeys = new ArrayList();
@@ -359,6 +394,40 @@ public class JavaEditorPreferencePage extends PreferencePage
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
         OverlayPreferenceStore.BOOLEAN,
         PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD));
+
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.STRING,
+            PreferenceConstants.EDITOR_PHP_TAG_COLOR));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.BOOLEAN,
+            PreferenceConstants.EDITOR_PHP_TAG_BOLD));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.STRING,
+        PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.STRING,
+        PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.STRING,
+        PreferenceConstants.EDITOR_PHP_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,
@@ -385,12 +454,18 @@ public class JavaEditorPreferencePage extends PreferencePage
     //         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_PHP_OPERATOR_COLOR));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_PHP_OPERATOR_BOLD));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.STRING,
+        PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_BOLD));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
         OverlayPreferenceStore.STRING,
         PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR));
@@ -421,21 +496,24 @@ public class JavaEditorPreferencePage extends PreferencePage
     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.STRING,
+            AbstractDecoratedTextEditorPreferenceConstants.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));
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.STRING,
+            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.INT,
+            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
         OverlayPreferenceStore.BOOLEAN,
-        ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN));
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN));
     //         overlayKeys.add(new
     // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
     // PreferenceConstants.EDITOR_MARK_OCCURRENCES));
@@ -455,13 +533,15 @@ public class JavaEditorPreferencePage extends PreferencePage
         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));
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.STRING,
+            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(
+            OverlayPreferenceStore.BOOLEAN,
+            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
         OverlayPreferenceStore.BOOLEAN,
         PreferenceConstants.EDITOR_SPACES_FOR_TABS));
@@ -523,12 +603,12 @@ public class JavaEditorPreferencePage extends PreferencePage
         .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_STRINGS_PHP));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
+        OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP));
     overlayKeys
         .add(new OverlayPreferenceStore.OverlayKey(
             OverlayPreferenceStore.BOOLEAN,
@@ -540,21 +620,21 @@ public class JavaEditorPreferencePage extends PreferencePage
         .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_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_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));
@@ -601,8 +681,10 @@ public class JavaEditorPreferencePage extends PreferencePage
   } /*
      * @see IWorkbenchPreferencePage#init()
      */
+
   public void init(IWorkbench workbench) {
   }
+
   /*
    * @see PreferencePage#createControl(Composite)
    */
@@ -611,6 +693,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     WorkbenchHelp.setHelp(getControl(),
         IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE);
   }
+
   private void handleSyntaxColorListSelection() {
     int i = fSyntaxColorList.getSelectionIndex();
     String key = fSyntaxColorListModel[i][1];
@@ -618,68 +701,64 @@ public class JavaEditorPreferencePage extends PreferencePage
     fSyntaxForegroundColorEditor.setColorValue(rgb);
     fBoldCheckBox.setSelection(fOverlayStore.getBoolean(key + BOLD));
   }
+
   private void handleAppearanceColorListSelection() {
     int i = fAppearanceColorList.getSelectionIndex();
     String key = fAppearanceColorListModel[i][1];
     RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
     fAppearanceColorEditor.setColorValue(rgb);
   }
-  private void handleContentAssistColorListSelection() {
-    int i = fContentAssistColorList.getSelectionIndex();
-    String key = fContentAssistColorListModel[i][1];
-    RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
-    fContentAssistColorEditor.setColorValue(rgb);
-  }
-  private void handleAnnotationListSelection() {
-    int i = fAnnotationList.getSelectionIndex();
-    String key = fAnnotationColorListModel[i][1];
-    RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
-    fAnnotationForegroundColorEditor.setColorValue(rgb);
-    key = fAnnotationColorListModel[i][2];
-    boolean showInText = fOverlayStore.getBoolean(key);
-    fShowInTextCheckBox.setSelection(showInText);
-    key = fAnnotationColorListModel[i][6];
-    if (key != null) {
-      fDecorationStyleCombo.setEnabled(showInText);
-      for (int j = 0; j < fAnnotationDecorationListModel.length; j++) {
-        String value = fOverlayStore.getString(key);
-        if (fAnnotationDecorationListModel[j][1].equals(value)) {
-          fDecorationStyleCombo.setText(fAnnotationDecorationListModel[j][0]);
-          break;
-        }
-      }
-    } else {
-      fDecorationStyleCombo.setEnabled(false);
-      fDecorationStyleCombo.setText(fAnnotationDecorationListModel[1][0]); // set
-                                                                           // selection
-                                                                           // to
-                                                                           // squigglies
-                                                                           // if
-                                                                           // the
-                                                                           // key
-                                                                           // is
-                                                                           // not
-                                                                           // there
-                                                                           // (legacy
-                                                                           // support)
-    }
-    key = fAnnotationColorListModel[i][3];
-    fShowInOverviewRulerCheckBox.setSelection(fOverlayStore.getBoolean(key));
-    key = fAnnotationColorListModel[i][4];
-    if (key != null) {
-      fHighlightInTextCheckBox.setSelection(fOverlayStore.getBoolean(key));
-      fHighlightInTextCheckBox.setEnabled(true);
-    } else
-      fHighlightInTextCheckBox.setEnabled(false);
-    key = fAnnotationColorListModel[i][5];
-    if (key != null) {
-      fShowInVerticalRulerCheckBox.setSelection(fOverlayStore.getBoolean(key));
-      fShowInVerticalRulerCheckBox.setEnabled(true);
-    } else {
-      fShowInVerticalRulerCheckBox.setSelection(true);
-      fShowInVerticalRulerCheckBox.setEnabled(false);
-    }
-  }
+
+  //  private void handleAnnotationListSelection() {
+  //    int i = fAnnotationList.getSelectionIndex();
+  //    String key = fAnnotationColorListModel[i][1];
+  //    RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
+  //    fAnnotationForegroundColorEditor.setColorValue(rgb);
+  //    key = fAnnotationColorListModel[i][2];
+  //    boolean showInText = fOverlayStore.getBoolean(key);
+  //    fShowInTextCheckBox.setSelection(showInText);
+  //    key = fAnnotationColorListModel[i][6];
+  //    if (key != null) {
+  //      fDecorationStyleCombo.setEnabled(showInText);
+  //      for (int j = 0; j < fAnnotationDecorationListModel.length; j++) {
+  //        String value = fOverlayStore.getString(key);
+  //        if (fAnnotationDecorationListModel[j][1].equals(value)) {
+  //          fDecorationStyleCombo.setText(fAnnotationDecorationListModel[j][0]);
+  //          break;
+  //        }
+  //      }
+  //    } else {
+  //      fDecorationStyleCombo.setEnabled(false);
+  //      fDecorationStyleCombo.setText(fAnnotationDecorationListModel[1][0]); // set
+  //                                                                           // selection
+  //                                                                           // to
+  //                                                                           // squigglies
+  //                                                                           // if
+  //                                                                           // the
+  //                                                                           // key
+  //                                                                           // is
+  //                                                                           // not
+  //                                                                           // there
+  //                                                                           // (legacy
+  //                                                                           // support)
+  //    }
+  //    key = fAnnotationColorListModel[i][3];
+  //    fShowInOverviewRulerCheckBox.setSelection(fOverlayStore.getBoolean(key));
+  //    key = fAnnotationColorListModel[i][4];
+  //    if (key != null) {
+  //      fHighlightInTextCheckBox.setSelection(fOverlayStore.getBoolean(key));
+  //      fHighlightInTextCheckBox.setEnabled(true);
+  //    } else
+  //      fHighlightInTextCheckBox.setEnabled(false);
+  //    key = fAnnotationColorListModel[i][5];
+  //    if (key != null) {
+  //      fShowInVerticalRulerCheckBox.setSelection(fOverlayStore.getBoolean(key));
+  //      fShowInVerticalRulerCheckBox.setEnabled(true);
+  //    } else {
+  //      fShowInVerticalRulerCheckBox.setSelection(true);
+  //      fShowInVerticalRulerCheckBox.setEnabled(false);
+  //    }
+  //  }
   private Control createSyntaxPage(Composite parent) {
     Composite colorComposite = new Composite(parent, SWT.NULL);
     colorComposite.setLayout(new GridLayout());
@@ -694,6 +773,7 @@ public class JavaEditorPreferencePage extends PreferencePage
         fOverlayStore.setValue(
             PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, !custom);
       }
+
       public void widgetDefaultSelected(SelectionEvent e) {
       }
     };
@@ -766,6 +846,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         handleSyntaxColorListSelection();
       }
@@ -774,6 +855,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         int i = fSyntaxColorList.getSelectionIndex();
         String key = fSyntaxColorListModel[i][1];
@@ -785,6 +867,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         PreferenceConverter.setValue(fOverlayStore,
             PreferenceConstants.EDITOR_BACKGROUND_COLOR, fBackgroundColorEditor
@@ -795,6 +878,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         int i = fSyntaxColorList.getSelectionIndex();
         String key = fSyntaxColorListModel[i][1];
@@ -803,11 +887,19 @@ public class JavaEditorPreferencePage extends PreferencePage
     });
     return colorComposite;
   }
+
   private Control createPreviewer(Composite parent) {
     Preferences coreStore = createTemporaryCorePreferenceStore();
     fJavaTextTools = new JavaTextTools(fOverlayStore, coreStore, false);
+    IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore();
+    IPreferenceStore store = new ChainedPreferenceStore(new IPreferenceStore[] {
+        fOverlayStore,
+        new PreferencesAdapter(createTemporaryCorePreferenceStore()),
+        generalTextStore });
+
     fPreviewViewer = new JavaSourceViewer(parent, null, null, false,
-        SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
+        SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER, store);
+
     fPreviewViewer.configure(new PHPSourceViewerConfiguration(fJavaTextTools,
         null));
     //         Font font= JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
@@ -818,15 +910,17 @@ public class JavaEditorPreferencePage extends PreferencePage
     fPreviewViewer.setEditable(false);
     String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
     IDocument document = new Document(content);
-    fJavaTextTools.setupJavaDocumentPartitioner(document, ".php"); //IJavaPartitions.JAVA_PARTITIONING);
+    fJavaTextTools.setupJavaDocumentPartitioner(document, ".php", null); //IJavaPartitions.JAVA_PARTITIONING);
     fPreviewViewer.setDocument(document);
     return fPreviewViewer.getControl();
   }
+
   private Preferences createTemporaryCorePreferenceStore() {
     Preferences result = new Preferences();
     result.setValue(COMPILER_TASK_TAGS, "TASK"); //$NON-NLS-1$
     return result;
   }
+
   private Control createAppearancePage(Composite parent) {
     Composite appearanceComposite = new Composite(parent, SWT.NONE);
     GridLayout layout = new GridLayout();
@@ -838,17 +932,22 @@ public class JavaEditorPreferencePage extends PreferencePage
         PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$
-    addTextField(appearanceComposite, label,
-        ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0,
-        true);
+    addTextField(
+        appearanceComposite,
+        label,
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN,
+        3, 0, true);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$
     addCheckBox(appearanceComposite, label,
-        ExtendedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, 0);
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, 0);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.showLineNumbers"); //$NON-NLS-1$
-    addCheckBox(appearanceComposite, label,
-        ExtendedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0);
+    addCheckBox(
+        appearanceComposite,
+        label,
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER,
+        0);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$
     addCheckBox(appearanceComposite, label,
@@ -856,11 +955,11 @@ public class JavaEditorPreferencePage extends PreferencePage
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$
     addCheckBox(appearanceComposite, label,
-        ExtendedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, 0);
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, 0);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.showPrintMargin"); //$NON-NLS-1$
     addCheckBox(appearanceComposite, label,
-        ExtendedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, 0);
+        AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, 0);
     label = PreferencesMessages
         .getString("JavaEditorPreferencePage.markOccurrences"); //$NON-NLS-1$
     //         Button master= addCheckBox(appearanceComposite, label,
@@ -917,6 +1016,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         handleAppearanceColorListSelection();
       }
@@ -925,6 +1025,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       public void widgetDefaultSelected(SelectionEvent e) {
         // do nothing
       }
+
       public void widgetSelected(SelectionEvent e) {
         int i = fAppearanceColorList.getSelectionIndex();
         String key = fAppearanceColorListModel[i][1];
@@ -934,185 +1035,193 @@ public class JavaEditorPreferencePage extends PreferencePage
     });
     return appearanceComposite;
   }
-  private Control createAnnotationsPage(Composite parent) {
-    Composite composite = new Composite(parent, SWT.NULL);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 2;
-    composite.setLayout(layout);
-    String text = PreferencesMessages
-        .getString("JavaEditorPreferencePage.analyseAnnotationsWhileTyping"); //$NON-NLS-1$
-    addCheckBox(composite, text,
-        PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0);
-    text = PreferencesMessages
-        .getString("JavaEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$
-    addCheckBox(composite, text,
-        PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0);
-    addFiller(composite);
-    Label label = new Label(composite, SWT.LEFT);
-    label.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotationPresentationOptions")); //$NON-NLS-1$
-    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan = 2;
-    label.setLayoutData(gd);
-    Composite editorComposite = new Composite(composite, SWT.NONE);
-    layout = new GridLayout();
-    layout.numColumns = 2;
-    layout.marginHeight = 0;
-    layout.marginWidth = 0;
-    editorComposite.setLayout(layout);
-    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-    gd.horizontalSpan = 2;
-    editorComposite.setLayoutData(gd);
-    fAnnotationList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL
-        | SWT.BORDER);
-    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING
-        | GridData.FILL_HORIZONTAL);
-    gd.heightHint = convertHeightInCharsToPixels(10);
-    fAnnotationList.setLayoutData(gd);
-    Composite optionsComposite = new Composite(editorComposite, SWT.NONE);
-    layout = new GridLayout();
-    layout.marginHeight = 0;
-    layout.marginWidth = 0;
-    layout.numColumns = 2;
-    optionsComposite.setLayout(layout);
-    optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-    fShowInTextCheckBox = new Button(optionsComposite, SWT.CHECK);
-    fShowInTextCheckBox.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotations.showInText")); //$NON-NLS-1$
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.horizontalSpan = 2;
-    fShowInTextCheckBox.setLayoutData(gd);
-    fDecorationStyleCombo = new Combo(optionsComposite, SWT.READ_ONLY);
-    for (int i = 0; i < fAnnotationDecorationListModel.length; i++)
-      fDecorationStyleCombo.add(fAnnotationDecorationListModel[i][0]);
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.horizontalSpan = 2;
-    gd.horizontalIndent = 20;
-    fDecorationStyleCombo.setLayoutData(gd);
-    fHighlightInTextCheckBox = new Button(optionsComposite, SWT.CHECK);
-    fHighlightInTextCheckBox.setText(PreferencesMessages
-        .getString("TextEditorPreferencePage.annotations.highlightInText")); //$NON-NLS-1$
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.horizontalSpan = 2;
-    fHighlightInTextCheckBox.setLayoutData(gd);
-    fShowInOverviewRulerCheckBox = new Button(optionsComposite, SWT.CHECK);
-    fShowInOverviewRulerCheckBox.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotations.showInOverviewRuler")); //$NON-NLS-1$
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.horizontalSpan = 2;
-    fShowInOverviewRulerCheckBox.setLayoutData(gd);
-    fShowInVerticalRulerCheckBox = new Button(optionsComposite, SWT.CHECK);
-    fShowInVerticalRulerCheckBox.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotations.showInVerticalRuler")); //$NON-NLS-1$
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.horizontalSpan = 2;
-    fShowInVerticalRulerCheckBox.setLayoutData(gd);
-    label = new Label(optionsComposite, SWT.LEFT);
-    label.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotations.color")); //$NON-NLS-1$
-    gd = new GridData();
-    gd.horizontalAlignment = GridData.BEGINNING;
-    label.setLayoutData(gd);
-    fAnnotationForegroundColorEditor = new ColorEditor(optionsComposite);
-    Button foregroundColorButton = fAnnotationForegroundColorEditor.getButton();
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    foregroundColorButton.setLayoutData(gd);
-    fAnnotationList.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        handleAnnotationListSelection();
-      }
-    });
-    fShowInTextCheckBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][2];
-        fOverlayStore.setValue(key, fShowInTextCheckBox.getSelection());
-        String decorationKey = fAnnotationColorListModel[i][6];
-        fDecorationStyleCombo.setEnabled(decorationKey != null
-            && fShowInTextCheckBox.getSelection());
-      }
-    });
-    fHighlightInTextCheckBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][4];
-        fOverlayStore.setValue(key, fHighlightInTextCheckBox.getSelection());
-      }
-    });
-    fShowInOverviewRulerCheckBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][3];
-        fOverlayStore
-            .setValue(key, fShowInOverviewRulerCheckBox.getSelection());
-      }
-    });
-    fShowInVerticalRulerCheckBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][5];
-        fOverlayStore
-            .setValue(key, fShowInVerticalRulerCheckBox.getSelection());
-      }
-    });
-    foregroundColorButton.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][1];
-        PreferenceConverter.setValue(fOverlayStore, key,
-            fAnnotationForegroundColorEditor.getColorValue());
-      }
-    });
-    fDecorationStyleCombo.addSelectionListener(new SelectionListener() {
-      /**
-       * {@inheritdoc}
-       */
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      /**
-       * {@inheritdoc}
-       */
-      public void widgetSelected(SelectionEvent e) {
-        int i = fAnnotationList.getSelectionIndex();
-        String key = fAnnotationColorListModel[i][6];
-        if (key != null) {
-          for (int j = 0; j < fAnnotationDecorationListModel.length; j++) {
-            if (fAnnotationDecorationListModel[j][0]
-                .equals(fDecorationStyleCombo.getText())) {
-              fOverlayStore.setValue(key, fAnnotationDecorationListModel[j][1]);
-              break;
-            }
-          }
-        }
-      }
-    });
-    return composite;
-  }
+
+  //  private Control createAnnotationsPage(Composite parent) {
+  //    Composite composite = new Composite(parent, SWT.NULL);
+  //    GridLayout layout = new GridLayout();
+  //    layout.numColumns = 2;
+  //    composite.setLayout(layout);
+  //    String text = PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.analyseAnnotationsWhileTyping");
+  // //$NON-NLS-1$
+  //    addCheckBox(composite, text,
+  //        PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0);
+  //    text = PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$
+  //    addCheckBox(composite, text,
+  //        PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0);
+  //    addFiller(composite);
+  //    Label label = new Label(composite, SWT.LEFT);
+  //    label.setText(PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.annotationPresentationOptions"));
+  // //$NON-NLS-1$
+  //    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+  //    gd.horizontalSpan = 2;
+  //    label.setLayoutData(gd);
+  //    Composite editorComposite = new Composite(composite, SWT.NONE);
+  //    layout = new GridLayout();
+  //    layout.numColumns = 2;
+  //    layout.marginHeight = 0;
+  //    layout.marginWidth = 0;
+  //    editorComposite.setLayout(layout);
+  //    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
+  //    gd.horizontalSpan = 2;
+  //    editorComposite.setLayoutData(gd);
+  //    fAnnotationList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL
+  //        | SWT.BORDER);
+  //    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING
+  //        | GridData.FILL_HORIZONTAL);
+  //    gd.heightHint = convertHeightInCharsToPixels(10);
+  //    fAnnotationList.setLayoutData(gd);
+  //    Composite optionsComposite = new Composite(editorComposite, SWT.NONE);
+  //    layout = new GridLayout();
+  //    layout.marginHeight = 0;
+  //    layout.marginWidth = 0;
+  //    layout.numColumns = 2;
+  //    optionsComposite.setLayout(layout);
+  //    optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
+  //    fShowInTextCheckBox = new Button(optionsComposite, SWT.CHECK);
+  //    fShowInTextCheckBox.setText(PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.annotations.showInText"));
+  // //$NON-NLS-1$
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    gd.horizontalSpan = 2;
+  //    fShowInTextCheckBox.setLayoutData(gd);
+  //    fDecorationStyleCombo = new Combo(optionsComposite, SWT.READ_ONLY);
+  //    for (int i = 0; i < fAnnotationDecorationListModel.length; i++)
+  //      fDecorationStyleCombo.add(fAnnotationDecorationListModel[i][0]);
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    gd.horizontalSpan = 2;
+  //    gd.horizontalIndent = 20;
+  //    fDecorationStyleCombo.setLayoutData(gd);
+  //    fHighlightInTextCheckBox = new Button(optionsComposite, SWT.CHECK);
+  //    fHighlightInTextCheckBox.setText(PreferencesMessages
+  //        .getString("TextEditorPreferencePage.annotations.highlightInText"));
+  // //$NON-NLS-1$
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    gd.horizontalSpan = 2;
+  //    fHighlightInTextCheckBox.setLayoutData(gd);
+  //    fShowInOverviewRulerCheckBox = new Button(optionsComposite, SWT.CHECK);
+  //    fShowInOverviewRulerCheckBox.setText(PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.annotations.showInOverviewRuler"));
+  // //$NON-NLS-1$
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    gd.horizontalSpan = 2;
+  //    fShowInOverviewRulerCheckBox.setLayoutData(gd);
+  //    fShowInVerticalRulerCheckBox = new Button(optionsComposite, SWT.CHECK);
+  //    fShowInVerticalRulerCheckBox.setText(PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.annotations.showInVerticalRuler"));
+  // //$NON-NLS-1$
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    gd.horizontalSpan = 2;
+  //    fShowInVerticalRulerCheckBox.setLayoutData(gd);
+  //    label = new Label(optionsComposite, SWT.LEFT);
+  //    label.setText(PreferencesMessages
+  //        .getString("JavaEditorPreferencePage.annotations.color")); //$NON-NLS-1$
+  //    gd = new GridData();
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    label.setLayoutData(gd);
+  //    fAnnotationForegroundColorEditor = new ColorEditor(optionsComposite);
+  //    Button foregroundColorButton =
+  // fAnnotationForegroundColorEditor.getButton();
+  //    gd = new GridData(GridData.FILL_HORIZONTAL);
+  //    gd.horizontalAlignment = GridData.BEGINNING;
+  //    foregroundColorButton.setLayoutData(gd);
+  //    fAnnotationList.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        handleAnnotationListSelection();
+  //      }
+  //    });
+  //    fShowInTextCheckBox.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][2];
+  //        fOverlayStore.setValue(key, fShowInTextCheckBox.getSelection());
+  //        String decorationKey = fAnnotationColorListModel[i][6];
+  //        fDecorationStyleCombo.setEnabled(decorationKey != null
+  //            && fShowInTextCheckBox.getSelection());
+  //      }
+  //    });
+  //    fHighlightInTextCheckBox.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][4];
+  //        fOverlayStore.setValue(key, fHighlightInTextCheckBox.getSelection());
+  //      }
+  //    });
+  //    fShowInOverviewRulerCheckBox.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][3];
+  //        fOverlayStore
+  //            .setValue(key, fShowInOverviewRulerCheckBox.getSelection());
+  //      }
+  //    });
+  //    fShowInVerticalRulerCheckBox.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][5];
+  //        fOverlayStore
+  //            .setValue(key, fShowInVerticalRulerCheckBox.getSelection());
+  //      }
+  //    });
+  //    foregroundColorButton.addSelectionListener(new SelectionListener() {
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][1];
+  //        PreferenceConverter.setValue(fOverlayStore, key,
+  //            fAnnotationForegroundColorEditor.getColorValue());
+  //      }
+  //    });
+  //    fDecorationStyleCombo.addSelectionListener(new SelectionListener() {
+  //      /**
+  //       * {@inheritdoc}
+  //       */
+  //      public void widgetDefaultSelected(SelectionEvent e) {
+  //        // do nothing
+  //      }
+  //      /**
+  //       * {@inheritdoc}
+  //       */
+  //      public void widgetSelected(SelectionEvent e) {
+  //        int i = fAnnotationList.getSelectionIndex();
+  //        String key = fAnnotationColorListModel[i][6];
+  //        if (key != null) {
+  //          for (int j = 0; j < fAnnotationDecorationListModel.length; j++) {
+  //            if (fAnnotationDecorationListModel[j][0]
+  //                .equals(fDecorationStyleCombo.getText())) {
+  //              fOverlayStore.setValue(key, fAnnotationDecorationListModel[j][1]);
+  //              break;
+  //            }
+  //          }
+  //        }
+  //      }
+  //    });
+  //    return composite;
+  //  }
   private String[][] createAnnotationTypeListModel(
       MarkerAnnotationPreferences preferences) {
     ArrayList listModelItems = new ArrayList();
@@ -1135,100 +1244,102 @@ public class JavaEditorPreferencePage extends PreferencePage
     Iterator e = sortedPreferences.iterator();
     while (e.hasNext()) {
       AnnotationPreference info = (AnnotationPreference) e.next();
-      listModelItems.add(new String[]{info.getPreferenceLabel(),
+      listModelItems.add(new String[] { info.getPreferenceLabel(),
           info.getColorPreferenceKey(), info.getTextPreferenceKey(),
           info.getOverviewRulerPreferenceKey(),
           info.getHighlightPreferenceKey(),
           info.getVerticalRulerPreferenceKey(),
-          info.getTextStylePreferenceKey()});
+          info.getTextStylePreferenceKey() });
     }
     String[][] items = new String[listModelItems.size()][];
     listModelItems.toArray(items);
     return items;
   }
+
   private Control createTypingPage(Composite parent) {
     Composite composite = new Composite(parent, SWT.NONE);
     GridLayout layout = new GridLayout();
     layout.numColumns = 1;
     composite.setLayout(layout);
-    //         String label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.overwriteMode");
-    // //$NON-NLS-1$
-    //         addCheckBox(composite, label,
-    // PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE, 1);
-    //         addFiller(composite);
-    //         
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.smartHomeEnd");
-    // //$NON-NLS-1$
-    //         addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END,
-    // 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.subWordNavigation");
-    // //$NON-NLS-1$
-    //         addCheckBox(composite, label,
-    // PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, 1);
-    addFiller(composite);
+    String label;
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.overwriteMode");
+//    //$NON-NLS-1$
+//    addCheckBox(composite, label,
+//        PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE, 1);
+//    addFiller(composite);
+//
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.smartHomeEnd");
+//    //$NON-NLS-1$
+//    addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END, 1);
+//
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.subWordNavigation");
+//    //$NON-NLS-1$
+//    addCheckBox(composite, label,
+//        PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, 1);
+//    addFiller(composite);
     Group group = new Group(composite, SWT.NONE);
     layout = new GridLayout();
     layout.numColumns = 2;
     group.setLayout(layout);
     group.setText(PreferencesMessages
         .getString("JavaEditorPreferencePage.typing.description")); //$NON-NLS-1$
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.wrapStrings");
-    // //$NON-NLS-1$
-    //         Button button= addCheckBox(group, label,
-    // PreferenceConstants.EDITOR_WRAP_STRINGS, 1);
-    //         
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.escapeStrings");
-    // //$NON-NLS-1$
-    //         fEscapeStringsButton= addCheckBox(group, label,
-    // PreferenceConstants.EDITOR_ESCAPE_STRINGS, 1);
-    //         createDependency(button, fEscapeStringsButton);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.smartPaste");
-    // //$NON-NLS-1$
-    //         addCheckBox(group, label, PreferenceConstants.EDITOR_SMART_PASTE, 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.insertSpaceForTabs");
-    // //$NON-NLS-1$
-    //         addCheckBox(group, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS,
-    // 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.closeStrings");
-    // //$NON-NLS-1$
-    //         addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_STRINGS, 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.closeBrackets");
-    // //$NON-NLS-1$
-    //         addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS, 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.closeBraces");
-    // //$NON-NLS-1$
-    //         addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.closeJavaDocs");
-    // //$NON-NLS-1$
-    //         button= addCheckBox(group, label,
-    // PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1);
-    //
-    //         label=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.addJavaDocTags");
-    // //$NON-NLS-1$
-    //         fAddJavaDocTagsButton= addCheckBox(group, label,
-    // PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1);
-    //         createDependency(button, fAddJavaDocTagsButton);
+
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.wrapStrings");
+//    //$NON-NLS-1$
+//    Button button = addCheckBox(group, label,
+//        PreferenceConstants.EDITOR_WRAP_STRINGS, 1);
+//
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.escapeStrings");
+//    //$NON-NLS-1$
+//    fEscapeStringsButton = addCheckBox(group, label,
+//        PreferenceConstants.EDITOR_ESCAPE_STRINGS, 1);
+//    createDependency(button, fEscapeStringsButton);
+
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.smartPaste");
+//    //$NON-NLS-1$
+//    addCheckBox(group, label, PreferenceConstants.EDITOR_SMART_PASTE, 1);
+
+    label = PreferencesMessages
+        .getString("JavaEditorPreferencePage.insertSpaceForTabs");
+    //$NON-NLS-1$
+    addCheckBox(group, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS, 1);
+
+    label = PreferencesMessages
+        .getString("JavaEditorPreferencePage.closeStrings");
+    //$NON-NLS-1$
+    addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP, 1);
+
+    label = PreferencesMessages
+        .getString("JavaEditorPreferencePage.closeBrackets");
+    //$NON-NLS-1$
+    addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, 1);
+
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.closeBraces");
+//    //$NON-NLS-1$
+//    addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1);
+//
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.closeJavaDocs");
+//    //$NON-NLS-1$
+//    button = addCheckBox(group, label,
+//        PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1);
+//
+//    label = PreferencesMessages
+//        .getString("JavaEditorPreferencePage.addJavaDocTags");
+//    //$NON-NLS-1$
+//    fAddJavaDocTagsButton = addCheckBox(group, label,
+//        PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1);
+//    createDependency(button, fAddJavaDocTagsButton);
     return composite;
   }
+
   private void addFiller(Composite composite) {
     Label filler = new Label(composite, SWT.LEFT);
     GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
@@ -1236,143 +1347,25 @@ public class JavaEditorPreferencePage extends PreferencePage
     gd.heightHint = convertHeightInCharsToPixels(1) / 2;
     filler.setLayoutData(gd);
   }
+
   private static void indent(Control control) {
     GridData gridData = new GridData();
     gridData.horizontalIndent = 20;
     control.setLayoutData(gridData);
   }
+
   private static void createDependency(final Button master, final Control slave) {
     indent(slave);
     master.addSelectionListener(new SelectionListener() {
       public void widgetSelected(SelectionEvent e) {
         slave.setEnabled(master.getSelection());
       }
+
       public void widgetDefaultSelected(SelectionEvent e) {
       }
     });
   }
-  private Control createContentAssistPage(Composite parent) {
-    Composite contentAssistComposite = new Composite(parent, SWT.NULL);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 2;
-    contentAssistComposite.setLayout(layout);
-    addCompletionRadioButtons(contentAssistComposite);
-    String label;
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.insertSingleProposalsAutomatically"); //$NON-NLS-1$
-    addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_AUTOINSERT, 0);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext"); //$NON-NLS-1$
-    addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, 0);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.presentProposalsInAlphabeticalOrder"); //$NON-NLS-1$
-    addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, 0);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName"); //$NON-NLS-1$
-    addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_ADDIMPORT, 0);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.fillArgumentNamesOnMethodCompletion"); //$NON-NLS-1$
-    Button button = addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, 0);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.guessArgumentNamesOnMethodCompletion"); //$NON-NLS-1$
-    //         fGuessMethodArgumentsButton= addCheckBox(contentAssistComposite, label,
-    // PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, 0);
-    //         createDependency(button, fGuessMethodArgumentsButton);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.enableAutoActivation"); //$NON-NLS-1$
-    final Button autoactivation = addCheckBox(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_AUTOACTIVATION, 0);
-    autoactivation.addSelectionListener(new SelectionAdapter() {
-      public void widgetSelected(SelectionEvent e) {
-        updateAutoactivationControls();
-      }
-    });
-    Control[] labelledTextField;
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.autoActivationDelay"); //$NON-NLS-1$
-    labelledTextField = addLabelledTextField(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, true);
-    fAutoInsertDelayLabel = getLabelControl(labelledTextField);
-    fAutoInsertDelayText = getTextControl(labelledTextField);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.autoActivationTriggersForJava"); //$NON-NLS-1$
-    labelledTextField = addLabelledTextField(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, 4, 0,
-        false);
-    fAutoInsertJavaTriggerLabel = getLabelControl(labelledTextField);
-    fAutoInsertJavaTriggerText = getTextControl(labelledTextField);
-    label = PreferencesMessages
-        .getString("JavaEditorPreferencePage.autoActivationTriggersForJavaDoc"); //$NON-NLS-1$
-    labelledTextField = addLabelledTextField(contentAssistComposite, label,
-        PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, 4, 0,
-        false);
-    fAutoInsertJavaDocTriggerLabel = getLabelControl(labelledTextField);
-    fAutoInsertJavaDocTriggerText = getTextControl(labelledTextField);
-    Label l = new Label(contentAssistComposite, SWT.LEFT);
-    l.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.codeAssist.colorOptions")); //$NON-NLS-1$
-    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan = 2;
-    l.setLayoutData(gd);
-    Composite editorComposite = new Composite(contentAssistComposite, SWT.NONE);
-    layout = new GridLayout();
-    layout.numColumns = 2;
-    layout.marginHeight = 0;
-    layout.marginWidth = 0;
-    editorComposite.setLayout(layout);
-    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-    gd.horizontalSpan = 2;
-    editorComposite.setLayoutData(gd);
-    fContentAssistColorList = new List(editorComposite, SWT.SINGLE
-        | SWT.V_SCROLL | SWT.BORDER);
-    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING
-        | GridData.FILL_HORIZONTAL);
-    gd.heightHint = convertHeightInCharsToPixels(8);
-    fContentAssistColorList.setLayoutData(gd);
-    Composite stylesComposite = new Composite(editorComposite, SWT.NONE);
-    layout = new GridLayout();
-    layout.marginHeight = 0;
-    layout.marginWidth = 0;
-    layout.numColumns = 2;
-    stylesComposite.setLayout(layout);
-    stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-    l = new Label(stylesComposite, SWT.LEFT);
-    l.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.codeAssist.color")); //$NON-NLS-1$
-    gd = new GridData();
-    gd.horizontalAlignment = GridData.BEGINNING;
-    l.setLayoutData(gd);
-    fContentAssistColorEditor = new ColorEditor(stylesComposite);
-    Button colorButton = fContentAssistColorEditor.getButton();
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalAlignment = GridData.BEGINNING;
-    colorButton.setLayoutData(gd);
-    fContentAssistColorList.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        handleContentAssistColorListSelection();
-      }
-    });
-    colorButton.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-        // do nothing
-      }
-      public void widgetSelected(SelectionEvent e) {
-        int i = fContentAssistColorList.getSelectionIndex();
-        String key = fContentAssistColorListModel[i][1];
-        PreferenceConverter.setValue(fOverlayStore, key,
-            fContentAssistColorEditor.getColorValue());
-      }
-    });
-    return contentAssistComposite;
-  }
+
   private void addCompletionRadioButtons(Composite contentAssistComposite) {
     Composite completionComposite = new Composite(contentAssistComposite,
         SWT.NONE);
@@ -1405,6 +1398,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     //         fCompletionOverwritesRadioButton.setLayoutData(new GridData());
     //         fCompletionOverwritesRadioButton.addSelectionListener(completionSelectionListener);
   }
+
   private Control createNavigationPage(Composite parent) {
     Composite composite = new Composite(parent, SWT.NULL);
     GridLayout layout = new GridLayout();
@@ -1501,6 +1495,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     //         });
     return composite;
   }
+
   private void handleBrowserLikeLinksKeyModifierModified() {
     //         String modifiers= fBrowserLikeLinksKeyModifierText.getText();
     //         int stateMask= computeStateMask(modifiers);
@@ -1521,6 +1516,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     //                 updateStatus(fBrowserLikeLinksKeyModifierStatus);
     //         }
   }
+
   //   private IStatus getBrowserLikeLinksKeyModifierStatus() {
   //           if (fBrowserLikeLinksKeyModifierStatus == null)
   //           fBrowserLikeLinksKeyModifierStatus= new StatusInfo();
@@ -1530,8 +1526,8 @@ public class JavaEditorPreferencePage extends PreferencePage
    * Computes the state mask for the given modifier string.
    * 
    * @param modifiers
-   *            the string with the modifiers, separated by '+', '-', ';', ','
-   *            or '.'
+   *          the string with the modifiers, separated by '+', '-', ';', ',' or
+   *          '.'
    * @return the state mask or -1 if the input is invalid
    */
   private int computeStateMask(String modifiers) {
@@ -1551,11 +1547,13 @@ public class JavaEditorPreferencePage extends PreferencePage
     }
     return stateMask;
   }
+
   /*
    * @see PreferencePage#createContents(Composite)
    */
   protected Control createContents(Composite parent) {
     initializeDefaultColors();
+    fFoldingConfigurationBlock = new FoldingConfigurationBlock(fOverlayStore);
     fOverlayStore.load();
     fOverlayStore.start();
     TabFolder folder = new TabFolder(parent, SWT.NONE);
@@ -1569,34 +1567,39 @@ public class JavaEditorPreferencePage extends PreferencePage
     item.setText(PreferencesMessages
         .getString("JavaEditorPreferencePage.colors")); //$NON-NLS-1$
     item.setControl(createSyntaxPage(folder));
-    //         item= new TabItem(folder, SWT.NONE);
-    //         item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.codeAssist"));
+
+    //    item = new TabItem(folder, SWT.NONE);
+    //    item.setText(PreferencesMessages
+    //        .getString("JavaEditorPreferencePage.annotationsTab.title"));
     // //$NON-NLS-1$
-    //         item.setControl(createContentAssistPage(folder));
+    //    item.setControl(createAnnotationsPage(folder));
     item = new TabItem(folder, SWT.NONE);
     item.setText(PreferencesMessages
-        .getString("JavaEditorPreferencePage.annotationsTab.title")); //$NON-NLS-1$
-    item.setControl(createAnnotationsPage(folder));
-    //         item= new TabItem(folder, SWT.NONE);
-    //         item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.typing.tabTitle"));
-    // //$NON-NLS-1$
-    //         item.setControl(createTypingPage(folder));
-    //
-    //         item= new TabItem(folder, SWT.NONE);
-    //         item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.hoverTab.title"));
-    // //$NON-NLS-1$
-    //         fJavaEditorHoverConfigurationBlock= new
-    // JavaEditorHoverConfigurationBlock(this, fOverlayStore);
-    //         item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder));
-    //         item= new TabItem(folder, SWT.NONE);
-    //         item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.navigationTab.title"));
+        .getString("JavaEditorPreferencePage.typing.tabTitle"));
+    //$NON-NLS-1$
+    item.setControl(createTypingPage(folder));
+
+    item = new TabItem(folder, SWT.NONE);
+    item.setText(PreferencesMessages
+        .getString("JavaEditorPreferencePage.hoverTab.title"));
+    //$NON-NLS-1$
+    fJavaEditorHoverConfigurationBlock = new JavaEditorHoverConfigurationBlock(
+        this, fOverlayStore);
+    item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder));
+    //                 item= new TabItem(folder, SWT.NONE);
+    //                 item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.navigationTab.title"));
     // //$NON-NLS-1$
-    //         item.setControl(createNavigationPage(folder));
-    //         
+    //                 item.setControl(createNavigationPage(folder));
+    item = new TabItem(folder, SWT.NONE);
+    item.setText(PreferencesMessages
+        .getString("JavaEditorPreferencePage.folding.title")); //$NON-NLS-1$
+    item.setControl(fFoldingConfigurationBlock.createControl(folder));
+
     initialize();
     Dialog.applyDialogFont(folder);
     return folder;
   }
+
   private void initialize() {
     initializeFields();
     for (int i = 0; i < fSyntaxColorListModel.length; i++)
@@ -1619,16 +1622,16 @@ public class JavaEditorPreferencePage extends PreferencePage
         }
       }
     });
-    for (int i = 0; i < fAnnotationColorListModel.length; i++)
-      fAnnotationList.add(fAnnotationColorListModel[i][0]);
-    fAnnotationList.getDisplay().asyncExec(new Runnable() {
-      public void run() {
-        if (fAnnotationList != null && !fAnnotationList.isDisposed()) {
-          fAnnotationList.select(0);
-          handleAnnotationListSelection();
-        }
-      }
-    });
+    //    for (int i = 0; i < fAnnotationColorListModel.length; i++)
+    //      fAnnotationList.add(fAnnotationColorListModel[i][0]);
+    //    fAnnotationList.getDisplay().asyncExec(new Runnable() {
+    //      public void run() {
+    //        if (fAnnotationList != null && !fAnnotationList.isDisposed()) {
+    //          fAnnotationList.select(0);
+    //          handleAnnotationListSelection();
+    //        }
+    //      }
+    //    });
     //         for (int i= 0; i < fContentAssistColorListModel.length; i++)
     //                 fContentAssistColorList.add(fContentAssistColorListModel[i][0]);
     //         fContentAssistColorList.getDisplay().asyncExec(new Runnable() {
@@ -1640,7 +1643,9 @@ public class JavaEditorPreferencePage extends PreferencePage
     //                         }
     //                 }
     //         });
+    fFoldingConfigurationBlock.initialize();
   }
+
   private void initializeFields() {
     Iterator e = fColorButtons.keySet().iterator();
     while (e.hasNext()) {
@@ -1669,10 +1674,11 @@ public class JavaEditorPreferencePage extends PreferencePage
     fBackgroundDefaultRadioButton.setSelection(default_);
     fBackgroundCustomRadioButton.setSelection(!default_);
     fBackgroundColorButton.setEnabled(!default_);
-    //         boolean closeJavaDocs=
-    // fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
-    //         fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
-    //         fEscapeStringsButton.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS));
+//    boolean closeJavaDocs = fOverlayStore
+//        .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
+//    fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
+//    fEscapeStringsButton.setEnabled(fOverlayStore
+//        .getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS));
     //         boolean fillMethodArguments=
     // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES);
     //         fGuessMethodArgumentsButton.setEnabled(fillMethodArguments);
@@ -1687,6 +1693,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     //         fStickyOccurrencesButton.setEnabled(markOccurrences);
     updateAutoactivationControls();
   }
+
   private void initializeDefaultColors() {
     if (!getPreferenceStore().contains(
         PreferenceConstants.EDITOR_BACKGROUND_COLOR)) {
@@ -1707,6 +1714,7 @@ public class JavaEditorPreferencePage extends PreferencePage
           PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgb);
     }
   }
+
   private void updateAutoactivationControls() {
     //        boolean autoactivation=
     // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION);
@@ -1718,17 +1726,20 @@ public class JavaEditorPreferencePage extends PreferencePage
     //        fAutoInsertJavaDocTriggerText.setEnabled(autoactivation);
     //         fAutoInsertJavaDocTriggerLabel.setEnabled(autoactivation);
   }
+
   /*
    * @see PreferencePage#performOk()
    */
   public boolean performOk() {
     //         fJavaEditorHoverConfigurationBlock.performOk();
+    fFoldingConfigurationBlock.performOk();
     //         fOverlayStore.setValue(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK,
     // computeStateMask(fBrowserLikeLinksKeyModifierText.getText()));
     fOverlayStore.propagate();
     PHPeclipsePlugin.getDefault().savePluginPreferences();
     return true;
   }
+
   /*
    * @see PreferencePage#performDefaults()
    */
@@ -1737,16 +1748,20 @@ public class JavaEditorPreferencePage extends PreferencePage
     initializeFields();
     handleSyntaxColorListSelection();
     handleAppearanceColorListSelection();
-    handleAnnotationListSelection();
+    //    handleAnnotationListSelection();
     //         handleContentAssistColorListSelection();
     //         fJavaEditorHoverConfigurationBlock.performDefaults();
+    fFoldingConfigurationBlock.performDefaults();
     super.performDefaults();
     fPreviewViewer.invalidateTextPresentation();
   }
+
   /*
    * @see DialogPage#dispose()
    */
   public void dispose() {
+    fFoldingConfigurationBlock.dispose();
+
     if (fJavaTextTools != null) {
       fJavaTextTools.dispose();
       fJavaTextTools = null;
@@ -1759,6 +1774,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       fBackgroundColor.dispose();
     super.dispose();
   }
+
   private Button addCheckBox(Composite parent, String label, String key,
       int indentation) {
     Button checkBox = new Button(parent, SWT.CHECK);
@@ -1771,21 +1787,26 @@ public class JavaEditorPreferencePage extends PreferencePage
     fCheckBoxes.put(checkBox, key);
     return checkBox;
   }
+
   private Text addTextField(Composite composite, String label, String key,
       int textLimit, int indentation, boolean isNumber) {
     return getTextControl(addLabelledTextField(composite, label, key,
         textLimit, indentation, isNumber));
   }
+
   private static Label getLabelControl(Control[] labelledTextField) {
     return (Label) labelledTextField[0];
   }
+
   private static Text getTextControl(Control[] labelledTextField) {
     return (Text) labelledTextField[1];
   }
+
   /**
    * Returns an array of size 2: - first element is of type <code>Label</code>-
-   * second element is of type <code>Text</code> Use <code>getLabelControl</code>
-   * and <code>getTextControl</code> to get the 2 controls.
+   * second element is of type <code>Text</code> Use
+   * <code>getLabelControl</code> and <code>getTextControl</code> to get the
+   * 2 controls.
    */
   private Control[] addLabelledTextField(Composite composite, String label,
       String key, int textLimit, int indentation, boolean isNumber) {
@@ -1806,8 +1827,9 @@ public class JavaEditorPreferencePage extends PreferencePage
     } else {
       textControl.addModifyListener(fTextFieldListener);
     }
-    return new Control[]{labelControl, textControl};
+    return new Control[] { labelControl, textControl };
   }
+
   private String loadPreviewContentFromFile(String filename) {
     String line;
     String separator = System.getProperty("line.separator"); //$NON-NLS-1$
@@ -1832,6 +1854,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     }
     return buffer.toString();
   }
+
   private void numberFieldChanged(Text textControl) {
     String number = textControl.getText();
     IStatus status = validatePositiveNumber(number);
@@ -1839,6 +1862,7 @@ public class JavaEditorPreferencePage extends PreferencePage
       fOverlayStore.setValue((String) fTextFields.get(textControl), number);
     updateStatus(status);
   }
+
   private IStatus validatePositiveNumber(String number) {
     StatusInfo status = new StatusInfo();
     if (number.length() == 0) {
@@ -1857,6 +1881,7 @@ public class JavaEditorPreferencePage extends PreferencePage
     }
     return status;
   }
+
   void updateStatus(IStatus status) {
     if (!status.matches(IStatus.ERROR)) {
       for (int i = 0; i < fNumberFields.size(); i++) {
@@ -1873,4 +1898,4 @@ public class JavaEditorPreferencePage extends PreferencePage
     setValid(!status.matches(IStatus.ERROR));
     StatusUtil.applyToStatusLine(this, status);
   }
-}
+}
\ No newline at end of file