/******************************************************************************* * Copyright (c) 2002 International Business Machines Corp. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v05.html * * Contributors: * IBM Corporation - initial API and implementation ******************************************************************************/ package net.sourceforge.phpdt.ui; 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.internal.ui.JavaPlugin; //import org.phpeclipse.phpdt.internal.ui.preferences.NewJavaProjectPreferencePage; /** * Preference constants used in the JDT-UI preference store. Clients should only read the * JDT-UI preference store using these values. Clients are not allowed to modify the * preference store programmatically. * * @since 2.0 */ public class PreferenceConstants { private PreferenceConstants() { } /** * A named preference that controls return type rendering of methods in the UI. *
   * Value is of type Boolean: if true return types
   * are rendered
   * 
   * Value is of type Boolean: if true override 
   * indicators are rendered
   * 
   * Value is of type String. For example foe the given package name 'org.eclipse.jdt' pattern
   * '.' will compress it to '..jdt', '1~' to 'o~.e~.jdt'.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean: if true empty
   * inner packages are folded.
   * 
JavaElementSorter.
   * 
   * Value is of type String: A comma separated list of the
   * following entries. Each entry must be in the list, no duplication. List
   * order defines the sort order.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String: comma separated list of prefixed
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String: comma separated list of suffixes
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String: semicolon separated list of package
   * names
   * 
   * Value is of type Int: positive value specifing the number of non star-import is used
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean. if true new projects are created with a source and
   * output folder. If false source and output folder equals to the project.
   * 
SRCBIN_FOLDERS_IN_NEWPROJ is set to false.
   * 
   * Value is of type String. 
   * 
SRCBIN_FOLDERS_IN_NEWPROJ is set to false.
   * 
   * Value is of type String. 
   * 
IClasspathEntrys, that will represent the 
   * JRE on the new project's classpath. 
   * 
   * Value is of type String: a semicolon separated list of encoded JRE libraries. 
   * NEWPROJECT_JRELIBRARY_INDEX defines the currently used library. Clients
   * should use the method encodeJRELibrary to encode a JRE library into a string
   * and the methods decodeJRELibraryDescription(String) and 
   * decodeJRELibraryClasspathEntries(String) to decode the description and the array
   * of classpath entries from an encoded string.
   * 
   * Value is of type Int: an index into the list of possible JRE libraries.
   * 
   * Value is of type String: possible values are 
   * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE or 
   * OPEN_TYPE_HIERARCHY_IN_VIEW_PART.
   * 
