replaced a lot of deprecated code; if someone runs into a commit conflict afterwards...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / preferences / JavaEditorPreferencePage.java
index 020ffd2..be4add7 100644 (file)
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -40,6 +40,7 @@ import net.sourceforge.phpeclipse.preferences.ColorEditor;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Preferences;
+import org.eclipse.jface.action.Action;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
@@ -49,12 +50,15 @@ import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.source.SourceViewer;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.graphics.RGB;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -71,8 +75,8 @@ import org.eclipse.swt.widgets.TabItem;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.help.WorkbenchHelp;
 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
 import org.eclipse.ui.texteditor.AnnotationPreference;
 import org.eclipse.ui.texteditor.ChainedPreferenceStore;
@@ -92,10 +96,12 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
   public final OverlayPreferenceStore.OverlayKey[] fKeys;
 
   private final String[][] fSyntaxColorListModel = new String[][] {
-      { PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"),
           PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"),
           PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR },
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.tags"), PreferenceConstants.EDITOR_PHP_TAG_COLOR },
@@ -105,19 +111,22 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR },
       //$NON-NLS-1$
+      { PreferencesMessages.getString("JavaEditorPreferencePage.variables_dollar"), PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR },
+      //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR },
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.strings"), PreferenceConstants.EDITOR_STRING_COLOR },
+      { PreferencesMessages.getString("JavaEditorPreferencePage.strings_dq"), PreferenceConstants.EDITOR_STRING_COLOR_DQ },
+      { PreferencesMessages.getString("JavaEditorPreferencePage.strings_sq"), PreferenceConstants.EDITOR_STRING_COLOR_SQ },
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.operators"), PreferenceConstants.EDITOR_PHP_OPERATOR_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.returnKeyword"),
-          PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR }, 
-      { PreferencesMessages.getString("JavaEditorPreferencePage.braces"),
-          PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR },
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.returnKeyword"),
+          PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR },
+      { PreferencesMessages.getString("JavaEditorPreferencePage.braces"), PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR },
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR },
       //$NON-NLS-1$
@@ -129,16 +138,20 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
   };
 
   private final String[][] fAppearanceColorListModel = new String[][] {
-      { PreferencesMessages.getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
           AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
           PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.currentLineHighlighColor"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.currentLineHighlighColor"),
           AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR },
       //$NON-NLS-1$
-      { PreferencesMessages.getString("JavaEditorPreferencePage.printMarginColor2"),
+      {
+          PreferencesMessages.getString("JavaEditorPreferencePage.printMarginColor2"),
           AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR },
       //$NON-NLS-1$
       { PreferencesMessages.getString("JavaEditorPreferencePage.findScopeColor2"), PreferenceConstants.EDITOR_FIND_SCOPE_COLOR },
@@ -241,7 +254,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
   //  private Button fAddJavaDocTagsButton;
 
   private Button fEscapeStringsButtonDQ;
-  
+
   private Button fEscapeStringsButtonSQ;
 
   //   private Button fGuessMethodArgumentsButton;
@@ -271,9 +284,12 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
 
   private Button fShowInVerticalRulerCheckBox;
 
-  //   private Text fBrowserLikeLinksKeyModifierText;
-  //   private Button fBrowserLikeLinksCheckBox;
-  //   private StatusInfo fBrowserLikeLinksKeyModifierStatus;
+  private Text fBrowserLikeLinksKeyModifierText;
+
+  private Button fBrowserLikeLinksCheckBox;
+
+  private StatusInfo fBrowserLikeLinksKeyModifierStatus;
+
   //   private Button fCompletionInsertsRadioButton;
   //   private Button fCompletionOverwritesRadioButton;
   //   private Button fStickyOccurrencesButton;
@@ -326,6 +342,10 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
         PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
+        PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_BOLD));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
         PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
         PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD));
@@ -334,8 +354,14 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     overlayKeys
         .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_TYPE_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_STRING_COLOR_DQ));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD_DQ));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR_SQ));
+    overlayKeys
+        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD_SQ));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
         PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
@@ -345,7 +371,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     overlayKeys
         .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_TAG_BOLD));
     //         overlayKeys.add(new
-    // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
+    // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING_DQ,
     // PreferenceConstants.EDITOR_JAVA_METHOD_NAME_COLOR));
     //         overlayKeys.add(new
     // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
