Added a new PHP Parser Preference Page (global and on project level)
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / ui / PreferenceConstants.java
index 3647756..56c2e4e 100644 (file)
  ******************************************************************************/
 package net.sourceforge.phpdt.ui;
 
+import net.sourceforge.phpdt.core.IClasspathEntry;
+import net.sourceforge.phpeclipse.IPreferenceConstants;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
 
+import org.eclipse.jface.action.Action;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.RGB;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.texteditor.AbstractTextEditor;
-import org.eclipse.ui.texteditor.WorkbenchChainedTextFontFieldEditor;
-
-//import org.phpeclipse.phpdt.core.IClasspathEntry;
-//
-import net.sourceforge.phpdt.ui.text.IJavaColorConstants;
 //
 //import org.phpeclipse.phpdt.internal.ui.JavaPlugin;
 //import org.phpeclipse.phpdt.internal.ui.preferences.NewJavaProjectPreferencePage;
@@ -386,6 +383,36 @@ public class PreferenceConstants {
    * </p>
    */
   public static final String JAVADOC_COMMAND = "command"; //$NON-NLS-1$
+  /**
+        * A named preference that defines the key for the hover modifiers.
+        *
+        * @see JavaUI
+        * @since 2.1
+        */
+  public static final String EDITOR_TEXT_HOVER_MODIFIERS = "hoverModifiers"; //$NON-NLS-1$
+       /**
+        * The id of the best match hover contributed for extension point
+        * <code>javaEditorTextHovers</code>.
+        *
+        * @since 2.1
+        */
+       public static String ID_BESTMATCH_HOVER= "net.sourceforge.phpdt.ui.BestMatchHover"; //$NON-NLS-1$
+
+       /**
+        * The id of the source code hover contributed for extension point
+        * <code>javaEditorTextHovers</code>.
+        *
+        * @since 2.1
+        */
+       public static String ID_SOURCE_HOVER= "net.sourceforge.phpdt.ui.JavaSourceHover"; //$NON-NLS-1$
+
+  /**
+        * The id of the problem hover contributed for extension point
+        * <code>javaEditorTextHovers</code>.
+        *
+        * @since 2.1
+        */
+  public static String ID_PROBLEM_HOVER = "net.sourceforge.phpdt.ui.ProblemHover"; //$NON-NLS-1$
 
   /**
    * A named preference that controls whether bracket matching highlighting is turned on or off.
@@ -507,7 +534,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_PROBLEM_INDICATION = "problemIndication"; //$NON-NLS-1$
+//  public final static String EDITOR_PROBLEM_INDICATION = "problemIndication"; //$NON-NLS-1$
 
   /**
    * A named preference that holds the color used to render problem indicators.
@@ -520,7 +547,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_PROBLEM_INDICATION_COLOR = "problemIndicationColor"; //$NON-NLS-1$
+//  public final static String EDITOR_PROBLEM_INDICATION_COLOR = "problemIndicationColor"; //$NON-NLS-1$
 
   /**PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR;
    * A named preference that controls whether the editor shows warning indicators in text (squiggly lines). 
@@ -528,7 +555,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
+//  public final static String EDITOR_WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
 
   /**
    * A named preference that holds the color used to render warning indicators.
@@ -541,7 +568,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
+//  public final static String EDITOR_WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
 
   /**
    * A named preference that controls whether the editor shows task indicators in text (squiggly lines). 
@@ -699,34 +726,44 @@ public class PreferenceConstants {
 
   /**
    * A named preference that controls whether the 'close strings' feature
-   *  is   enabled.
-   * <p>
-   * Value is of type <code>Boolean</code>.
-   * </p>
-   * @since 2.1
-   */
-  public final static String EDITOR_CLOSE_STRINGS = "closeStrings"; //$NON-NLS-1$
-
-  /**
-   * A named preference that controls whether the 'wrap strings' feature is
-   * enabled.
+   *  is   enabled in PHP mode
    * <p>
    * Value is of type <code>Boolean</code>.
    * </p>
    * @since 2.1
    */
-  public final static String EDITOR_WRAP_STRINGS = "wrapStrings"; //$NON-NLS-1$
+  public final static String EDITOR_CLOSE_STRINGS_PHP = "closeStringsPHP"; //$NON-NLS-1$
 
   /**
    * A named preference that controls whether the 'close brackets' feature is
-   * enabled.
+   * enabled in PHP mode
    * <p>
    * Value is of type <code>Boolean</code>.
    * </p>
    * @since 2.1
    */
-  public final static String EDITOR_CLOSE_BRACKETS = "closeBrackets"; //$NON-NLS-1$
-
+  public final static String EDITOR_CLOSE_BRACKETS_PHP = "closeBracketsPHP"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether the 'wrap strings' feature is
+        * enabled.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 2.1
+        */
+       public final static String EDITOR_WRAP_STRINGS= "wrapStrings"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether the 'escape strings' feature is
+        * enabled.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 3.0
+        */
+       public final static String EDITOR_ESCAPE_STRINGS= "escapeStrings"; //$NON-NLS-1$
+       
   /**
    * A named preference that controls whether the 'close braces' feature is
    * enabled.
@@ -778,6 +815,26 @@ public class PreferenceConstants {
   public final static String EDITOR_SMART_PASTE = "smartPaste"; //$NON-NLS-1$
 
   /**
+   * A named preference that controls whether the 'close strings' feature
+   *  is   enabled in HTML mode
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   * @since 2.1
+   */
+  public final static String EDITOR_CLOSE_STRINGS_HTML = "closeStringsHTML"; //$NON-NLS-1$
+
+  /**
+   * A named preference that controls whether the 'close brackets' feature is
+   * enabled in HTML mode
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   * @since 2.1
+   */
+  public final static String EDITOR_CLOSE_BRACKETS_HTML = "closeBracketsHTML"; //$NON-NLS-1$
+
+  /**
    * A named preference that controls whether the 'smart home-end' feature is
    * enabled.
    * <p>
@@ -786,7 +843,16 @@ public class PreferenceConstants {
    * @since 2.1
    */
   public final static String EDITOR_SMART_HOME_END = AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END;
-
+  
+  /**
+        * A named preference that controls whether the 'sub-word navigation' feature is
+        * enabled.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 2.1
+        */
+       public final static String EDITOR_SUB_WORD_NAVIGATION= "subWordNavigation"; //$NON-NLS-1$
   /**
    * A named preference that controls if temporary problems are evaluated and shown in the UI.
    * <p>
@@ -893,7 +959,15 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_MULTI_LINE_COMMENT;
+  public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IPreferenceConstants.PHP_MULTILINE_COMMENT;
+
+  /**
+        * The symbolic font name for the Java editor text font 
+        * (value <code>"org.eclipse.jdt.ui.editors.textfont"</code>).
+        * 
+        * @since 2.1
+        */
+public final static String EDITOR_TEXT_FONT= "net.sourceforge.phpdt.ui.editors.textfont"; //$NON-NLS-1$
 
   /**
    * A named preference that controls whether multi line comments are rendered in bold.
@@ -902,7 +976,7 @@ public class PreferenceConstants {
    * in bold. If <code>false</code> the are rendered using no font style attribute.
    * </p>
    */
-  public final static String EDITOR_MULTI_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_MULTI_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_MULTI_LINE_COMMENT_BOLD = IPreferenceConstants.PHP_MULTILINE_COMMENT + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render single line comments.
@@ -914,7 +988,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT;
+  public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR = IPreferenceConstants.PHP_SINGLELINE_COMMENT;
 
   /**
    * A named preference that controls whether sinle line comments are rendered in bold.
@@ -923,7 +997,27 @@ public class PreferenceConstants {
    * in bold. If <code>false</code> the are rendered using no font style attribute.
    * </p>
    */
-  public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD = IPreferenceConstants.PHP_SINGLELINE_COMMENT + EDITOR_BOLD_SUFFIX;
+
+  /**
+        * A named preference that holds the color used to render php start and stop tags.
+        * <p>
+        * Value is of type <code>String</code>. A RGB color value encoded as a string
+        * using class <code>PreferenceConverter</code>
+        * </p>
+        * 
+        * @see org.eclipse.jface.resource.StringConverter
+        * @see org.eclipse.jface.preference.PreferenceConverter
+        */
+  public final static String EDITOR_JAVA_TAG_COLOR = IPreferenceConstants.PHP_TAG;
+
+  /**
+   * A named preference that controls whether php start and stop tags are rendered in bold.
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   */
+  public final static String EDITOR_JAVA_TAG_BOLD = IPreferenceConstants.PHP_TAG + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php keywords.
@@ -935,7 +1029,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVA_KEYWORD_COLOR = IJavaColorConstants.PHP_KEYWORD;
+  public final static String EDITOR_JAVA_KEYWORD_COLOR = IPreferenceConstants.PHP_KEYWORD;
 
   /**
    * A named preference that controls whether keywords are rendered in bold.
@@ -943,7 +1037,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVA_KEYWORD_BOLD = IJavaColorConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVA_KEYWORD_BOLD = IPreferenceConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render predefined php
@@ -956,7 +1050,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_PHP_FUNCTIONNAME_COLOR = IJavaColorConstants.PHP_FUNCTIONNAME;
+  public final static String EDITOR_PHP_FUNCTIONNAME_COLOR = IPreferenceConstants.PHP_FUNCTIONNAME;
 
   /**
    * A named preference that controls whether function names are rendered in
@@ -965,7 +1059,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IJavaColorConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IPreferenceConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php
@@ -978,7 +1072,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_PHP_VARIABLE_COLOR = IJavaColorConstants.PHP_VARIABLE;
+  public final static String EDITOR_PHP_VARIABLE_COLOR = IPreferenceConstants.PHP_VARIABLE;
 
   /**
    * A named preference that controls whether variables are rendered in bold.
@@ -986,7 +1080,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_PHP_VARIABLE_BOLD = IJavaColorConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_PHP_VARIABLE_BOLD = IPreferenceConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php constants.
@@ -998,7 +1092,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_PHP_CONSTANT_COLOR = IJavaColorConstants.PHP_CONSTANT;
+  public final static String EDITOR_PHP_CONSTANT_COLOR = IPreferenceConstants.PHP_CONSTANT;
 
   /**
    * A named preference that controls whether constants are rendered in bold.
@@ -1006,7 +1100,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_PHP_CONSTANT_BOLD = IJavaColorConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_PHP_CONSTANT_BOLD = IPreferenceConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php types.
@@ -1018,7 +1112,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_PHP_TYPE_COLOR = IJavaColorConstants.PHP_TYPE;
+  public final static String EDITOR_PHP_TYPE_COLOR = IPreferenceConstants.PHP_TYPE;
 
   /**
    * A named preference that controls whether types are rendered in bold.
@@ -1026,7 +1120,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_PHP_TYPE_BOLD = IJavaColorConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_PHP_TYPE_BOLD = IPreferenceConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render string constants.
@@ -1038,7 +1132,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_STRING_COLOR = IJavaColorConstants.PHP_STRING;
+  public final static String EDITOR_STRING_COLOR = IPreferenceConstants.PHP_STRING;
 
   /**
    * A named preference that controls whether string constants are rendered in bold.
@@ -1046,7 +1140,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_STRING_BOLD = IJavaColorConstants.PHP_STRING + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_STRING_BOLD = IPreferenceConstants.PHP_STRING + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php default text.
@@ -1058,7 +1152,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVA_DEFAULT_COLOR = IJavaColorConstants.PHP_DEFAULT;
+  public final static String EDITOR_JAVA_DEFAULT_COLOR = IPreferenceConstants.PHP_DEFAULT;
 
   /**
    * A named preference that controls whether Java default text is rendered in bold.
@@ -1066,7 +1160,29 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVA_DEFAULT_BOLD = IJavaColorConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVA_DEFAULT_BOLD = IPreferenceConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX;
+
+  /**
+        * A named preference that holds the color used to render task tags.
+        * <p>
+        * Value is of type <code>String</code>. A RGB color value encoded as a string
+        * using class <code>PreferenceConverter</code>
+        * </p>
+        * 
+        * @see org.eclipse.jface.resource.StringConverter
+        * @see org.eclipse.jface.preference.PreferenceConverter
+        * @since 2.1
+        */
+       public final static String EDITOR_TASK_TAG_COLOR= IPreferenceConstants.TASK_TAG;
+
+       /**
+        * A named preference that controls whether task tags are rendered in bold.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 2.1
+        */
+       public final static String EDITOR_TASK_TAG_BOLD= IPreferenceConstants.TASK_TAG + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render phpdoc keywords.
@@ -1078,7 +1194,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVADOC_KEYWORD_COLOR = IJavaColorConstants.PHPDOC_KEYWORD;
+  public final static String EDITOR_JAVADOC_KEYWORD_COLOR = IPreferenceConstants.PHPDOC_KEYWORD;
 
   /**
    * A named preference that controls whether phpdoc keywords are rendered in bold.
@@ -1086,7 +1202,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVADOC_KEYWORD_BOLD = IJavaColorConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVADOC_KEYWORD_BOLD = IPreferenceConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render phpdoc tags.
@@ -1098,7 +1214,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVADOC_TAG_COLOR = IJavaColorConstants.PHPDOC_TAG;
+  public final static String EDITOR_JAVADOC_TAG_COLOR = IPreferenceConstants.PHPDOC_TAG;
 
   /**
    * A named preference that controls whether phpdoc tags are rendered in bold.
@@ -1106,7 +1222,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVADOC_TAG_BOLD = IJavaColorConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVADOC_TAG_BOLD = IPreferenceConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render phpdoc links.
@@ -1118,7 +1234,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVADOC_LINKS_COLOR = IJavaColorConstants.PHPDOC_LINK;
+  public final static String EDITOR_JAVADOC_LINKS_COLOR = IPreferenceConstants.PHPDOC_LINK;
 
   /**
    * A named preference that controls whether phpdoc links are rendered in bold.
@@ -1126,7 +1242,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVADOC_LINKS_BOLD = IJavaColorConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVADOC_LINKS_BOLD = IPreferenceConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render phpdoc default text.
@@ -1138,7 +1254,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_JAVADOC_DEFAULT_COLOR = IJavaColorConstants.PHPDOC_DEFAULT;
+  public final static String EDITOR_JAVADOC_DEFAULT_COLOR = IPreferenceConstants.PHPDOC_DEFAULT;
 
   /**
    * A named preference that controls whether phpdoc default text is rendered in bold.
@@ -1146,7 +1262,7 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_JAVADOC_DEFAULT_BOLD = IJavaColorConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_JAVADOC_DEFAULT_BOLD = IPreferenceConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used for 'linked-mode' underline.
@@ -1307,6 +1423,297 @@ public class PreferenceConstants {
    * </p>
    */
   public static final String EDITOR_SHOW_SEGMENTS = "net.sourceforge.phpdt.ui.editor.showSegments"; //$NON-NLS-1$
+  /**
+        * A named preference that controls if browser like links are turned on or off.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 2.1
+        */
+  public static final String EDITOR_BROWSER_LIKE_LINKS = "browserLikeLinks"; //$NON-NLS-1$
+
+  /**
+   * A named preference that controls the key modifier for browser like links.
+   * <p>
+   * Value is of type <code>String</code>.
+   * </p>
+   * 
+   * @since 2.1
+   */
+  public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER = "browserLikeLinksKeyModifier"; //$NON-NLS-1$
+  /**
+        * A named preference that controls whether occurrences are marked in the editor.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public static final String EDITOR_MARK_OCCURRENCES= "markOccurrences"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether occurrences are sticky in the editor.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public static final String EDITOR_STICKY_OCCURRENCES= "stickyOccurrences"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls disabling of the overwrite mode.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public static final String EDITOR_DISABLE_OVERWRITE_MODE= "disable_overwrite_mode"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls the "smart semicolon" smart typing handler
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public static final String EDITOR_SMART_SEMICOLON= "smart_semicolon"; //$NON-NLS-1$
+       
+       /**
+        * A named preference that controls the "smart opening brace" smart typing handler
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public static final String EDITOR_SMART_OPENING_BRACE= "smart_opening_brace"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls the smart tab behaviour.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * 
+        * @since 3.0
+        */
+       public static final String EDITOR_SMART_TAB= "smart_tab"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether Java comments should be
+        * spell-checked.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_CHECK_SPELLING= ISpellCheckPreferenceKeys.SPELLING_CHECK_SPELLING;
+
+       /**
+        * A named preference that controls whether words containing digits should
+        * be skipped during spell-checking.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_IGNORE_DIGITS= ISpellCheckPreferenceKeys.SPELLING_IGNORE_DIGITS;
+
+       /**
+        * A named preference that controls whether mixed case words should be
+        * skipped during spell-checking.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_IGNORE_MIXED= ISpellCheckPreferenceKeys.SPELLING_IGNORE_MIXED;
+
+       /**
+        * A named preference that controls whether sentence capitalization should
+        * be ignored during spell-checking.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_IGNORE_SENTENCE= ISpellCheckPreferenceKeys.SPELLING_IGNORE_SENTENCE;
+
+       /**
+        * A named preference that controls whether upper case words should be
+        * skipped during spell-checking.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_IGNORE_UPPER= ISpellCheckPreferenceKeys.SPELLING_IGNORE_UPPER;
+
+       /**
+        * A named preference that controls whether urls should be ignored during
+        * spell-checking.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_IGNORE_URLS= ISpellCheckPreferenceKeys.SPELLING_IGNORE_URLS;
+
+       /**
+        * A named preference that controls the locale used for spell-checking.
+        * <p>
+        * Value is of type <code>String</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_LOCALE= ISpellCheckPreferenceKeys.SPELLING_LOCALE;
+
+       /**
+        * A named preference that controls the number of proposals offered during
+        * spell-checking.
+        * <p>
+        * Value is of type <code>Integer</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_PROPOSAL_THRESHOLD= ISpellCheckPreferenceKeys.SPELLING_PROPOSAL_THRESHOLD;
+
+       /**
+        * A named preference that specifies the workspace user dictionary.
+        * <p>
+        * Value is of type <code>Integer</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_USER_DICTIONARY= ISpellCheckPreferenceKeys.SPELLING_USER_DICTIONARY;
+
+       /**
+        * A named preference that specifies whether spelling dictionaries are available to content assist.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * 
+        * @since 3.0
+        */
+//     public final static String SPELLING_ENABLE_CONTENTASSIST= ISpellCheckPreferenceKeys.SPELLING_ENABLE_CONTENTASSIST;
+
+       /**
+        * A named preference that controls whether code snippets are formatted
+        * in Javadoc comments.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_FORMATSOURCE= "comment_format_source_code"; //$NON-NLS-1$
+       
+       /**
+        * A named preference that controls whether description of Javadoc
+        * parameters are indented.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_INDENTPARAMETERDESCRIPTION= "comment_indent_parameter_description"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether the header comment of
+        * a Java source file is formatted.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_FORMATHEADER= "comment_format_header"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether Javadoc root tags
+        * are indented.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_INDENTROOTTAGS= "comment_indent_root_tags"; //$NON-NLS-1$
+       
+       /**
+        * A named preference that controls whether Javadoc comments
+        * are formatted by the content formatter.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_FORMAT= "comment_format_comments"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether a new line is inserted
+        * after Javadoc root tag parameters.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_NEWLINEFORPARAMETER= "comment_new_line_for_parameter"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether an empty line is inserted before
+        * the Javadoc root tag block.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_SEPARATEROOTTAGS= "comment_separate_root_tags"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether blank lines are cleared during formatting
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_CLEARBLANKLINES= "comment_clear_blank_lines"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls the line length of comments.
+        * <p>
+        * Value is of type <code>Integer</code>. The value must be at least 4 for reasonable formatting.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_LINELENGTH= "comment_line_length"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether html tags are formatted.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        *
+        * @since 3.0
+        */     
+       public final static String FORMATTER_COMMENT_FORMATHTML= "comment_format_html"; //$NON-NLS-1$
 
   /**
    * A named preference that controls if the Java code assist gets auto activated.
@@ -1419,7 +1826,6 @@ public class PreferenceConstants {
    */
   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC = "content_assist_autoactivation_triggers_phpdoc"; //$NON-NLS-1$
 
-
   /**
    * A named preference that holds the characters that auto activate code assist
    * in HTML.
@@ -1598,6 +2004,30 @@ public class PreferenceConstants {
    */
   public static final String TEMPLATES_USE_CODEFORMATTER = "net.sourceforge.phpdt.ui.template.format"; //$NON-NLS-1$
 
+  /**
+   * A named preference that controls the key modifier mask for browser like links.
+   * The value is only used if the value of <code>EDITOR_BROWSER_LIKE_LINKS</code>
+   * cannot be resolved to valid SWT modifier bits.
+   * <p>
+   * Value is of type <code>String</code>.
+   * </p>
+   * 
+   * @see #EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER
+   * @since 2.1.1
+   */
+  public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK = "browserLikeLinksKeyModifierMask"; //$NON-NLS-1$
+
+  /**
+        * A named preference that defines the key for the hover modifier state masks.
+        * The value is only used if the value of <code>EDITOR_TEXT_HOVER_MODIFIERS</code>
+        * cannot be resolved to valid SWT modifier bits.
+        * 
+        * @see JavaUI
+        * @see #EDITOR_TEXT_HOVER_MODIFIERS
+        * @since 2.1.1
+        */
+  public static final String EDITOR_TEXT_HOVER_MODIFIER_MASKS = "hoverModifierMasks"; //$NON-NLS-1$
+
   public static void initializeDefaultValues(IPreferenceStore store) {
     store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false);
 
@@ -1680,29 +2110,29 @@ public class PreferenceConstants {
 
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR, new RGB(185, 176, 180));
 
-    store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0, 128));
-    store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true);
-
-    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200, 45));
-    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true);
-
-    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255));
-    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false);
-
-    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99));
-    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false);
-
-    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192));
-    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false);
-
-    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0));
-    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false);
+//    store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0, 128));
+//    store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true);
+//
+//    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200, 45));
+//    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true);
+//
+//    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255));
+//    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false);
+//
+//    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99));
+//    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false);
+//
+//    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192));
+//    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false);
+//
+//    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false);
+//    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0));
+//    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false);
 
     store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true);
     store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, false);