OPEN_TYPE_HIERARCHY.
   * 
   * @see #OPEN_TYPE_HIERARCHY
   */
  public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE = "perspective"; //$NON-NLS-1$
  /**
   * A string value used by the named preference OPEN_TYPE_HIERARCHY.
   * 
   * @see #OPEN_TYPE_HIERARCHY
   */
  public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART = "viewPart"; //$NON-NLS-1$
  /**
   * A named preference that controls the behaviour when double clicking on a container in the packages view. 
   * 
   * Value is of type String: possible values are 
   * DOUBLE_CLICK_GOES_INTO or 
   * DOUBLE_CLICK_EXPANDS.
   * 
DOUBLE_CLICK.
   * 
   * @see #DOUBLE_CLICK
   */
  public static final String DOUBLE_CLICK_GOES_INTO = "packageview.gointo"; //$NON-NLS-1$
  /**
   * A string value used by the named preference DOUBLE_CLICK.
   * 
   * @see #DOUBLE_CLICK
   */
  public static final String DOUBLE_CLICK_EXPANDS = "packageview.doubleclick.expands"; //$NON-NLS-1$
  /**
   * A named preference that controls whether Java views update their presentation while editing or when saving the
   * content of an editor. 
   * 
   * Value is of type String: possible values are 
   * UPDATE_ON_SAVE or 
   * UPDATE_WHILE_EDITING.
   * 
UPDATE_JAVA_VIEWS
   * 
   * @see #UPDATE_JAVA_VIEWS
   */
  public static final String UPDATE_ON_SAVE = "JavaUI.update.onSave"; //$NON-NLS-1$
  /**
   * A string value used by the named preference UPDATE_JAVA_VIEWS
   * 
   * @see #UPDATE_JAVA_VIEWS
   */
  public static final String UPDATE_WHILE_EDITING = "JavaUI.update.whileEditing"; //$NON-NLS-1$
  /**
   * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard.
   * 
   * Value is of type String.
   * 
javaEditorTextHovers.
	 *
	 * @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
	 * javaEditorTextHovers.
	 *
	 * @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
  	 * javaEditorTextHovers.
  	 *
  	 * @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.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string 
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean. If truespaces instead of tabs are used
   * in the editor. If false the editor inserts a tab character when pressing the tab
   * key.
   * 
   * Value is of type Int: positive int value specifying the number of
   * spaces per tab.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean. 
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean. If true multi line comments are rendered
   * in bold. If false the are rendered using no font style attribute.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean. If true single line comments are rendered
   * in bold. If false the are rendered using no font style attribute.
   * 
  	 * Value is of type String. A RGB color value encoded as a string
  	 * using class PreferenceConverter
  	 * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
	 * Value is of type String. A RGB color value encoded as a string
	 * using class PreferenceConverter
	 * 
	 * Value is of type Boolean.
	 * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * Value is of type Boolean.
   * 
Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a hover
   * contributed as phpEditorTextHovers.
   * 
CTRL modifier key is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
SHIFT modifier key is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
CTRL + ALT modifier keys is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
CTRL + ALT + SHIFT modifier keys is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
CTRL + SHIFT modifier keys is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
ALT modifier key is pressed.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID,
   * EDITOR_DEFAULT_HOVER_CONFIGURED_ID  or the hover id of a
   * hover contributed as phpEditorTextHovers.
   * 
EDITOR_DEFAULT_HOVER property.
   * @since 2.1
   */
  public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID = "defaultHoverConfiguredId"; //$NON-NLS-1$
  /**
   * A named preference that defines the hover named the 'default hover'.
   * Value is of type String: possible values are 
   * EDITOR_NO_HOVER_CONFIGURED_ID or  the hover id of a hover
   * contributed as phpEditorTextHovers.
   * 
   *@since 2.1
   */
  public static final String EDITOR_DEFAULT_HOVER = "defaultHover"; //$NON-NLS-1$
  /**
   * A named preference that controls if segmented view (show selected element only) is turned on or off.
   * 
   * Value is of type Boolean.
   * 
   */
  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.
  	 * 
  	 * Value is of type Boolean.
  	 * 
  	 * 
  	 * @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.
   * 
   * Value is of type String.
   * 
   * 
   * @since 2.1
   */
  public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER = "browserLikeLinksKeyModifier"; //$NON-NLS-1$
  /**
   * A named preference that controls if the Java code assist gets auto activated.
   * 
   * Value is of type Boolean.
   * 
   */
  public final static String CODEASSIST_AUTOACTIVATION = "content_assist_autoactivation"; //$NON-NLS-1$
  /**
   * A name preference that holds the auto activation delay time in milli seconds.
   * 
   * Value is of type Int.
   * 
   */
  public final static String CODEASSIST_AUTOACTIVATION_DELAY = "content_assist_autoactivation_delay"; //$NON-NLS-1$
  /**
   * A named preference that controls if code assist contains only visible proposals.
   * 
   * Value is of type Boolean. if true code assist only contains visible members. If 
   * false all members are included.
   * 
   */
  public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS = "content_assist_show_visible_proposals"; //$NON-NLS-1$
  /**
   * A named preference that controls if the Java code assist inserts a
   * proposal automatically if only one proposal is available.
   * 
   * Value is of type Boolean.
   * 
   * @since 2.1
   */
  public final static String CODEASSIST_AUTOINSERT = "content_assist_autoinsert"; //$NON-NLS-1$
  /**
   * A named preference that controls if the Java code assist adds import
   * statements.
   * 
   * Value is of type Boolean.
   * 
   * @since 2.1
   */
  public final static String CODEASSIST_ADDIMPORT = "content_assist_add_import"; //$NON-NLS-1$
  /**
   * A named preference that controls if the Java code assist only inserts
   * completions. If set to false the proposals can also _replace_ code.
   * 
   * Value is of type Boolean.
   * 
   * @since 2.1
   */
  public final static String CODEASSIST_INSERT_COMPLETION = "content_assist_insert_completion"; //$NON-NLS-1$	
  /**
   * A named preference that controls whether code assist proposals filtering is case sensitive or not.
   * 
   * Value is of type Boolean.
   * 
   */
  public final static String CODEASSIST_CASE_SENSITIVITY = "content_assist_case_sensitivity"; //$NON-NLS-1$
  /**
   * A named preference that defines if code assist proposals are sorted in alphabetical order.
   * 
   * Value is of type Boolean. If true that are sorted in alphabetical 
   * order. If false that are unsorted.
   * 
   */
  public final static String CODEASSIST_ORDER_PROPOSALS = "content_assist_order_proposals"; //$NON-NLS-1$
  /**
   * A named preference that controls if argument names are filled in when a method is selected from as list
   * of code assist proposal.
   * 
   * Value is of type Boolean.
   * 
   */
  public final static String CODEASSIST_FILL_ARGUMENT_NAMES = "content_assist_fill_method_arguments"; //$NON-NLS-1$
  /**
   * A named preference that controls if method arguments are guessed when a
   * method is selected from as list of code assist proposal.
   * 
   * Value is of type Boolean.
   * 
   * @since 2.1
   */
  public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS = "content_assist_guess_method_arguments"; //$NON-NLS-1$
  /**
   * A named preference that holds the characters that auto activate code assist
   * in PHP code.
   * 
   * Value is of type Sring. All characters that trigger auto code
   * assist in PHP code.
   * 
   */
  public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA = "content_assist_autoactivation_triggers_php"; //$NON-NLS-1$
  /**
   * A named preference that holds the characters that auto activate code assist
   * in PHPDoc.
   * 
   * Value is of type Sring. All characters that trigger auto code
   * assist in PHPDoc.
   * 
   */
  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.
   * 
   * Value is of type Sring. All characters that trigger auto code
   * assist in HTML.
   * 
   */
  public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML = "content_assist_autoactivation_triggers_html"; //$NON-NLS-1$
  /**
   * A named preference that holds the background color used in the code assist selection dialog.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * 
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   */
  public final static String CODEASSIST_PROPOSALS_BACKGROUND = "content_assist_proposals_background"; //$NON-NLS-1$
  /**
   * A named preference that holds the foreground color used in the code assist selection dialog.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * 
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   */
  public final static String CODEASSIST_PROPOSALS_FOREGROUND = "content_assist_proposals_foreground"; //$NON-NLS-1$
  /**
   * A named preference that holds the background color used for parameter hints.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * 
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   */
  public final static String CODEASSIST_PARAMETERS_BACKGROUND = "content_assist_parameters_background"; //$NON-NLS-1$
  /**
   * A named preference that holds the foreground color used in the code assist selection dialog
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   * 
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   */
  public final static String CODEASSIST_PARAMETERS_FOREGROUND = "content_assist_parameters_foreground"; //$NON-NLS-1$
  /**
   * A named preference that holds the background color used in the code
   * assist selection dialog to mark replaced code.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   *
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   * @since 2.1
   */
  public final static String CODEASSIST_REPLACEMENT_BACKGROUND = "content_assist_completion_replacement_background"; //$NON-NLS-1$
  /**
   * A named preference that holds the foreground color used in the code
   * assist selection dialog to mark replaced code.
   * 
   * Value is of type String. A RGB color value encoded as a string
   * using class PreferenceConverter
   * 
   *
   * @see org.eclipse.jface.resource.StringConverter
   * @see org.eclipse.jface.preference.PreferenceConverter
   * @since 2.1
   */
  public final static String CODEASSIST_REPLACEMENT_FOREGROUND = "content_assist_completion_replacement_foreground"; //$NON-NLS-1$
  /**
   * A named preference that controls the behaviour of the refactoring wizard for showing the error page. 
   * 
   * Value is of type String. Valid values are: 
   * REFACTOR_FATAL_SEVERITY,
   * REFACTOR_ERROR_SEVERITY,
   * REFACTOR_WARNING_SEVERITY
   * REFACTOR_INFO_SEVERITY,
   * REFACTOR_OK_SEVERITY.
   * 
   * 
   * @see #REFACTOR_FATAL_SEVERITY
   * @see #REFACTOR_ERROR_SEVERITY
   * @see #REFACTOR_WARNING_SEVERITY
   * @see #REFACTOR_INFO_SEVERITY
   * @see #REFACTOR_OK_SEVERITY
   */
  public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD = "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$
  /**
   * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD.
   * 
   * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
   */
  public static final String REFACTOR_FATAL_SEVERITY = "4"; //$NON-NLS-1$
  /**
   * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD.
   * 
   * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
   */
  public static final String REFACTOR_ERROR_SEVERITY = "3"; //$NON-NLS-1$
  /**
   * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD.
   * 
   * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
   */
  public static final String REFACTOR_WARNING_SEVERITY = "2"; //$NON-NLS-1$
  /**
   * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD.
   * 
   * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
   */
  public static final String REFACTOR_INFO_SEVERITY = "1"; //$NON-NLS-1$
  /**
   * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD.
   * 
   * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
   */
  public static final String REFACTOR_OK_SEVERITY = "0"; //$NON-NLS-1$
  /**
   * A named preference thet controls whether all dirty editors are automatically saved before a refactoring is
   * executed.
   * 
   * Value is of type Boolean.
   * 
   */
  public static final String REFACTOR_SAVE_ALL_EDITORS = "Refactoring.savealleditors"; //$NON-NLS-1$
  /**
   * A named preference that controls if the Java Browsing views are linked to the active editor.
   * 
   * Value is of type Boolean.
   * 
   * 
   * @see #LINK_PACKAGES_TO_EDITOR
   */
  public static final String BROWSING_LINK_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
  /**
   * A named preference that controls the layout of the Java Browsing views vertically. Boolean value.
   * 
   * Value is of type Boolean. If true the views are stacked vertical.
   * If false they are stacked horizontal.
   * 
   */
  public static final String BROWSING_STACK_VERTICALLY = "net.sourceforge.phpdt.ui.browsing.stackVertically"; //$NON-NLS-1$
  /**
   * A named preference that controls if templates are formatted when applied.
   * 
   * Value is of type Boolean.
   * 
   *
   * @since 2.1
   */
  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 EDITOR_BROWSER_LIKE_LINKS
   * cannot be resolved to valid SWT modifier bits.
   * 
   * Value is of type String.
   * 
   * 
   * @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 EDITOR_TEXT_HOVER_MODIFIERS
  	 * 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);
    // JavaBasePreferencePage
    store.setDefault(PreferenceConstants.LINK_PACKAGES_TO_EDITOR, true);
    store.setDefault(PreferenceConstants.LINK_TYPEHIERARCHY_TO_EDITOR, false);
    store.setDefault(PreferenceConstants.LINK_BROWSING_VIEW_TO_EDITOR, true);
    store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART);
    store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS);
    store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING);
    // AppearancePreferencePage
    store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false);
    store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, false);
    store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true);
    store.setDefault(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR, true);
    store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false);
    store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true);
    // ImportOrganizePreferencePage
    store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99);
    store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true);
    // ClasspathVariablesPreferencePage
    // CodeFormatterPreferencePage
    // CompilerPreferencePage
    // no initialization needed
    // RefactoringPreferencePage
    store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_ERROR_SEVERITY);
    store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false);
    store.setDefault("RefactoringUI", "dialog");
    // TemplatePreferencePage
    store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true);
    // CodeGenerationPreferencePage
    store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX, false);
    store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false);
    store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.CODEGEN__JAVADOC_STUBS, true);
    store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false);
    store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false);
    // MembersOrderPreferencePage
    store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$
    // must add here to guarantee that it is the first in the listener list
    //	store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache());
    // PHPEditorPreferencePage
    /*
     * Ensure that the display is accessed only in the UI thread.
     * Ensure that there are no side effects of switching the thread.
     */
    final RGB[] rgbs = new RGB[3];
    final Display display = Display.getDefault();
    display.syncExec(new Runnable() {
      public void run() {
        Color c = display.getSystemColor(SWT.COLOR_GRAY);
        rgbs[0] = c.getRGB();
        c = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
        rgbs[1] = c.getRGB();
        c = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
        rgbs[2] = c.getRGB();
      }
    });
    store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, rgbs[0]);
    store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
    store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN, false);
    store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185));
    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_CORRECTION_INDICATION, true);
    store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, false);
    store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true);
    store.setDefault(PreferenceConstants.EDITOR_OVERVIEW_RULER, true);
    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);
    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));
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgbs[1]);
    store.setDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR, true);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgbs[2]);
    store.setDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, true);
    store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4);
    store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
    store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false);
    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);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR, new RGB(127, 127, 159));
    store.setDefault(PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR, new RGB(127, 159, 191));
    store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR, new RGB(127, 0, 85));
    store.setDefault(PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TYPE_COLOR, new RGB(127, 0, 85));
    store.setDefault(PreferenceConstants.EDITOR_PHP_TYPE_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255));
    store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0));
    store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR, new RGB(127, 159, 191));
    store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR, new RGB(127, 127, 159));
    store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR, new RGB(63, 63, 191));
    store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false);
    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR, new RGB(63, 95, 191));
    store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false);
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true);
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 500);
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true);
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233));
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0));
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, new RGB(254, 241, 233));
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0));
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0));
    PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0));
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, "<"); //$NON-NLS-1$
    store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true);
    store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false);
    store.setDefault(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, false);
    store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true);
    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_SMART_PASTE, 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_ADD_JAVADOC_TAGS, true);
    store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, true);
    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);
    //		store.setDefault(PreferenceConstants.EDITOR_CTRL_HOVER, JavaPlugin.ID_SOURCE_HOVER);
    store.setDefault(PreferenceConstants.EDITOR_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
    store.setDefault(PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
    store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
    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);	
  }
  /**
   * Returns the JDT-UI preference store.
   * 
   * @return the JDT-UI preference store
   */
  public static IPreferenceStore getPreferenceStore() {
    return PHPeclipsePlugin.getDefault().getPreferenceStore();
  }
  //	/**
  //	 * Encodes a JRE library to be used in the named preference NEWPROJECT_JRELIBRARY_LIST. 
  //	 * 
  //	 * @param description a string value describing the JRE library. The description is used
  //	 * to indentify the JDR library in the UI
  //	 * @param entries an array of classpath entries to be encoded
  //	 * 
  //	 * @return the encoded string.
  //	*/
  //	public static String encodeJRELibrary(String description, IClasspathEntry[] entries) {
  //		return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries);
  //	}
  //	
  //	/**
  //	 * Decodes an encoded JRE library and returns its description string.
  //	 * 
  //	 * @return the description of an encoded JRE library
  //	 * 
  //	 * @see #encodeJRELibrary(String, IClasspathEntry[])
  //	 */
  //	public static String decodeJRELibraryDescription(String encodedLibrary) {
  //		return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary);
  //	}
  //	
  //	/**
  //	 * Decodes an encoded JRE library and returns its classpath entries.
  //	 * 
  //	 * @return the array of classpath entries of an encoded JRE library.
  //	 * 
  //	 * @see #encodeJRELibrary(String, IClasspathEntry[])
  //	 */
  //	public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) {
  //		return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary);
  //	}
  //	
  //	/**
  //	 * Returns the current configuration for the JRE to be used as default in new Java projects.
  //	 * This is a convenience method to access the named preference NEWPROJECT_JRELIBRARY_LIST
  //	 *  with the index defined by  NEWPROJECT_JRELIBRARY_INDEX.
  //	 *
  //	 * @return the current default set of classpath entries
  //	 *  
  //	 * @see #NEWPROJECT_JRELIBRARY_LIST
  //	 * @see #NEWPROJECT_JRELIBRARY_INDEX
  //	 */
  //	public static IClasspathEntry[] getDefaultJRELibrary() {
  //		return NewJavaProjectPreferencePage.getDefaultJRELibrary();
  //	}		
}