@@ -460,19 +486,25 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     //        .add(new OverlayPreferenceStore.OverlayKey(
     //            OverlayPreferenceStore.BOOLEAN,
     //            PreferenceConstants.EDITOR_CLOSE_BRACES));
-        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
-            OverlayPreferenceStore.BOOLEAN,
-            PreferenceConstants.EDITOR_CLOSE_JAVADOCS));
-    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_WORDS));
-    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
-    overlayKeys
-        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ));
-    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_STRINGS_SQ));
     overlayKeys
-        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ));
-    
+        .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_JAVADOCS));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_WORDS));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_WRAP_STRINGS_SQ));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ));
+
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
         PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_FORMAT_JAVADOCS));
+    overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+        PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE));
+
     overlayKeys
         .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_HOME_END));
     overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
@@ -520,7 +552,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
    */
   public void createControl(Composite parent) {
     super.createControl(parent);
-    WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE);
+    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE);
   }
 
   private void handleSyntaxColorListSelection() {
@@ -706,19 +738,23 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     Preferences coreStore = createTemporaryCorePreferenceStore();
     fJavaTextTools = new JavaTextTools(fOverlayStore, coreStore, false);
     IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore();
-    IPreferenceStore store = new ChainedPreferenceStore(new IPreferenceStore[] { fOverlayStore,
-        new PreferencesAdapter(createTemporaryCorePreferenceStore()), generalTextStore });
+    IPreferenceStore store = new ChainedPreferenceStore(new IPreferenceStore[] {
+        fOverlayStore,
+        new PreferencesAdapter(createTemporaryCorePreferenceStore()),
+        generalTextStore });
 
     fPreviewViewer = new JavaSourceViewer(parent, null, null, false, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER, store);
-    JavaTextTools tools= PHPeclipsePlugin.getDefault().getJavaTextTools();
-       PHPSourceViewerConfiguration configuration= new PHPSourceViewerConfiguration(tools.getColorManager(), store, null, IPHPPartitions.PHP_PARTITIONING);
-//    PHPSourceViewerConfiguration configuration =new PHPSourceViewerConfiguration(fJavaTextTools, null, IPHPPartitions.PHP_PARTITIONING);
+    JavaTextTools tools = PHPeclipsePlugin.getDefault().getJavaTextTools();
+    PHPSourceViewerConfiguration configuration = new PHPSourceViewerConfiguration(tools.getColorManager(), store, null,
+        IPHPPartitions.PHP_PARTITIONING);
+    //    PHPSourceViewerConfiguration configuration =new PHPSourceViewerConfiguration(fJavaTextTools, null,
+    // IPHPPartitions.PHP_PARTITIONING);
     fPreviewViewer.configure(configuration);
-     
-    Font font= JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
-       fPreviewViewer.getTextWidget().setFont(font);
+
+    Font font = JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
+    fPreviewViewer.getTextWidget().setFont(font);
     new JavaSourcePreviewerUpdater(fPreviewViewer, configuration, store);
-       fPreviewViewer.setEditable(false);
+    fPreviewViewer.setEditable(false);
     String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
     IDocument document = new Document(content);
     fJavaTextTools.setupJavaDocumentPartitioner(document, IPHPPartitions.PHP_PARTITIONING);
@@ -1027,8 +1063,13 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     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(),
+      listModelItems.add(new String[] {
+          info.getPreferenceLabel(),
+          info.getColorPreferenceKey(),
+          info.getTextPreferenceKey(),
+          info.getOverviewRulerPreferenceKey(),
+          info.getHighlightPreferenceKey(),
+          info.getVerticalRulerPreferenceKey(),
           info.getTextStylePreferenceKey() });
     }
     String[][] items = new String[listModelItems.size()][];
@@ -1068,7 +1109,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
 
     label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapWords");//$NON-NLS-1$
     addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_WORDS, 1);
-    
+
     label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapStringsDQ");//$NON-NLS-1$
     Button button = addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS_DQ, 1);
 
@@ -1083,7 +1124,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     //$NON-NLS-1$
     fEscapeStringsButtonSQ = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ, 1);
     createDependency(button, fEscapeStringsButtonSQ);
-    
+
     label = PreferencesMessages.getString("JavaEditorPreferencePage.smartPaste");
     //$NON-NLS-1$
     addCheckBox(group, label, PreferenceConstants.EDITOR_SMART_PASTE, 1);