@@ -1714,7 +2144,7 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.EDITOR_LINE_NUMBER_RULER, false);
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0));
 
-    WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT);
+//    WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT);
 
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(0, 200, 100));
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINK_COLOR, new RGB(0, 0, 255));
@@ -1734,6 +2164,9 @@ public class PreferenceConstants {
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
     store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false);
 
+    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_TAG_COLOR, new RGB(255, 0, 128));
+    store.setDefault(PreferenceConstants.EDITOR_JAVA_TAG_BOLD, true);
+
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR, new RGB(127, 0, 85));
     store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true);
 
@@ -1787,16 +2220,22 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true);
     store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, false);
     store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, true);
-
+       
     store.setDefault(PreferenceConstants.EDITOR_SMART_HOME_END, true);
+       store.setDefault(PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, true);
     store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true);
-    store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS, true);
-    store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS, true);
+    store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP, true);
+    store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, true);
     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true);
     store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true);
     store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS, true);
+    store.setDefault(PreferenceConstants.EDITOR_ESCAPE_STRINGS, false);
     store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true);
     store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, true);
+       store.setDefault(PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE, false);
+
+    store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML, true);
+    store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML, true);
 
     // store.setDefault(PreferenceConstants.EDITOR_DEFAULT_HOVER, JavaPlugin.ID_BESTMATCH_HOVER);
     store.setDefault(PreferenceConstants.EDITOR_NONE_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
@@ -1807,6 +2246,14 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.EDITOR_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
     store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
 
+    String ctrl = Action.findModifierString(SWT.CTRL);
+    store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIERS, "net.sourceforge.phpdt.ui.BestMatchHover;0;net.sourceforge.phpdt.ui.JavaSourceHover;" + ctrl); //$NON-NLS-1$
+    store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIER_MASKS, "net.sourceforge.phpdt.ui.BestMatchHover;0;net.sourceforge.phpdt.ui.JavaSourceHover;" + SWT.CTRL); //$NON-NLS-1$
+
+    store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, true);
+    store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER, ctrl);
+    store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK, SWT.CTRL);
+
     // do more complicated stuff
     // NewJavaProjectPreferencePage.initDefaults(store);       
   }