@@ -1108,11 +1149,15 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     //    //$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.closeJavaDocs");
+    //$NON-NLS-1$
+    button = addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1);
+    label = PreferencesMessages.getString("JavaEditorPreferencePage.formatJavaDocs");
+    //$NON-NLS-1$
+    button = addCheckBox(group, label, PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1);
+
+    label = PreferencesMessages.getString("JavaEditorPreferencePage.p_rtrim_on_save");
+    addCheckBox(group, label, PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE, 1);
     //
     //    label = PreferencesMessages
     //        .getString("JavaEditorPreferencePage.addJavaDocTags");
@@ -1165,14 +1210,14 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     // insert);
     //                 }
     //         };
-    //         
+    //
     //         fCompletionInsertsRadioButton= new Button(completionComposite, SWT.RADIO
     // | SWT.LEFT);
     //         fCompletionInsertsRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionInserts"));
     // //$NON-NLS-1$
     //         fCompletionInsertsRadioButton.setLayoutData(new GridData());
     //         fCompletionInsertsRadioButton.addSelectionListener(completionSelectionListener);
-    //         
+    //
     //         fCompletionOverwritesRadioButton= new Button(completionComposite,
     // SWT.RADIO | SWT.LEFT);
     //         fCompletionOverwritesRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionOverwrites"));
@@ -1186,127 +1231,114 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     GridLayout layout = new GridLayout();
     layout.numColumns = 2;
     composite.setLayout(layout);
-    //         String text=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinks");
-    // //$NON-NLS-1$
-    //         fBrowserLikeLinksCheckBox= addCheckBox(composite, text,
-    // PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, 0);
-    //         fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() {
-    //                 public void widgetSelected(SelectionEvent e) {
-    //                         boolean state= fBrowserLikeLinksCheckBox.getSelection();
-    //                         fBrowserLikeLinksKeyModifierText.setEnabled(state);
-    //                         handleBrowserLikeLinksKeyModifierModified();
-    //                 }
-    //                 public void widgetDefaultSelected(SelectionEvent e) {
-    //                 }
-    //         });
-    // Text field for modifier string
-    //         text=
-    // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier");
-    // //$NON-NLS-1$
-    //         fBrowserLikeLinksKeyModifierText= addTextField(composite, text,
-    // PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER, 20, 0,
-    // false);
-    //         fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT);
-    //         
-    //         if
-    // (computeStateMask(fOverlayStore.getString(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER))
-    // == -1) {
-    //                 // Fix possible illegal modifier string
-    //                 int stateMask=
-    // fOverlayStore.getInt(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK);
-    //                 if (stateMask == -1)
-    //                         fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$
-    //                 else
-    //                         fBrowserLikeLinksKeyModifierText.setText(EditorUtility.getModifierString(stateMask));
-    //         }
-    //         fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() {
-    //                 private boolean isModifierCandidate;
-    //                 public void keyPressed(KeyEvent e) {
-    //                         isModifierCandidate= e.keyCode > 0 && e.character == 0 && e.stateMask ==
-    // 0;
-    //                 }
-    //         
-    //                 public void keyReleased(KeyEvent e) {
-    //                         if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask
-    // && e.character == 0) {// && e.time -time < 1000) {
-    //                                 String modifierString= fBrowserLikeLinksKeyModifierText.getText();
-    //                                 Point selection= fBrowserLikeLinksKeyModifierText.getSelection();
-    //                                 int i= selection.x - 1;
-    //                                 while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
-    //                                         i--;
-    //                                 }
-    //                                 boolean needsPrefixDelimiter= i > -1 &&
-    // !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
-    //
-    //                                 i= selection.y;
-    //                                 while (i < modifierString.length() &&
-    // Character.isWhitespace(modifierString.charAt(i))) {
-    //                                         i++;
-    //                                 }
-    //                                 boolean needsPostfixDelimiter= i < modifierString.length() &&
-    // !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
-    //
-    //                                 String insertString;
-    //
-    //                                 if (needsPrefixDelimiter && needsPostfixDelimiter)
-    //                                         insertString=
-    // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter",
-    // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-    //                                 else if (needsPrefixDelimiter)
-    //                                         insertString=
-    // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifier",
-    // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-    //                                 else if (needsPostfixDelimiter)
-    //                                         insertString=
-    // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertModifierAndDelimiter",
-    // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-    //                                 else
-    //                                         insertString= Action.findModifierString(e.stateMask);
-    //
-    //                                 fBrowserLikeLinksKeyModifierText.insert(insertString);
-    //                         }
-    //                 }
-    //         });
-    //
-    //         fBrowserLikeLinksKeyModifierText.addModifyListener(new ModifyListener()
-    // {
-    //                 public void modifyText(ModifyEvent e) {
-    //                         handleBrowserLikeLinksKeyModifierModified();
-    //                 }
-    //         });
+    String text = PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinks");
+    //$NON-NLS-1$
+    fBrowserLikeLinksCheckBox = addCheckBox(composite, text, PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, 0);
+    fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() {
+      public void widgetSelected(SelectionEvent e) {
+        boolean state = fBrowserLikeLinksCheckBox.getSelection();
+        fBrowserLikeLinksKeyModifierText.setEnabled(state);
+        handleBrowserLikeLinksKeyModifierModified();
+      }
+
+      public void widgetDefaultSelected(SelectionEvent e) {
+      }
+    });
+    //     Text field for modifier string
+    text = PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier");
+    //$NON-NLS-1$
+    fBrowserLikeLinksKeyModifierText = addTextField(composite, text, PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER,
+        20, 0, false);
+    fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT);
+
+    if (computeStateMask(fOverlayStore.getString(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER)) == -1) {
+      // Fix possible illegal modifier string
+      int stateMask = fOverlayStore.getInt(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK);
+      if (stateMask == -1)
+        fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$
+      else
+        fBrowserLikeLinksKeyModifierText.setText(EditorUtility.getModifierString(stateMask));
+    }
+    fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() {
+      private boolean isModifierCandidate;
+
+      public void keyPressed(KeyEvent e) {
+        isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
+      }
+
+      public void keyReleased(KeyEvent e) {
+        if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {
+          String modifierString = fBrowserLikeLinksKeyModifierText.getText();
+          Point selection = fBrowserLikeLinksKeyModifierText.getSelection();
+          int i = selection.x - 1;
+          while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
+            i--;
+          }
+          boolean needsPrefixDelimiter = i > -1 && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
+
+          i = selection.y;
+          while (i < modifierString.length() && Character.isWhitespace(modifierString.charAt(i))) {
+            i++;
+          }
+          boolean needsPostfixDelimiter = i < modifierString.length()
+              && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
+
+          String insertString;
+
+          if (needsPrefixDelimiter && needsPostfixDelimiter)
+            insertString = PreferencesMessages.getFormattedString(
+                "JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter", new String[] { Action
+                    .findModifierString(e.stateMask) }); //$NON-NLS-1$
+          else if (needsPrefixDelimiter)
+            insertString = PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifier",
+                new String[] { Action.findModifierString(e.stateMask) }); //$NON-NLS-1$
+          else if (needsPostfixDelimiter)
+            insertString = PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertModifierAndDelimiter",
+                new String[] { Action.findModifierString(e.stateMask) }); //$NON-NLS-1$
+          else
+            insertString = Action.findModifierString(e.stateMask);
+
+          fBrowserLikeLinksKeyModifierText.insert(insertString);
+        }
+      }
+    });
+
+    fBrowserLikeLinksKeyModifierText.addModifyListener(new ModifyListener() {
+      public void modifyText(ModifyEvent e) {
+        handleBrowserLikeLinksKeyModifierModified();
+      }
+    });
     return composite;
   }
 
   private void handleBrowserLikeLinksKeyModifierModified() {
-    //         String modifiers= fBrowserLikeLinksKeyModifierText.getText();
-    //         int stateMask= computeStateMask(modifiers);
-    //         if (fBrowserLikeLinksCheckBox.getSelection() && (stateMask == -1 ||
-    // (stateMask & SWT.SHIFT) != 0)) {
-    //                 if (stateMask == -1)
-    //                         fBrowserLikeLinksKeyModifierStatus= new StatusInfo(IStatus.ERROR,
-    // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.modifierIsNotValid",
-    // modifiers)); //$NON-NLS-1$
-    //                 else
-    //                         fBrowserLikeLinksKeyModifierStatus= new StatusInfo(IStatus.ERROR,
-    // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.shiftIsDisabled"));
-    // //$NON-NLS-1$
-    //                 setValid(false);
-    //                 StatusUtil.applyToStatusLine(this, fBrowserLikeLinksKeyModifierStatus);
-    //         } else {
-    //                 fBrowserLikeLinksKeyModifierStatus= new StatusInfo();
-    //                 updateStatus(fBrowserLikeLinksKeyModifierStatus);
-    //         }
+    String modifiers = fBrowserLikeLinksKeyModifierText.getText();
+    int stateMask = computeStateMask(modifiers);
+    if (fBrowserLikeLinksCheckBox.getSelection() && (stateMask == -1 || (stateMask & SWT.SHIFT) != 0)) {
+      if (stateMask == -1)
+        fBrowserLikeLinksKeyModifierStatus = new StatusInfo(IStatus.ERROR, PreferencesMessages.getFormattedString(
+            "JavaEditorPreferencePage.navigation.modifierIsNotValid", modifiers)); //$NON-NLS-1$
+      else
+        fBrowserLikeLinksKeyModifierStatus = new StatusInfo(IStatus.ERROR, PreferencesMessages
+            .getString("JavaEditorPreferencePage.navigation.shiftIsDisabled"));
+      //$NON-NLS-1$
+      setValid(false);
+      StatusUtil.applyToStatusLine(this, fBrowserLikeLinksKeyModifierStatus);
+    } else {
+      fBrowserLikeLinksKeyModifierStatus = new StatusInfo();
+      updateStatus(fBrowserLikeLinksKeyModifierStatus);
+    }
+  }
+
+  private IStatus getBrowserLikeLinksKeyModifierStatus() {
+    if (fBrowserLikeLinksKeyModifierStatus == null)
+      fBrowserLikeLinksKeyModifierStatus = new StatusInfo();
+    return fBrowserLikeLinksKeyModifierStatus;
   }
 
-  //   private IStatus getBrowserLikeLinksKeyModifierStatus() {
-  //           if (fBrowserLikeLinksKeyModifierStatus == null)
-  //           fBrowserLikeLinksKeyModifierStatus= new StatusInfo();
-  //           return fBrowserLikeLinksKeyModifierStatus;
-  //   }
   /**
    * Computes the state mask for the given modifier string.
-   * 
+   *
    * @param modifiers
    *          the string with the modifiers, separated by '+', '-', ';', ',' or '.'
    * @return the state mask or -1 if the input is invalid
@@ -1360,10 +1392,10 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     //$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"));
+    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));
@@ -1445,9 +1477,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     fBackgroundDefaultRadioButton.setSelection(default_);
     fBackgroundCustomRadioButton.setSelection(!default_);
     fBackgroundColorButton.setEnabled(!default_);
-        boolean closeJavaDocs = fOverlayStore
-            .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
-//        fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
+    boolean closeJavaDocs = fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
+    //        fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
     fEscapeStringsButtonDQ.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
     fEscapeStringsButtonSQ.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_SQ));
     //         boolean fillMethodArguments=
@@ -1457,8 +1488,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
     // fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_INSERT_COMPLETION);
     //         fCompletionInsertsRadioButton.setSelection(completionInserts);
     //         fCompletionOverwritesRadioButton.setSelection(! completionInserts);
-    //         
-    //         fBrowserLikeLinksKeyModifierText.setEnabled(fBrowserLikeLinksCheckBox.getSelection());
+    //
+    fBrowserLikeLinksKeyModifierText.setEnabled(fBrowserLikeLinksCheckBox.getSelection());
     //         boolean markOccurrences=
     // fOverlayStore.getBoolean(PreferenceConstants.EDITOR_MARK_OCCURRENCES);
     //         fStickyOccurrencesButton.setEnabled(markOccurrences);
@@ -1496,8 +1527,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben
   public boolean performOk() {
     //         fJavaEditorHoverConfigurationBlock.performOk();
     fFoldingConfigurationBlock.performOk();
-    //         fOverlayStore.setValue(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK,
-    // computeStateMask(fBrowserLikeLinksKeyModifierText.getText()));
+    fOverlayStore.setValue(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK,
+        computeStateMask(fBrowserLikeLinksKeyModifierText.getText()));
     fOverlayStore.propagate();
     PHPeclipsePlugin.getDefault().savePluginPreferences();
     return true;