added h4 (====) gheader template
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / ui / PreferenceConstants.java
1 /*******************************************************************************
2  * Copyright (c) 2002 International Business Machines Corp. and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0 
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v05.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  ******************************************************************************/
11 package net.sourceforge.phpdt.ui;
12
13 import net.sourceforge.phpdt.core.IClasspathEntry;
14 import net.sourceforge.phpdt.internal.ui.text.spelling.SpellCheckEngine;
15 import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellCheckPreferenceKeys;
16 import net.sourceforge.phpeclipse.IPreferenceConstants;
17 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
18
19 import org.eclipse.jface.action.Action;
20 import org.eclipse.jface.preference.IPreferenceStore;
21 import org.eclipse.jface.preference.PreferenceConverter;
22 import org.eclipse.swt.SWT;
23 import org.eclipse.swt.graphics.Color;
24 import org.eclipse.swt.graphics.RGB;
25 import org.eclipse.swt.widgets.Display;
26 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
27 import org.eclipse.ui.texteditor.AbstractTextEditor;
28
29 //
30 //import org.phpeclipse.phpdt.internal.ui.JavaPlugin;
31 //import org.phpeclipse.phpdt.internal.ui.preferences.NewJavaProjectPreferencePage;
32
33 /**
34  * Preference constants used in the JDT-UI preference store. Clients should only read the JDT-UI preference store using these
35  * values. Clients are not allowed to modify the preference store programmatically.
36  * 
37  * @since 2.0
38  */
39 public class PreferenceConstants {
40
41   private PreferenceConstants() {
42   }
43
44   /**
45    * A named preference that controls return type rendering of methods in the UI.
46    * <p>
47    * Value is of type <code>Boolean</code>: if <code>true</code> return types are rendered
48    * </p>
49    */
50   public static final String APPEARANCE_METHOD_RETURNTYPE = "net.sourceforge.phpdt.ui.methodreturntype"; //$NON-NLS-1$
51
52   /**
53    * A named preference that controls if override indicators are rendered in the UI.
54    * <p>
55    * Value is of type <code>Boolean</code>: if <code>true</code> override indicators are rendered
56    * </p>
57    */
58   public static final String APPEARANCE_OVERRIDE_INDICATOR = "net.sourceforge.phpdt.ui.overrideindicator"; //$NON-NLS-1$
59
60   /**
61    * A named preference that defines the pattern used for package name compression.
62    * <p>
63    * Value is of type <code>String</code>. For example foe the given package name 'org.eclipse.jdt' pattern '.' will compress it
64    * to '..jdt', '1~' to 'o~.e~.jdt'.
65    * </p>
66    */
67   public static final String APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW = "PackagesView.pkgNamePatternForPackagesView"; //$NON-NLS-1$
68
69   /**
70    * A named preference that controls if package name compression is turned on or off.
71    * <p>
72    * Value is of type <code>Boolean</code>.
73    * </p>
74    * 
75    * @see #APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW
76    */
77   public static final String APPEARANCE_COMPRESS_PACKAGE_NAMES = "net.sourceforge.phpdt.ui.compresspackagenames"; //$NON-NLS-1$
78
79   /**
80    * A named preference that controls if empty inner packages are folded in the hierarchical mode of the package explorer.
81    * <p>
82    * Value is of type <code>Boolean</code>: if <code>true</code> empty inner packages are folded.
83    * </p>
84    * 
85    * @since 2.1
86    */
87   public static final String APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER = "net.sourceforge.phpdt.ui.flatPackagesInPackageExplorer"; //$NON-NLS-1$
88
89   /**
90    * A named preference that defines how member elements are ordered by the Java views using the <code>JavaElementSorter</code>.
91    * <p>
92    * Value is of type <code>String</code>: A comma separated list of the following entries. Each entry must be in the list, no
93    * duplication. List order defines the sort order.
94    * <ul>
95    * <li><b>T </b>: Types</li>
96    * <li><b>C </b>: Constructors</li>
97    * <li><b>I </b>: Initializers</li>
98    * <li><b>M </b>: Methods</li>
99    * <li><b>F </b>: Fields</li>
100    * <li><b>SI </b>: Static Initializers</li>
101    * <li><b>SM </b>: Static Methods</li>
102    * <li><b>SF </b>: Static Fields</li>
103    * </ul>
104    * </p>
105    * 
106    * @since 2.1
107    */
108   public static final String APPEARANCE_MEMBER_SORT_ORDER = "outlinesortoption"; //$NON-NLS-1$
109
110   /**
111    * A named preference that controls if prefix removal during setter/getter generation is turned on or off.
112    * <p>
113    * Value is of type <code>Boolean</code>.
114    * </p>
115    */
116   public static final String CODEGEN_USE_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.enable"; //$NON-NLS-1$
117
118   /**
119    * A named preference that holds a list of prefixes to be removed from a local variable to compute setter and gettter names.
120    * <p>
121    * Value is of type <code>String</code>: comma separated list of prefixed
122    * </p>
123    * 
124    * @see #CODEGEN_USE_GETTERSETTER_PREFIX
125    */
126   public static final String CODEGEN_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.list"; //$NON-NLS-1$
127
128   /**
129    * A named preference that controls if suffix removal during setter/getter generation is turned on or off.
130    * <p>
131    * Value is of type <code>Boolean</code>.
132    * </p>
133    */
134   public static final String CODEGEN_USE_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.enable"; //$NON-NLS-1$
135
136   /**
137    * A named preference that holds a list of suffixes to be removed from a local variable to compute setter and getter names.
138    * <p>
139    * Value is of type <code>String</code>: comma separated list of suffixes
140    * </p>
141    * 
142    * @see #CODEGEN_USE_GETTERSETTER_SUFFIX
143    */
144   public static final String CODEGEN_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$
145
146   /**
147    * A named preference that controls if comment stubs will be added automatically to newly created types and methods.
148    * <p>
149    * Value is of type <code>Boolean</code>.
150    * </p>
151    * 
152    * @since 2.1
153    */
154   public static final String CODEGEN_ADD_COMMENTS = "net.sourceforge.phpdt.ui.phpdoc"; //$NON-NLS-1$
155
156   /**
157    * A name preference that controls if a JavaDoc stub gets added to newly created types and methods.
158    * <p>
159    * Value is of type <code>Boolean</code>.
160    * </p>
161    * 
162    * @deprecated Use CODEGEN_ADD_COMMENTS instead (Name is more precise).
163    */
164   //  public static final String CODEGEN__JAVADOC_STUBS = CODEGEN_ADD_COMMENTS; //$NON-NLS-1$
165   /**
166    * A named preference that controls if a non-phpdoc comment gets added to methods generated via the "Override Methods" operation.
167    * <p>
168    * Value is of type <code>Boolean</code>.
169    * </p>
170    */
171   public static final String CODEGEN__NON_JAVADOC_COMMENTS = "net.sourceforge.phpdt.ui.seecomments"; //$NON-NLS-1$
172
173   /**
174    * A named preference that controls if a file comment gets added to newly created files.
175    * <p>
176    * Value is of type <code>Boolean</code>.
177    * </p>
178    */
179   public static final String CODEGEN__FILE_COMMENTS = "net.sourceforge.phpdt.ui.filecomments"; //$NON-NLS-1$
180
181   /**
182    * A named preference that holds a list of comma separated package names. The list specifies the import order used by the
183    * "Organize Imports" opeation.
184    * <p>
185    * Value is of type <code>String</code>: semicolon separated list of package names
186    * </p>
187    */
188   public static final String ORGIMPORTS_IMPORTORDER = "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$
189
190   /**
191    * A named preference that specifies the number of imports added before a star-import declaration is used.
192    * <p>
193    * Value is of type <code>Int</code>: positive value specifing the number of non star-import is used
194    * </p>
195    */
196   public static final String ORGIMPORTS_ONDEMANDTHRESHOLD = "net.sourceforge.phpdt.ui.ondemandthreshold"; //$NON-NLS-1$
197
198   /**
199    * A named preferences that controls if types that start with a lower case letters get added by the "Organize Import" operation.
200    * <p>
201    * Value is of type <code>Boolean</code>.
202    * </p>
203    */
204   public static final String ORGIMPORTS_IGNORELOWERCASE = "net.sourceforge.phpdt.ui.ignorelowercasenames"; //$NON-NLS-1$
205
206   /**
207    * A named preference that speficies whether children of a compilation unit are shown in the package explorer.
208    * <p>
209    * Value is of type <code>Boolean</code>.
210    * </p>
211    */
212   public static final String SHOW_CU_CHILDREN = "net.sourceforge.phpdt.ui.packages.cuchildren"; //$NON-NLS-1$
213
214   /**
215    * A named preference that controls whether the package explorer's selection is linked to the active editor.
216    * <p>
217    * Value is of type <code>Boolean</code>.
218    * </p>
219    */
220   public static final String LINK_PACKAGES_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktoeditor"; //$NON-NLS-1$
221
222   /**
223    * A named preference that controls whether the hierarchy view's selection is linked to the active editor.
224    * <p>
225    * Value is of type <code>Boolean</code>.
226    * </p>
227    */
228   public static final String LINK_TYPEHIERARCHY_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktypehierarchytoeditor"; //$NON-NLS-1$
229
230   /**
231    * A named preference that controls whether the browsing view's selection is linked to the active editor.
232    * <p>
233    * Value is of type <code>Boolean</code>.
234    * </p>
235    * 
236    * @since 2.1
237    */
238   public static final String LINK_BROWSING_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
239
240   /**
241    * A named preference that controls whether new projects are generated using source and output folder.
242    * <p>
243    * Value is of type <code>Boolean</code>. if <code>true</code> new projects are created with a source and output folder. If
244    * <code>false</code> source and output folder equals to the project.
245    * </p>
246    */
247   public static final String SRCBIN_FOLDERS_IN_NEWPROJ = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersInNewProjects"; //$NON-NLS-1$
248
249   /**
250    * A named preference that specifies the source folder name used when creating a new Java project. Value is inactive if
251    * <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
252    * <p>
253    * Value is of type <code>String</code>.
254    * </p>
255    * 
256    * @see #SRCBIN_FOLDERS_IN_NEWPROJ
257    */
258   public static final String SRCBIN_SRCNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersSrcName"; //$NON-NLS-1$
259
260   /**
261    * A named preference that specifies the output folder name used when creating a new Java project. Value is inactive if
262    * <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
263    * <p>
264    * Value is of type <code>String</code>.
265    * </p>
266    * 
267    * @see #SRCBIN_FOLDERS_IN_NEWPROJ
268    */
269   public static final String SRCBIN_BINNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersBinName"; //$NON-NLS-1$
270
271   /**
272    * A named preference that holds a list of possible JRE libraries used by the New Java Project wizard. An library consists of a
273    * description and an arbitrary number of <code>IClasspathEntry</code>s, that will represent the JRE on the new project's
274    * classpath.
275    * <p>
276    * Value is of type <code>String</code>: a semicolon separated list of encoded JRE libraries.
277    * <code>NEWPROJECT_JRELIBRARY_INDEX</code> defines the currently used library. Clients should use the method
278    * <code>encodeJRELibrary</code> to encode a JRE library into a string and the methods
279    * <code>decodeJRELibraryDescription(String)</code> and <code>
280    * decodeJRELibraryClasspathEntries(String)</code> to decode the
281    * description and the array of classpath entries from an encoded string.
282    * </p>
283    * 
284    * @see #NEWPROJECT_JRELIBRARY_INDEX
285    * @see #encodeJRELibrary(String, IClasspathEntry[])
286    * @see #decodeJRELibraryDescription(String)
287    * @see #decodeJRELibraryClasspathEntries(String)
288    */
289   public static final String NEWPROJECT_JRELIBRARY_LIST = "net.sourceforge.phpdt.ui.wizards.jre.list"; //$NON-NLS-1$
290
291   /**
292    * A named preferences that specifies the current active JRE library.
293    * <p>
294    * Value is of type <code>Int</code>: an index into the list of possible JRE libraries.
295    * </p>
296    * 
297    * @see #NEWPROJECT_JRELIBRARY_LIST
298    */
299   public static final String NEWPROJECT_JRELIBRARY_INDEX = "net.sourceforge.phpdt.ui.wizards.jre.index"; //$NON-NLS-1$
300
301   /**
302    * A named preference that controls if a new type hierarchy gets opened in a new type hierarchy perspective or inside the type
303    * hierarchy view part.
304    * <p>
305    * Value is of type <code>String</code>: possible values are <code>
306    * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE</code> or <code>
307    * OPEN_TYPE_HIERARCHY_IN_VIEW_PART</code>.
308    * </p>
309    * 
310    * @see #OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE
311    * @see #OPEN_TYPE_HIERARCHY_IN_VIEW_PART
312    */
313   public static final String OPEN_TYPE_HIERARCHY = "net.sourceforge.phpdt.ui.openTypeHierarchy"; //$NON-NLS-1$
314
315   /**
316    * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
317    * 
318    * @see #OPEN_TYPE_HIERARCHY
319    */
320   public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE = "perspective"; //$NON-NLS-1$
321
322   /**
323    * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
324    * 
325    * @see #OPEN_TYPE_HIERARCHY
326    */
327   public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART = "viewPart"; //$NON-NLS-1$
328
329   /**
330    * A named preference that controls the behaviour when double clicking on a container in the packages view.
331    * <p>
332    * Value is of type <code>String</code>: possible values are <code>
333    * DOUBLE_CLICK_GOES_INTO</code> or <code>
334    * DOUBLE_CLICK_EXPANDS</code>.
335    * </p>
336    * 
337    * @see #DOUBLE_CLICK_EXPANDS
338    * @see #DOUBLE_CLICK_GOES_INTO
339    */
340   public static final String DOUBLE_CLICK = "packageview.doubleclick"; //$NON-NLS-1$
341
342   /**
343    * A string value used by the named preference <code>DOUBLE_CLICK</code>.
344    * 
345    * @see #DOUBLE_CLICK
346    */
347   public static final String DOUBLE_CLICK_GOES_INTO = "packageview.gointo"; //$NON-NLS-1$
348
349   /**
350    * A string value used by the named preference <code>DOUBLE_CLICK</code>.
351    * 
352    * @see #DOUBLE_CLICK
353    */
354   public static final String DOUBLE_CLICK_EXPANDS = "packageview.doubleclick.expands"; //$NON-NLS-1$
355
356   /**
357    * A named preference that controls whether Java views update their presentation while editing or when saving the content of an
358    * editor.
359    * <p>
360    * Value is of type <code>String</code>: possible values are <code>
361    * UPDATE_ON_SAVE</code> or <code>
362    * UPDATE_WHILE_EDITING</code>.
363    * </p>
364    * 
365    * @see #UPDATE_ON_SAVE
366    * @see #UPDATE_WHILE_EDITING
367    */
368   public static final String UPDATE_JAVA_VIEWS = "JavaUI.update"; //$NON-NLS-1$
369
370   /**
371    * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
372    * 
373    * @see #UPDATE_JAVA_VIEWS
374    */
375   public static final String UPDATE_ON_SAVE = "JavaUI.update.onSave"; //$NON-NLS-1$
376
377   /**
378    * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
379    * 
380    * @see #UPDATE_JAVA_VIEWS
381    */
382   public static final String UPDATE_WHILE_EDITING = "JavaUI.update.whileEditing"; //$NON-NLS-1$
383
384   /**
385    * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard.
386    * <p>
387    * Value is of type <code>String</code>.
388    * </p>
389    */
390   public static final String JAVADOC_COMMAND = "command"; //$NON-NLS-1$
391
392   /**
393    * A named preference that defines whether hint to make hover sticky should be shown.
394    * 
395    * @see JavaUI
396    * @since 3.0
397    */
398   public static final String EDITOR_SHOW_TEXT_HOVER_AFFORDANCE = "PreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE"; //$NON-NLS-1$
399
400   /**
401    * A named preference that defines the key for the hover modifiers.
402    * 
403    * @see JavaUI
404    * @since 2.1
405    */
406   public static final String EDITOR_TEXT_HOVER_MODIFIERS = "hoverModifiers"; //$NON-NLS-1$
407
408   /**
409    * The id of the best match hover contributed for extension point <code>javaEditorTextHovers</code>.
410    * 
411    * @since 2.1
412    */
413   public static String ID_BESTMATCH_HOVER = "net.sourceforge.phpdt.ui.BestMatchHover"; //$NON-NLS-1$
414
415   /**
416    * The id of the source code hover contributed for extension point <code>javaEditorTextHovers</code>.
417    * 
418    * @since 2.1
419    */
420   public static String ID_SOURCE_HOVER = "net.sourceforge.phpdt.ui.JavaSourceHover"; //$NON-NLS-1$
421
422   /**
423    * The id of the problem hover contributed for extension point <code>javaEditorTextHovers</code>.
424    * 
425    * @since 2.1
426    */
427   public static String ID_PROBLEM_HOVER = "net.sourceforge.phpdt.ui.ProblemHover"; //$NON-NLS-1$
428
429   /**
430    * A named preference that controls whether bracket matching highlighting is turned on or off.
431    * <p>
432    * Value is of type <code>Boolean</code>.
433    * </p>
434    */
435   public final static String EDITOR_MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$
436
437   /**
438    * A named preference that holds the color used to highlight matching brackets.
439    * <p>
440    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
441    * </p>
442    * 
443    * @see org.eclipse.jface.resource.StringConverter
444    * @see org.eclipse.jface.preference.PreferenceConverter
445    */
446   public final static String EDITOR_MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$
447
448   /**
449    * A named preference that controls whether the current line highlighting is turned on or off.
450    * <p>
451    * Value is of type <code>Boolean</code>.
452    * </p>
453    */
454   public final static String EDITOR_CURRENT_LINE = "currentLine"; //$NON-NLS-1$
455
456   /**
457    * A named preference that holds the color used to highlight the current line.
458    * <p>
459    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
460    * </p>
461    * 
462    * @see org.eclipse.jface.resource.StringConverter
463    * @see org.eclipse.jface.preference.PreferenceConverter
464    */
465   public final static String EDITOR_CURRENT_LINE_COLOR = "currentLineColor"; //$NON-NLS-1$
466
467   /**
468    * A named preference that controls whether the print margin is turned on or off.
469    * <p>
470    * Value is of type <code>Boolean</code>.
471    * </p>
472    */
473   public final static String EDITOR_PRINT_MARGIN = "printMargin"; //$NON-NLS-1$
474
475   /**
476    * A named preference that holds the color used to render the print margin.
477    * <p>
478    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
479    * </p>
480    * 
481    * @see org.eclipse.jface.resource.StringConverter
482    * @see org.eclipse.jface.preference.PreferenceConverter
483    */
484   public final static String EDITOR_PRINT_MARGIN_COLOR = "printMarginColor"; //$NON-NLS-1$
485
486   /**
487    * Print margin column. Int value.
488    */
489   public final static String EDITOR_PRINT_MARGIN_COLUMN = "printMarginColumn"; //$NON-NLS-1$
490
491   /**
492    * A named preference that holds the color used for the find/replace scope.
493    * <p>
494    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
495    * </p>
496    * 
497    * @see org.eclipse.jface.resource.StringConverter
498    * @see org.eclipse.jface.preference.PreferenceConverter
499    */
500   public final static String EDITOR_FIND_SCOPE_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FIND_SCOPE;
501
502   /**
503    * A named preference that specifies if the editor uses spaces for tabs.
504    * <p>
505    * Value is of type <code>Boolean</code>. If <code>true</code> spaces instead of tabs are used in the editor. If
506    * <code>false</code> the editor inserts a tab character when pressing the tab key.
507    * </p>
508    */
509   public final static String EDITOR_SPACES_FOR_TABS = "spacesForTabs"; //$NON-NLS-1$
510
511   /**
512    * A named preference that holds the number of spaces used per tab in the editor.
513    * <p>
514    * Value is of type <code>Int</code>: positive int value specifying the number of spaces per tab.
515    * </p>
516    */
517   public final static String EDITOR_TAB_WIDTH = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH; //"net.sourceforge.phpdt.ui.editor.tab.width"; //$NON-NLS-1$
518
519   /**
520    * A named preference that controls whether the outline view selection should stay in sync with with the element at the current
521    * cursor position.
522    * <p>
523    * Value is of type <code>Boolean</code>.
524    * </p>
525    * 
526    * @since 2.1
527    */
528   public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE = "JavaEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$
529
530   /**
531    * A named preference that controls if correction indicators are shown in the UI.
532    * <p>
533    * Value is of type <code>Boolean</code>.
534    * </p>
535    */
536   public final static String EDITOR_CORRECTION_INDICATION = "JavaEditor.ShowTemporaryProblem"; //$NON-NLS-1$
537
538   /**
539    * A named preference that controls whether the editor shows problem indicators in text (squiggly lines).
540    * <p>
541    * Value is of type <code>Boolean</code>.
542    * </p>
543    */
544   //  public final static String EDITOR_PROBLEM_INDICATION = "problemIndication"; //$NON-NLS-1$
545   /**
546    * A named preference that holds the color used to render problem indicators.
547    * <p>
548    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
549    * </p>
550    * 
551    * @see #EDITOR_PROBLEM_INDICATION
552    * @see org.eclipse.jface.resource.StringConverter
553    * @see org.eclipse.jface.preference.PreferenceConverter
554    */
555   //  public final static String EDITOR_PROBLEM_INDICATION_COLOR = "problemIndicationColor"; //$NON-NLS-1$
556   /**
557    * PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR; A named preference that controls whether the editor shows warning
558    * indicators in text (squiggly lines).
559    * <p>
560    * Value is of type <code>Boolean</code>.
561    * </p>
562    */
563   //  public final static String EDITOR_WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
564   /**
565    * A named preference that holds the color used to render warning indicators.
566    * <p>
567    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
568    * </p>
569    * 
570    * @see #EDITOR_WARNING_INDICATION
571    * @see org.eclipse.jface.resource.StringConverter
572    * @see org.eclipse.jface.preference.PreferenceConverter
573    */
574   //  public final static String EDITOR_WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
575   /**
576    * A named preference that controls whether the editor shows task indicators in text (squiggly lines).
577    * <p>
578    * Value is of type <code>Boolean</code>.
579    * </p>
580    */
581   public final static String EDITOR_TASK_INDICATION = "taskIndication"; //$NON-NLS-1$
582
583   /**
584    * A named preference that holds the color used to render task indicators.
585    * <p>
586    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
587    * </p>
588    * 
589    * @see #EDITOR_TASK_INDICATION
590    * @see org.eclipse.jface.resource.StringConverter
591    * @see org.eclipse.jface.preference.PreferenceConverter
592    */
593   public final static String EDITOR_TASK_INDICATION_COLOR = "taskIndicationColor"; //$NON-NLS-1$
594
595   /**
596    * A named preference that controls whether the editor shows bookmark indicators in text (squiggly lines).
597    * <p>
598    * Value is of type <code>Boolean</code>.
599    * </p>
600    * 
601    * @since 2.1
602    */
603   public final static String EDITOR_BOOKMARK_INDICATION = "bookmarkIndication"; //$NON-NLS-1$
604
605   /**
606    * A named preference that holds the color used to render bookmark indicators.
607    * <p>
608    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
609    * </p>
610    * 
611    * @see #EDITOR_BOOKMARK_INDICATION
612    * @see org.eclipse.jface.resource.StringConverter
613    * @see org.eclipse.jface.preference.PreferenceConverter
614    * @since 2.1
615    */
616   public final static String EDITOR_BOOKMARK_INDICATION_COLOR = "bookmarkIndicationColor"; //$NON-NLS-1$
617
618   /**
619    * A named preference that controls whether the editor shows search indicators in text (squiggly lines).
620    * <p>
621    * Value is of type <code>Boolean</code>.
622    * </p>
623    * 
624    * @since 2.1
625    */
626   public final static String EDITOR_SEARCH_RESULT_INDICATION = "searchResultIndication"; //$NON-NLS-1$
627
628   /**
629    * A named preference that holds the color used to render search indicators.
630    * <p>
631    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
632    * </p>
633    * 
634    * @see #EDITOR_SEARCH_RESULT_INDICATION
635    * @see org.eclipse.jface.resource.StringConverter
636    * @see org.eclipse.jface.preference.PreferenceConverter
637    * @since 2.1
638    */
639   public final static String EDITOR_SEARCH_RESULT_INDICATION_COLOR = "searchResultIndicationColor"; //$NON-NLS-1$
640
641   /**
642    * A named preference that controls whether the editor shows unknown indicators in text (squiggly lines).
643    * <p>
644    * Value is of type <code>Boolean</code>.
645    * </p>
646    * 
647    * @since 2.1
648    */
649   public final static String EDITOR_UNKNOWN_INDICATION = "othersIndication"; //$NON-NLS-1$
650
651   /**
652    * A named preference that holds the color used to render unknown indicators.
653    * <p>
654    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
655    * </p>
656    * 
657    * @see #EDITOR_UNKNOWN_INDICATION
658    * @see org.eclipse.jface.resource.StringConverter
659    * @see org.eclipse.jface.preference.PreferenceConverter
660    * @since 2.1
661    */
662   public final static String EDITOR_UNKNOWN_INDICATION_COLOR = "othersIndicationColor"; //$NON-NLS-1$
663
664   /**
665    * A named preference that controls whether the overview ruler shows error indicators.
666    * <p>
667    * Value is of type <code>Boolean</code>.
668    * </p>
669    * 
670    * @since 2.1
671    */
672   public final static String EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER = "errorIndicationInOverviewRuler"; //$NON-NLS-1$
673
674   /**
675    * A named preference that controls whether the overview ruler shows warning indicators.
676    * <p>
677    * Value is of type <code>Boolean</code>.
678    * </p>
679    * 
680    * @since 2.1
681    */
682   public final static String EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER = "warningIndicationInOverviewRuler"; //$NON-NLS-1$
683
684   /**
685    * A named preference that controls whether the overview ruler shows task indicators.
686    * <p>
687    * Value is of type <code>Boolean</code>.
688    * </p>
689    * 
690    * @since 2.1
691    */
692   public final static String EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER = "taskIndicationInOverviewRuler"; //$NON-NLS-1$
693
694   /**
695    * A named preference that controls whether the overview ruler shows bookmark indicators.
696    * <p>
697    * Value is of type <code>Boolean</code>.
698    * </p>
699    * 
700    * @since 2.1
701    */
702   public final static String EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER = "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$
703
704   /**
705    * A named preference that controls whether the overview ruler shows search result indicators.
706    * <p>
707    * Value is of type <code>Boolean</code>.
708    * </p>
709    * 
710    * @since 2.1
711    */
712   public final static String EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER = "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$
713
714   /**
715    * A named preference that controls whether the overview ruler shows unknown indicators.
716    * <p>
717    * Value is of type <code>Boolean</code>.
718    * </p>
719    * 
720    * @since 2.1
721    */
722   public final static String EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER = "othersIndicationInOverviewRuler"; //$NON-NLS-1$
723
724   /**
725    * A named preference that controls whether the 'close strings' feature is enabled in PHP mode
726    * <p>
727    * Value is of type <code>Boolean</code>.
728    * </p>
729    */
730   public final static String EDITOR_CLOSE_STRINGS_DQ_PHP = "closeStringsPHPDQ"; //$NON-NLS-1$
731
732   /**
733    * A named preference that controls whether the 'close strings' feature is enabled in PHP mode
734    * <p>
735    * Value is of type <code>Boolean</code>.
736    * </p>
737    */
738   public final static String EDITOR_CLOSE_STRINGS_SQ_PHP = "closeStringsPHPSQ"; //$NON-NLS-1$
739
740   /**
741    * A named preference that controls whether the 'close brackets' feature is enabled in PHP mode
742    * <p>
743    * Value is of type <code>Boolean</code>.
744    * </p>
745    * 
746    * @since 2.1
747    */
748   public final static String EDITOR_CLOSE_BRACKETS_PHP = "closeBracketsPHP"; //$NON-NLS-1$
749
750   /**
751    * A named preference that controls whether the 'wrap words' feature is enabled.
752    * <p>
753    * Value is of type <code>Boolean</code>.
754    * </p>
755    * 
756    * @since 2.1
757    */
758   public final static String EDITOR_WRAP_WORDS = "wrapWords"; //$NON-NLS-1$
759
760   /**
761    * A named preference that controls whether the 'wrap strings' feature is enabled.
762    * <p>
763    * Value is of type <code>Boolean</code>.
764    * </p>
765    * 
766    * @since 2.1
767    */
768   public final static String EDITOR_WRAP_STRINGS_DQ = "wrapStringsDQ"; //$NON-NLS-1$
769
770   /**
771    * A named preference that controls whether the 'escape strings' feature is enabled.
772    * <p>
773    * Value is of type <code>Boolean</code>.
774    * </p>
775    * 
776    * @since 3.0
777    */
778   public final static String EDITOR_ESCAPE_STRINGS_DQ = "escapeStringsDQ"; //$NON-NLS-1$
779
780   /**
781    * A named preference that controls whether the 'wrap strings' feature is enabled.
782    * <p>
783    * Value is of type <code>Boolean</code>.
784    * </p>
785    * 
786    * @since 2.1
787    */
788   public final static String EDITOR_WRAP_STRINGS_SQ = "wrapStringsDQ"; //$NON-NLS-1$
789
790   /**
791    * A named preference that controls whether the 'escape strings' feature is enabled.
792    * <p>
793    * Value is of type <code>Boolean</code>.
794    * </p>
795    * 
796    * @since 3.0
797    */
798   public final static String EDITOR_ESCAPE_STRINGS_SQ = "escapeStringsSQ"; //$NON-NLS-1$
799
800   /**
801    * A named preference that controls if content assist inserts the common prefix of all proposals before presenting choices.
802    * <p>
803    * Value is of type <code>Boolean</code>.
804    * </p>
805    * 
806    * @since 3.0
807    */
808   public final static String CODEASSIST_PREFIX_COMPLETION = "content_assist_prefix_completion"; //$NON-NLS-1$
809
810   /**
811    * A named preference that controls whether the 'close braces' feature is enabled.
812    * <p>
813    * Value is of type <code>Boolean</code>.
814    * </p>
815    * 
816    * @since 2.1
817    */
818   public final static String EDITOR_CLOSE_BRACES = "closeBraces"; //$NON-NLS-1$
819
820   /**
821    * A named preference that controls whether the 'close php docs' feature is enabled.
822    * <p>
823    * Value is of type <code>Boolean</code>.
824    * </p>
825    * 
826    * @since 2.1
827    */
828   public final static String EDITOR_CLOSE_JAVADOCS = "closeJavaDocs"; //$NON-NLS-1$
829
830   /**
831    * A named preference that controls whether the 'add JavaDoc tags' feature is enabled.
832    * <p>
833    * Value is of type <code>Boolean</code>.
834    * </p>
835    * 
836    * @since 2.1
837    */
838   public final static String EDITOR_ADD_JAVADOC_TAGS = "addJavaDocTags"; //$NON-NLS-1$
839
840   /**
841    * A named preference that controls whether the 'format Javadoc tags' feature is enabled.
842    * <p>
843    * Value is of type <code>Boolean</code>.
844    * </p>
845    * 
846    * @since 2.1
847    */
848   public final static String EDITOR_FORMAT_JAVADOCS = "formatJavaDocs"; //$NON-NLS-1$
849
850   /**
851    * A named preference that controls whether the 'smart paste' feature is enabled.
852    * <p>
853    * Value is of type <code>Boolean</code>.
854    * </p>
855    * 
856    * @since 2.1
857    */
858   public final static String EDITOR_SMART_PASTE = "smartPaste"; //$NON-NLS-1$
859
860   /**
861    * A named preference that controls whether the 'close strings' feature is enabled in HTML mode
862    * <p>
863    * Value is of type <code>Boolean</code>.
864    * </p>
865    * 
866    * @since 2.1
867    */
868   public final static String EDITOR_CLOSE_STRINGS_HTML = "closeStringsHTML"; //$NON-NLS-1$
869
870   /**
871    * A named preference that controls whether the 'close brackets' feature is enabled in HTML mode
872    * <p>
873    * Value is of type <code>Boolean</code>.
874    * </p>
875    * 
876    * @since 2.1
877    */
878   public final static String EDITOR_CLOSE_BRACKETS_HTML = "closeBracketsHTML"; //$NON-NLS-1$
879
880   /**
881    * A named preference that controls whether the 'smart home-end' feature is enabled.
882    * <p>
883    * Value is of type <code>Boolean</code>.
884    * </p>
885    * 
886    * @since 2.1
887    */
888   public final static String EDITOR_SMART_HOME_END = AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END;
889
890   /**
891    * A named preference that controls whether the 'sub-word navigation' feature is enabled.
892    * <p>
893    * Value is of type <code>Boolean</code>.
894    * </p>
895    * 
896    * @since 2.1
897    */
898   public final static String EDITOR_SUB_WORD_NAVIGATION = "subWordNavigation"; //$NON-NLS-1$
899
900   /**
901    * A named preference that controls if temporary problems are evaluated and shown in the UI.
902    * <p>
903    * Value is of type <code>Boolean</code>.
904    * </p>
905    */
906   public final static String EDITOR_EVALUTE_TEMPORARY_PROBLEMS = "handleTemporaryProblems"; //$NON-NLS-1$
907
908   /**
909    * A named preference that controls if the overview ruler is shown in the UI.
910    * <p>
911    * Value is of type <code>Boolean</code>.
912    * </p>
913    */
914   public final static String EDITOR_OVERVIEW_RULER = "overviewRuler"; //$NON-NLS-1$
915
916   /**
917    * A named preference that controls if the line number ruler is shown in the UI.
918    * <p>
919    * Value is of type <code>Boolean</code>.
920    * </p>
921    */
922   public final static String EDITOR_LINE_NUMBER_RULER = "lineNumberRuler"; //$NON-NLS-1$
923
924   /**
925    * A named preference that holds the color used to render line numbers inside the line number ruler.
926    * <p>
927    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
928    * </p>
929    * 
930    * @see org.eclipse.jface.resource.StringConverter
931    * @see org.eclipse.jface.preference.PreferenceConverter
932    * @see #EDITOR_LINE_NUMBER_RULER
933    */
934   public final static String EDITOR_LINE_NUMBER_RULER_COLOR = "lineNumberColor"; //$NON-NLS-1$
935
936   /**
937    * A named preference that holds the color used to render linked positions inside code templates.
938    * <p>
939    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
940    * </p>
941    * 
942    * @see org.eclipse.jface.resource.StringConverter
943    * @see org.eclipse.jface.preference.PreferenceConverter
944    */
945   public final static String EDITOR_LINKED_POSITION_COLOR = "linkedPositionColor"; //$NON-NLS-1$
946
947   /**
948    * A named preference that holds the color used as the text foreground.
949    * <p>
950    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
951    * </p>
952    * 
953    * @see org.eclipse.jface.resource.StringConverter
954    * @see org.eclipse.jface.preference.PreferenceConverter
955    */
956   public final static String EDITOR_FOREGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND;
957
958   /**
959    * A named preference that describes if the system default foreground color is used as the text foreground.
960    * <p>
961    * Value is of type <code>Boolean</code>.
962    * </p>
963    */
964   public final static String EDITOR_FOREGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT;
965
966   /**
967    * A named preference that holds the color used as the text background.
968    * <p>
969    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
970    * </p>
971    * 
972    * @see org.eclipse.jface.resource.StringConverter
973    * @see org.eclipse.jface.preference.PreferenceConverter
974    */
975   public final static String EDITOR_BACKGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND;
976
977   /**
978    * A named preference that describes if the system default background color is used as the text foreground.
979    * <p>
980    * Value is of type <code>Boolean</code>.
981    * </p>
982    */
983   public final static String EDITOR_BACKGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT;
984
985   /**
986    * Preference key suffix for bold text style preference keys.
987    */
988   public static final String EDITOR_BOLD_SUFFIX = "_bold"; //$NON-NLS-1$
989
990   /**
991    * Preference key suffix for bold text style preference keys.
992    */
993   public static final String EDITOR_ITALIC_SUFFIX = "_italic"; //$NON-NLS-1$
994
995   /**
996    * A named preference that holds the color used to render multi line comments.
997    * <p>
998    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
999    * </p>
1000    * 
1001    * @see org.eclipse.jface.resource.StringConverter
1002    * @see org.eclipse.jface.preference.PreferenceConverter
1003    */
1004   public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IPreferenceConstants.PHP_MULTILINE_COMMENT;
1005
1006   /**
1007    * The symbolic font name for the Java editor text font (value <code>"org.eclipse.jdt.ui.editors.textfont"</code>).
1008    * 
1009    * @since 2.1
1010    */
1011   public final static String EDITOR_TEXT_FONT = "net.sourceforge.phpdt.ui.editors.textfont"; //$NON-NLS-1$
1012
1013   /**
1014    * A named preference that controls whether multi line comments are rendered in bold.
1015    * <p>
1016    * Value is of type <code>Boolean</code>. If <code>true</code> multi line comments are rendered in bold. If
1017    * <code>false</code> the are rendered using no font style attribute.
1018    * </p>
1019    */
1020   public final static String EDITOR_MULTI_LINE_COMMENT_BOLD = IPreferenceConstants.PHP_MULTILINE_COMMENT + EDITOR_BOLD_SUFFIX;
1021
1022   /**
1023    * A named preference that holds the color used to render single line comments.
1024    * <p>
1025    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1026    * </p>
1027    * 
1028    * @see org.eclipse.jface.resource.StringConverter
1029    * @see org.eclipse.jface.preference.PreferenceConverter
1030    */
1031   public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR = IPreferenceConstants.PHP_SINGLELINE_COMMENT;
1032
1033   /**
1034    * A named preference that controls whether sinle line comments are rendered in bold.
1035    * <p>
1036    * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered in bold. If
1037    * <code>false</code> the are rendered using no font style attribute.
1038    * </p>
1039    */
1040   public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD = IPreferenceConstants.PHP_SINGLELINE_COMMENT + EDITOR_BOLD_SUFFIX;
1041
1042   /**
1043    * A named preference that holds the color used to render operators and brackets.
1044    * <p>
1045    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1046    * </p>
1047    * 
1048    * @see org.eclipse.jface.resource.StringConverter
1049    * @see org.eclipse.jface.preference.PreferenceConverter
1050    * @since 3.0
1051    */
1052   public final static String EDITOR_PHP_OPERATOR_COLOR = IPreferenceConstants.PHP_OPERATOR;
1053
1054   /**
1055    * A named preference that controls whether operators and brackets are rendered in bold.
1056    * <p>
1057    * Value is of type <code>Boolean</code>.
1058    * </p>
1059    * 
1060    * @since 3.0
1061    */
1062   public final static String EDITOR_PHP_OPERATOR_BOLD = IPreferenceConstants.PHP_OPERATOR + EDITOR_BOLD_SUFFIX;
1063
1064   /**
1065    * A named preference that controls whether operators and brackets are rendered in italic.
1066    * <p>
1067    * Value is of type <code>Boolean</code>.
1068    * </p>
1069    * 
1070    * @since 3.0
1071    */
1072   public final static String EDITOR_PHP_OPERATOR_ITALIC = IPreferenceConstants.PHP_OPERATOR + EDITOR_ITALIC_SUFFIX;
1073
1074   /**
1075    * A named preference that holds the color used to render operators and brackets.
1076    * <p>
1077    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1078    * </p>
1079    * 
1080    * @see org.eclipse.jface.resource.StringConverter
1081    * @see org.eclipse.jface.preference.PreferenceConverter
1082    * @since 3.0
1083    */
1084   public final static String EDITOR_PHP_BRACE_OPERATOR_COLOR = IPreferenceConstants.PHP_BRACE_OPERATOR;
1085
1086   /**
1087    * A named preference that controls whether operators and brackets are rendered in bold.
1088    * <p>
1089    * Value is of type <code>Boolean</code>.
1090    * </p>
1091    * 
1092    * @since 3.0
1093    */
1094   public final static String EDITOR_PHP_BRACE_OPERATOR_BOLD = IPreferenceConstants.PHP_BRACE_OPERATOR + EDITOR_BOLD_SUFFIX;
1095
1096   /**
1097    * A named preference that controls whether operators and brackets are rendered in italic.
1098    * <p>
1099    * Value is of type <code>Boolean</code>.
1100    * </p>
1101    * 
1102    * @since 3.0
1103    */
1104   public final static String EDITOR_PHP_BRACE_OPERATOR_ITALIC = IPreferenceConstants.PHP_BRACE_OPERATOR + EDITOR_ITALIC_SUFFIX;
1105
1106   /**
1107    * A named preference that holds the color used to render the 'return' keyword.
1108    * <p>
1109    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1110    * </p>
1111    * 
1112    * @see org.eclipse.jface.resource.StringConverter
1113    * @see org.eclipse.jface.preference.PreferenceConverter
1114    * @since 3.0
1115    */
1116   public final static String EDITOR_PHP_KEYWORD_RETURN_COLOR = IPreferenceConstants.PHP_KEYWORD_RETURN;
1117
1118   /**
1119    * A named preference that controls whether 'return' keyword is rendered in bold.
1120    * <p>
1121    * Value is of type <code>Boolean</code>.
1122    * </p>
1123    * 
1124    * @since 3.0
1125    */
1126   public final static String EDITOR_PHP_KEYWORD_RETURN_BOLD = IPreferenceConstants.PHP_KEYWORD_RETURN + EDITOR_BOLD_SUFFIX;
1127
1128   /**
1129    * A named preference that controls whether 'return' keyword is rendered in italic.
1130    * <p>
1131    * Value is of type <code>Boolean</code>.
1132    * </p>
1133    * 
1134    * @since 3.0
1135    */
1136   public final static String EDITOR_PHP_KEYWORD_RETURN_ITALIC = IPreferenceConstants.PHP_KEYWORD_RETURN + EDITOR_ITALIC_SUFFIX;
1137
1138   /**
1139    * A named preference that holds the color used to render php start and stop tags.
1140    * <p>
1141    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1142    * </p>
1143    * 
1144    * @see org.eclipse.jface.resource.StringConverter
1145    * @see org.eclipse.jface.preference.PreferenceConverter
1146    */
1147   public final static String EDITOR_PHP_TAG_COLOR = IPreferenceConstants.PHP_TAG;
1148
1149   /**
1150    * A named preference that controls whether php start and stop tags are rendered in bold.
1151    * <p>
1152    * Value is of type <code>Boolean</code>.
1153    * </p>
1154    */
1155   public final static String EDITOR_PHP_TAG_BOLD = IPreferenceConstants.PHP_TAG + EDITOR_BOLD_SUFFIX;
1156
1157   /**
1158    * A named preference that holds the color used to render php keywords.
1159    * <p>
1160    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1161    * </p>
1162    * 
1163    * @see org.eclipse.jface.resource.StringConverter
1164    * @see org.eclipse.jface.preference.PreferenceConverter
1165    */
1166   public final static String EDITOR_JAVA_KEYWORD_COLOR = IPreferenceConstants.PHP_KEYWORD;
1167
1168   /**
1169    * A named preference that controls whether keywords are rendered in bold.
1170    * <p>
1171    * Value is of type <code>Boolean</code>.
1172    * </p>
1173    */
1174   public final static String EDITOR_JAVA_KEYWORD_BOLD = IPreferenceConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX;
1175
1176   /**
1177    * A named preference that holds the color used to render predefined php function names.
1178    * <p>
1179    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1180    * </p>
1181    * 
1182    * @see org.eclipse.jface.resource.StringConverter
1183    * @see org.eclipse.jface.preference.PreferenceConverter
1184    */
1185   public final static String EDITOR_PHP_FUNCTIONNAME_COLOR = IPreferenceConstants.PHP_FUNCTIONNAME;
1186
1187   /**
1188    * A named preference that controls whether function names are rendered in bold.
1189    * <p>
1190    * Value is of type <code>Boolean</code>.
1191    * </p>
1192    */
1193   public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IPreferenceConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX;
1194
1195   /**
1196    * A named preference that holds the color used to render php variables.
1197    * <p>
1198    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1199    * </p>
1200    * 
1201    * @see org.eclipse.jface.resource.StringConverter
1202    * @see org.eclipse.jface.preference.PreferenceConverter
1203    */
1204   public final static String EDITOR_PHP_VARIABLE_COLOR = IPreferenceConstants.PHP_VARIABLE;
1205
1206   /**
1207    * A named preference that controls whether variables are rendered in bold.
1208    * <p>
1209    * Value is of type <code>Boolean</code>.
1210    * </p>
1211    */
1212   public final static String EDITOR_PHP_VARIABLE_BOLD = IPreferenceConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX;
1213
1214   /**
1215    * A named preference that holds the color used to render php constants.
1216    * <p>
1217    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1218    * </p>
1219    * 
1220    * @see org.eclipse.jface.resource.StringConverter
1221    * @see org.eclipse.jface.preference.PreferenceConverter
1222    */
1223   public final static String EDITOR_PHP_CONSTANT_COLOR = IPreferenceConstants.PHP_CONSTANT;
1224
1225   /**
1226    * A named preference that controls whether constants are rendered in bold.
1227    * <p>
1228    * Value is of type <code>Boolean</code>.
1229    * </p>
1230    */
1231   public final static String EDITOR_PHP_CONSTANT_BOLD = IPreferenceConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX;
1232
1233   /**
1234    * A named preference that holds the color used to render php types.
1235    * <p>
1236    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1237    * </p>
1238    * 
1239    * @see org.eclipse.jface.resource.StringConverter
1240    * @see org.eclipse.jface.preference.PreferenceConverter
1241    */
1242   public final static String EDITOR_PHP_TYPE_COLOR = IPreferenceConstants.PHP_TYPE;
1243
1244   /**
1245    * A named preference that controls whether types are rendered in bold.
1246    * <p>
1247    * Value is of type <code>Boolean</code>.
1248    * </p>
1249    */
1250   public final static String EDITOR_PHP_TYPE_BOLD = IPreferenceConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX;
1251
1252   /**
1253    * A named preference that holds the color used to render string constants.
1254    * <p>
1255    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1256    * </p>
1257    * 
1258    * @see org.eclipse.jface.resource.StringConverter
1259    * @see org.eclipse.jface.preference.PreferenceConverter
1260    */
1261   public final static String EDITOR_STRING_COLOR = IPreferenceConstants.PHP_STRING;
1262
1263   /**
1264    * A named preference that controls whether string constants are rendered in bold.
1265    * <p>
1266    * Value is of type <code>Boolean</code>.
1267    * </p>
1268    */
1269   public final static String EDITOR_STRING_BOLD = IPreferenceConstants.PHP_STRING + EDITOR_BOLD_SUFFIX;
1270
1271   /**
1272    * A named preference that holds the color used to render php default text.
1273    * <p>
1274    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1275    * </p>
1276    * 
1277    * @see org.eclipse.jface.resource.StringConverter
1278    * @see org.eclipse.jface.preference.PreferenceConverter
1279    */
1280   public final static String EDITOR_JAVA_DEFAULT_COLOR = IPreferenceConstants.PHP_DEFAULT;
1281
1282   /**
1283    * A named preference that controls whether Java default text is rendered in bold.
1284    * <p>
1285    * Value is of type <code>Boolean</code>.
1286    * </p>
1287    */
1288   public final static String EDITOR_JAVA_DEFAULT_BOLD = IPreferenceConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX;
1289
1290   /**
1291    * A named preference that holds the color used to render task tags.
1292    * <p>
1293    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1294    * </p>
1295    * 
1296    * @see org.eclipse.jface.resource.StringConverter
1297    * @see org.eclipse.jface.preference.PreferenceConverter
1298    * @since 2.1
1299    */
1300   public final static String EDITOR_TASK_TAG_COLOR = IPreferenceConstants.TASK_TAG;
1301
1302   /**
1303    * A named preference that controls whether task tags are rendered in bold.
1304    * <p>
1305    * Value is of type <code>Boolean</code>.
1306    * </p>
1307    * 
1308    * @since 2.1
1309    */
1310   public final static String EDITOR_TASK_TAG_BOLD = IPreferenceConstants.TASK_TAG + EDITOR_BOLD_SUFFIX;
1311
1312   /**
1313    * A named preference that holds the color used to render phpdoc keywords.
1314    * <p>
1315    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1316    * </p>
1317    * 
1318    * @see org.eclipse.jface.resource.StringConverter
1319    * @see org.eclipse.jface.preference.PreferenceConverter
1320    */
1321   public final static String EDITOR_JAVADOC_KEYWORD_COLOR = IPreferenceConstants.PHPDOC_KEYWORD;
1322
1323   /**
1324    * A named preference that controls whether phpdoc keywords are rendered in bold.
1325    * <p>
1326    * Value is of type <code>Boolean</code>.
1327    * </p>
1328    */
1329   public final static String EDITOR_JAVADOC_KEYWORD_BOLD = IPreferenceConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX;
1330
1331   /**
1332    * A named preference that holds the color used to render phpdoc tags.
1333    * <p>
1334    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1335    * </p>
1336    * 
1337    * @see org.eclipse.jface.resource.StringConverter
1338    * @see org.eclipse.jface.preference.PreferenceConverter
1339    */
1340   public final static String EDITOR_JAVADOC_TAG_COLOR = IPreferenceConstants.PHPDOC_TAG;
1341
1342   /**
1343    * A named preference that controls whether phpdoc tags are rendered in bold.
1344    * <p>
1345    * Value is of type <code>Boolean</code>.
1346    * </p>
1347    */
1348   public final static String EDITOR_JAVADOC_TAG_BOLD = IPreferenceConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX;
1349
1350   /**
1351    * A named preference that holds the color used to render phpdoc links.
1352    * <p>
1353    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1354    * </p>
1355    * 
1356    * @see org.eclipse.jface.resource.StringConverter
1357    * @see org.eclipse.jface.preference.PreferenceConverter
1358    */
1359   public final static String EDITOR_JAVADOC_LINKS_COLOR = IPreferenceConstants.PHPDOC_LINK;
1360
1361   /**
1362    * A named preference that controls whether phpdoc links are rendered in bold.
1363    * <p>
1364    * Value is of type <code>Boolean</code>.
1365    * </p>
1366    */
1367   public final static String EDITOR_JAVADOC_LINKS_BOLD = IPreferenceConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX;
1368
1369   /**
1370    * A named preference that holds the color used to render phpdoc default text.
1371    * <p>
1372    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1373    * </p>
1374    * 
1375    * @see org.eclipse.jface.resource.StringConverter
1376    * @see org.eclipse.jface.preference.PreferenceConverter
1377    */
1378   public final static String EDITOR_JAVADOC_DEFAULT_COLOR = IPreferenceConstants.PHPDOC_DEFAULT;
1379
1380   /**
1381    * A named preference that controls whether phpdoc default text is rendered in bold.
1382    * <p>
1383    * Value is of type <code>Boolean</code>.
1384    * </p>
1385    */
1386   public final static String EDITOR_JAVADOC_DEFAULT_BOLD = IPreferenceConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX;
1387
1388   /**
1389    * A named preference that holds the color used for 'linked-mode' underline.
1390    * <p>
1391    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1392    * </p>
1393    * 
1394    * @see org.eclipse.jface.resource.StringConverter
1395    * @see org.eclipse.jface.preference.PreferenceConverter
1396    * @since 2.1
1397    */
1398   public final static String EDITOR_LINK_COLOR = "linkColor"; //$NON-NLS-1$
1399
1400   /**
1401    * A named preference that controls whether hover tooltips in the editor are turned on or off.
1402    * <p>
1403    * Value is of type <code>Boolean</code>.
1404    * </p>
1405    */
1406   public static final String EDITOR_SHOW_HOVER = "net.sourceforge.phpdt.ui.editor.showHover"; //$NON-NLS-1$
1407
1408   /**
1409    * A named preference that defines the hover shown when no control key is pressed.
1410    * <p>
1411    * Value is of type <code>String</code>: possible values are <code>
1412    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1413    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1414    * </p>
1415    * 
1416    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1417    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1418    * @see JavaUI
1419    * @since 2.1
1420    */
1421   public static final String EDITOR_NONE_HOVER = "noneHover"; //$NON-NLS-1$
1422
1423   /**
1424    * A named preference that defines the hover shown when the <code>CTRL</code> modifier key is pressed.
1425    * <p>
1426    * Value is of type <code>String</code>: possible values are <code>
1427    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1428    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1429    * </p>
1430    * 
1431    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1432    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1433    * @see JavaUI
1434    * @since 2.1
1435    */
1436   public static final String EDITOR_CTRL_HOVER = "ctrlHover"; //$NON-NLS-1$
1437
1438   /**
1439    * A named preference that defines the hover shown when the <code>SHIFT</code> modifier key is pressed.
1440    * <p>
1441    * Value is of type <code>String</code>: possible values are <code>
1442    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1443    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1444    * </p>
1445    * 
1446    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1447    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1448    * @see JavaUI ID_*_HOVER
1449    * @since 2.1
1450    */
1451   public static final String EDITOR_SHIFT_HOVER = "shiftHover"; //$NON-NLS-1$
1452
1453   /**
1454    * A named preference that defines the hover shown when the <code>CTRL + ALT</code> modifier keys is pressed.
1455    * <p>
1456    * Value is of type <code>String</code>: possible values are <code>
1457    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1458    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1459    * </p>
1460    * 
1461    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1462    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1463    * @see JavaUI ID_*_HOVER
1464    * @since 2.1
1465    */
1466   public static final String EDITOR_CTRL_ALT_HOVER = "ctrlAltHover"; //$NON-NLS-1$
1467
1468   /**
1469    * A named preference that defines the hover shown when the <code>CTRL + ALT + SHIFT</code> modifier keys is pressed.
1470    * <p>
1471    * Value is of type <code>String</code>: possible values are <code>
1472    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1473    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1474    * </p>
1475    * 
1476    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1477    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1478    * @see JavaUI ID_*_HOVER
1479    * @since 2.1
1480    */
1481   public static final String EDITOR_CTRL_ALT_SHIFT_HOVER = "ctrlAltShiftHover"; //$NON-NLS-1$
1482
1483   /**
1484    * A named preference that defines the hover shown when the <code>CTRL + SHIFT</code> modifier keys is pressed.
1485    * <p>
1486    * Value is of type <code>String</code>: possible values are <code>
1487    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1488    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1489    * </p>
1490    * 
1491    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1492    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1493    * @see JavaUI ID_*_HOVER
1494    * @since 2.1
1495    */
1496   public static final String EDITOR_CTRL_SHIFT_HOVER = "ctrlShiftHover"; //$NON-NLS-1$
1497
1498   /**
1499    * A named preference that defines the hover shown when the <code>ALT</code> modifier key is pressed.
1500    * <p>
1501    * Value is of type <code>String</code>: possible values are <code>
1502    * EDITOR_NO_HOVER_CONFIGURED_ID</code>,
1503    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover contributed as <code>phpEditorTextHovers</code>.
1504    * </p>
1505    * 
1506    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1507    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1508    * @see JavaUI ID_*_HOVER
1509    * @since 2.1
1510    */
1511   public static final String EDITOR_ALT_SHIFT_HOVER = "altShiftHover"; //$NON-NLS-1$
1512
1513   /**
1514    * A string value used by the named preferences for hover configuration to descibe that no hover should be shown for the given key
1515    * modifiers.
1516    * 
1517    * @since 2.1
1518    */
1519   public static final String EDITOR_NO_HOVER_CONFIGURED_ID = "noHoverConfiguredId"; //$NON-NLS-1$
1520
1521   /**
1522    * A string value used by the named preferences for hover configuration to descibe that the default hover should be shown for the
1523    * given key modifiers. The default hover is described by the <code>EDITOR_DEFAULT_HOVER</code> property.
1524    * 
1525    * @since 2.1
1526    */
1527   public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID = "defaultHoverConfiguredId"; //$NON-NLS-1$
1528
1529   /**
1530    * A named preference that defines the hover named the 'default hover'. Value is of type <code>String</code>: possible values
1531    * are <code>
1532    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or <code> the hover id of a hover
1533    * contributed as <code>phpEditorTextHovers</code>.
1534    * </p>
1535    *@since 2.1
1536    */
1537   public static final String EDITOR_DEFAULT_HOVER = "defaultHover"; //$NON-NLS-1$
1538
1539   /**
1540    * A named preference that controls if segmented view (show selected element only) is turned on or off.
1541    * <p>
1542    * Value is of type <code>Boolean</code>.
1543    * </p>
1544    */
1545   public static final String EDITOR_SHOW_SEGMENTS = "net.sourceforge.phpdt.ui.editor.showSegments"; //$NON-NLS-1$
1546
1547   /**
1548    * A named preference that controls if browser like links are turned on or off.
1549    * <p>
1550    * Value is of type <code>Boolean</code>.
1551    * </p>
1552    * 
1553    * @since 2.1
1554    */
1555   public static final String EDITOR_BROWSER_LIKE_LINKS = "browserLikeLinks"; //$NON-NLS-1$
1556
1557   /**
1558    * A named preference that controls the key modifier for browser like links.
1559    * <p>
1560    * Value is of type <code>String</code>.
1561    * </p>
1562    * 
1563    * @since 2.1
1564    */
1565   public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER = "browserLikeLinksKeyModifier"; //$NON-NLS-1$
1566
1567   /**
1568    * A named preference that controls whether occurrences are marked in the editor.
1569    * <p>
1570    * Value is of type <code>Boolean</code>.
1571    * </p>
1572    * 
1573    * @since 3.0
1574    */
1575   public static final String EDITOR_MARK_OCCURRENCES = "markOccurrences"; //$NON-NLS-1$
1576
1577   /**
1578    * A named preference that controls whether occurrences are sticky in the editor.
1579    * <p>
1580    * Value is of type <code>Boolean</code>.
1581    * </p>
1582    * 
1583    * @since 3.0
1584    */
1585   public static final String EDITOR_STICKY_OCCURRENCES = "stickyOccurrences"; //$NON-NLS-1$
1586
1587   /**
1588    * A named preference that controls disabling of the overwrite mode.
1589    * <p>
1590    * Value is of type <code>Boolean</code>.
1591    * </p>
1592    * 
1593    * @since 3.0
1594    */
1595   public static final String EDITOR_DISABLE_OVERWRITE_MODE = "disable_overwrite_mode"; //$NON-NLS-1$
1596
1597   /**
1598    * A named preference that controls the "smart semicolon" smart typing handler
1599    * <p>
1600    * Value is of type <code>Boolean</code>.
1601    * </p>
1602    * 
1603    * @since 3.0
1604    */
1605   public static final String EDITOR_SMART_SEMICOLON = "smart_semicolon"; //$NON-NLS-1$
1606
1607   /**
1608    * A named preference that controls the smart backspace behavior.
1609    * <p>
1610    * Value is of type <code>Boolean</code>.
1611    * 
1612    * @since 3.0
1613    */
1614   public static final String EDITOR_SMART_BACKSPACE = "smart_backspace"; //$NON-NLS-1$
1615
1616   /**
1617    * A named preference that controls the "smart opening brace" smart typing handler
1618    * <p>
1619    * Value is of type <code>Boolean</code>.
1620    * </p>
1621    * 
1622    * @since 3.0
1623    */
1624   public static final String EDITOR_SMART_OPENING_BRACE = "smart_opening_brace"; //$NON-NLS-1$
1625
1626   /**
1627    * A named preference that controls the smart tab behaviour.
1628    * <p>
1629    * Value is of type <code>Boolean</code>.
1630    * 
1631    * @since 3.0
1632    */
1633   public static final String EDITOR_SMART_TAB = "smart_tab"; //$NON-NLS-1$
1634
1635   /**
1636    * A named preference that controls whether Java comments should be spell-checked.
1637    * <p>
1638    * Value is of type <code>Boolean</code>.
1639    * </p>
1640    * 
1641    * @since 3.0
1642    */
1643   public final static String SPELLING_CHECK_SPELLING = ISpellCheckPreferenceKeys.SPELLING_CHECK_SPELLING;
1644
1645   /**
1646    * A named preference that controls whether words containing digits should be skipped during spell-checking.
1647    * <p>
1648    * Value is of type <code>Boolean</code>.
1649    * </p>
1650    * 
1651    * @since 3.0
1652    */
1653   public final static String SPELLING_IGNORE_DIGITS = ISpellCheckPreferenceKeys.SPELLING_IGNORE_DIGITS;
1654
1655   /**
1656    * A named preference that controls whether mixed case words should be skipped during spell-checking.
1657    * <p>
1658    * Value is of type <code>Boolean</code>.
1659    * </p>
1660    * 
1661    * @since 3.0
1662    */
1663   public final static String SPELLING_IGNORE_MIXED = ISpellCheckPreferenceKeys.SPELLING_IGNORE_MIXED;
1664
1665   /**
1666    * A named preference that controls whether sentence capitalization should be ignored during spell-checking.
1667    * <p>
1668    * Value is of type <code>Boolean</code>.
1669    * </p>
1670    * 
1671    * @since 3.0
1672    */
1673   public final static String SPELLING_IGNORE_SENTENCE = ISpellCheckPreferenceKeys.SPELLING_IGNORE_SENTENCE;
1674
1675   /**
1676    * A named preference that controls whether upper case words should be skipped during spell-checking.
1677    * <p>
1678    * Value is of type <code>Boolean</code>.
1679    * </p>
1680    * 
1681    * @since 3.0
1682    */
1683   public final static String SPELLING_IGNORE_UPPER = ISpellCheckPreferenceKeys.SPELLING_IGNORE_UPPER;
1684
1685   /**
1686    * A named preference that controls whether urls should be ignored during spell-checking.
1687    * <p>
1688    * Value is of type <code>Boolean</code>.
1689    * </p>
1690    * 
1691    * @since 3.0
1692    */
1693   public final static String SPELLING_IGNORE_URLS = ISpellCheckPreferenceKeys.SPELLING_IGNORE_URLS;
1694
1695   /**
1696    * A named preference that controls the locale used for spell-checking.
1697    * <p>
1698    * Value is of type <code>String</code>.
1699    * </p>
1700    * 
1701    * @since 3.0
1702    */
1703   public final static String SPELLING_LOCALE = ISpellCheckPreferenceKeys.SPELLING_LOCALE;
1704
1705   /**
1706    * A named preference that controls the number of proposals offered during spell-checking.
1707    * <p>
1708    * Value is of type <code>Integer</code>.
1709    * </p>
1710    * 
1711    * @since 3.0
1712    */
1713   public final static String SPELLING_PROPOSAL_THRESHOLD = ISpellCheckPreferenceKeys.SPELLING_PROPOSAL_THRESHOLD;
1714
1715   /**
1716    * A named preference that specifies the workspace user dictionary.
1717    * <p>
1718    * Value is of type <code>Integer</code>.
1719    * </p>
1720    * 
1721    * @since 3.0
1722    */
1723   public final static String SPELLING_USER_DICTIONARY = ISpellCheckPreferenceKeys.SPELLING_USER_DICTIONARY;
1724
1725   /**
1726    * A named preference that specifies whether spelling dictionaries are available to content assist.
1727    * <p>
1728    * Value is of type <code>Boolean</code>.
1729    * </p>
1730    * 
1731    * @since 3.0
1732    */
1733   public final static String SPELLING_ENABLE_CONTENTASSIST = ISpellCheckPreferenceKeys.SPELLING_ENABLE_CONTENTASSIST;
1734
1735   /**
1736    * A named preference that controls whether code snippets are formatted in Javadoc comments.
1737    * <p>
1738    * Value is of type <code>Boolean</code>.
1739    * </p>
1740    * 
1741    * @since 3.0
1742    */
1743   public final static String FORMATTER_COMMENT_FORMATSOURCE = "comment_format_source_code"; //$NON-NLS-1$
1744
1745   /**
1746    * A named preference that controls whether description of Javadoc parameters are indented.
1747    * <p>
1748    * Value is of type <code>Boolean</code>.
1749    * </p>
1750    * 
1751    * @since 3.0
1752    */
1753   public final static String FORMATTER_COMMENT_INDENTPARAMETERDESCRIPTION = "comment_indent_parameter_description"; //$NON-NLS-1$
1754
1755   /**
1756    * A named preference that controls whether the header comment of a Java source file is formatted.
1757    * <p>
1758    * Value is of type <code>Boolean</code>.
1759    * </p>
1760    * 
1761    * @since 3.0
1762    */
1763   public final static String FORMATTER_COMMENT_FORMATHEADER = "comment_format_header"; //$NON-NLS-1$
1764
1765   /**
1766    * A named preference that controls whether Javadoc root tags are indented.
1767    * <p>
1768    * Value is of type <code>Boolean</code>.
1769    * </p>
1770    * 
1771    * @since 3.0
1772    */
1773   public final static String FORMATTER_COMMENT_INDENTROOTTAGS = "comment_indent_root_tags"; //$NON-NLS-1$
1774
1775   /**
1776    * A named preference that controls whether Javadoc comments are formatted by the content formatter.
1777    * <p>
1778    * Value is of type <code>Boolean</code>.
1779    * </p>
1780    * 
1781    * @since 3.0
1782    */
1783   public final static String FORMATTER_COMMENT_FORMAT = "comment_format_comments"; //$NON-NLS-1$
1784
1785   /**
1786    * A named preference that controls whether a new line is inserted after Javadoc root tag parameters.
1787    * <p>
1788    * Value is of type <code>Boolean</code>.
1789    * </p>
1790    * 
1791    * @since 3.0
1792    */
1793   public final static String FORMATTER_COMMENT_NEWLINEFORPARAMETER = "comment_new_line_for_parameter"; //$NON-NLS-1$
1794
1795   /**
1796    * A named preference that controls whether an empty line is inserted before the Javadoc root tag block.
1797    * <p>
1798    * Value is of type <code>Boolean</code>.
1799    * </p>
1800    * 
1801    * @since 3.0
1802    */
1803   public final static String FORMATTER_COMMENT_SEPARATEROOTTAGS = "comment_separate_root_tags"; //$NON-NLS-1$
1804
1805   /**
1806    * A named preference that controls whether blank lines are cleared during formatting
1807    * <p>
1808    * Value is of type <code>Boolean</code>.
1809    * </p>
1810    * 
1811    * @since 3.0
1812    */
1813   public final static String FORMATTER_COMMENT_CLEARBLANKLINES = "comment_clear_blank_lines"; //$NON-NLS-1$
1814
1815   /**
1816    * A named preference that controls the line length of comments.
1817    * <p>
1818    * Value is of type <code>Integer</code>. The value must be at least 4 for reasonable formatting.
1819    * </p>
1820    * 
1821    * @since 3.0
1822    */
1823   public final static String FORMATTER_COMMENT_LINELENGTH = "comment_line_length"; //$NON-NLS-1$
1824
1825   /**
1826    * A named preference that controls whether html tags are formatted.
1827    * <p>
1828    * Value is of type <code>Boolean</code>.
1829    * </p>
1830    * 
1831    * @since 3.0
1832    */
1833   public final static String FORMATTER_COMMENT_FORMATHTML = "comment_format_html"; //$NON-NLS-1$
1834
1835   /**
1836    * A named preference that controls if the Java code assist gets auto activated.
1837    * <p>
1838    * Value is of type <code>Boolean</code>.
1839    * </p>
1840    */
1841   public final static String CODEASSIST_AUTOACTIVATION = "content_assist_autoactivation"; //$NON-NLS-1$
1842
1843   /**
1844    * A name preference that holds the auto activation delay time in milli seconds.
1845    * <p>
1846    * Value is of type <code>Int</code>.
1847    * </p>
1848    */
1849   public final static String CODEASSIST_AUTOACTIVATION_DELAY = "content_assist_autoactivation_delay"; //$NON-NLS-1$
1850
1851   /**
1852    * A named preference that controls if code assist contains only visible proposals.
1853    * <p>
1854    * Value is of type <code>Boolean</code>. if <code>true<code> code assist only contains visible members. If 
1855    * <code>false</code> all members are included.
1856    * </p>
1857    */
1858   public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS = "content_assist_show_visible_proposals"; //$NON-NLS-1$
1859
1860   /**
1861    * A named preference that controls if the Java code assist inserts a proposal automatically if only one proposal is available.
1862    * <p>
1863    * Value is of type <code>Boolean</code>.
1864    * </p>
1865    * 
1866    * @since 2.1
1867    */
1868   public final static String CODEASSIST_AUTOINSERT = "content_assist_autoinsert"; //$NON-NLS-1$
1869
1870   /**
1871    * A named preference that controls if the Java code assist adds import statements.
1872    * <p>
1873    * Value is of type <code>Boolean</code>.
1874    * </p>
1875    * 
1876    * @since 2.1
1877    */
1878   public final static String CODEASSIST_ADDIMPORT = "content_assist_add_import"; //$NON-NLS-1$
1879
1880   /**
1881    * A named preference that controls if the Java code assist only inserts completions. If set to false the proposals can also
1882    * _replace_ code.
1883    * <p>
1884    * Value is of type <code>Boolean</code>.
1885    * </p>
1886    * 
1887    * @since 2.1
1888    */
1889   public final static String CODEASSIST_INSERT_COMPLETION = "content_assist_insert_completion"; //$NON-NLS-1$   
1890
1891   /**
1892    * A named preference that controls whether code assist proposals filtering is case sensitive or not.
1893    * <p>
1894    * Value is of type <code>Boolean</code>.
1895    * </p>
1896    */
1897   public final static String CODEASSIST_CASE_SENSITIVITY = "content_assist_case_sensitivity"; //$NON-NLS-1$
1898
1899   /**
1900    * A named preference that defines if code assist proposals are sorted in alphabetical order.
1901    * <p>
1902    * Value is of type <code>Boolean</code>. If <code>true</code> that are sorted in alphabetical order. If <code>false</code>
1903    * that are unsorted.
1904    * </p>
1905    */
1906   public final static String CODEASSIST_ORDER_PROPOSALS = "content_assist_order_proposals"; //$NON-NLS-1$
1907
1908   /**
1909    * A named preference that controls if argument names are filled in when a method is selected from as list of code assist
1910    * proposal.
1911    * <p>
1912    * Value is of type <code>Boolean</code>.
1913    * </p>
1914    */
1915   public final static String CODEASSIST_FILL_ARGUMENT_NAMES = "content_assist_fill_method_arguments"; //$NON-NLS-1$
1916
1917   /**
1918    * A named preference that controls if method arguments are guessed when a method is selected from as list of code assist
1919    * proposal.
1920    * <p>
1921    * Value is of type <code>Boolean</code>.
1922    * </p>
1923    * 
1924    * @since 2.1
1925    */
1926   public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS = "content_assist_guess_method_arguments"; //$NON-NLS-1$
1927
1928   /**
1929    * A named preference that holds the characters that auto activate code assist in PHP code.
1930    * <p>
1931    * Value is of type <code>Sring</code>. All characters that trigger auto code assist in PHP code.
1932    * </p>
1933    */
1934   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA = "content_assist_autoactivation_triggers_php"; //$NON-NLS-1$
1935
1936   /**
1937    * A named preference that holds the characters that auto activate code assist in PHPDoc.
1938    * <p>
1939    * Value is of type <code>Sring</code>. All characters that trigger auto code assist in PHPDoc.
1940    * </p>
1941    */
1942   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC = "content_assist_autoactivation_triggers_phpdoc"; //$NON-NLS-1$
1943
1944   /**
1945    * A named preference that holds the characters that auto activate code assist in HTML.
1946    * <p>
1947    * Value is of type <code>Sring</code>. All characters that trigger auto code assist in HTML.
1948    * </p>
1949    */
1950   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML = "content_assist_autoactivation_triggers_html"; //$NON-NLS-1$
1951
1952   /**
1953    * A named preference that holds the background color used in the code assist selection dialog.
1954    * <p>
1955    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1956    * </p>
1957    * 
1958    * @see org.eclipse.jface.resource.StringConverter
1959    * @see org.eclipse.jface.preference.PreferenceConverter
1960    */
1961   public final static String CODEASSIST_PROPOSALS_BACKGROUND = "content_assist_proposals_background"; //$NON-NLS-1$
1962
1963   /**
1964    * A named preference that holds the foreground color used in the code assist selection dialog.
1965    * <p>
1966    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1967    * </p>
1968    * 
1969    * @see org.eclipse.jface.resource.StringConverter
1970    * @see org.eclipse.jface.preference.PreferenceConverter
1971    */
1972   public final static String CODEASSIST_PROPOSALS_FOREGROUND = "content_assist_proposals_foreground"; //$NON-NLS-1$
1973
1974   /**
1975    * A named preference that holds the background color used for parameter hints.
1976    * <p>
1977    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1978    * </p>
1979    * 
1980    * @see org.eclipse.jface.resource.StringConverter
1981    * @see org.eclipse.jface.preference.PreferenceConverter
1982    */
1983   public final static String CODEASSIST_PARAMETERS_BACKGROUND = "content_assist_parameters_background"; //$NON-NLS-1$
1984
1985   /**
1986    * A named preference that holds the foreground color used in the code assist selection dialog
1987    * <p>
1988    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
1989    * </p>
1990    * 
1991    * @see org.eclipse.jface.resource.StringConverter
1992    * @see org.eclipse.jface.preference.PreferenceConverter
1993    */
1994   public final static String CODEASSIST_PARAMETERS_FOREGROUND = "content_assist_parameters_foreground"; //$NON-NLS-1$
1995
1996   /**
1997    * A named preference that holds the background color used in the code assist selection dialog to mark replaced code.
1998    * <p>
1999    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
2000    * </p>
2001    * 
2002    * @see org.eclipse.jface.resource.StringConverter
2003    * @see org.eclipse.jface.preference.PreferenceConverter
2004    * @since 2.1
2005    */
2006   public final static String CODEASSIST_REPLACEMENT_BACKGROUND = "content_assist_completion_replacement_background"; //$NON-NLS-1$
2007
2008   /**
2009    * A named preference that holds the foreground color used in the code assist selection dialog to mark replaced code.
2010    * <p>
2011    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
2012    * </p>
2013    * 
2014    * @see org.eclipse.jface.resource.StringConverter
2015    * @see org.eclipse.jface.preference.PreferenceConverter
2016    * @since 2.1
2017    */
2018   public final static String CODEASSIST_REPLACEMENT_FOREGROUND = "content_assist_completion_replacement_foreground"; //$NON-NLS-1$
2019
2020   /**
2021    * A named preference that controls the behaviour of the refactoring wizard for showing the error page.
2022    * <p>
2023    * Value is of type <code>String</code>. Valid values are: <code>REFACTOR_FATAL_SEVERITY</code>,
2024    * <code>REFACTOR_ERROR_SEVERITY</code>,<code>REFACTOR_WARNING_SEVERITY</code>
2025    * <code>REFACTOR_INFO_SEVERITY</code>,
2026    * <code>REFACTOR_OK_SEVERITY</code>.
2027    * </p>
2028    * 
2029    * @see #REFACTOR_FATAL_SEVERITY
2030    * @see #REFACTOR_ERROR_SEVERITY
2031    * @see #REFACTOR_WARNING_SEVERITY
2032    * @see #REFACTOR_INFO_SEVERITY
2033    * @see #REFACTOR_OK_SEVERITY
2034    */
2035   public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD = "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$
2036
2037   /**
2038    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
2039    * 
2040    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
2041    */
2042   public static final String REFACTOR_FATAL_SEVERITY = "4"; //$NON-NLS-1$
2043
2044   /**
2045    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
2046    * 
2047    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
2048    */
2049   public static final String REFACTOR_ERROR_SEVERITY = "3"; //$NON-NLS-1$
2050
2051   /**
2052    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
2053    * 
2054    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
2055    */
2056   public static final String REFACTOR_WARNING_SEVERITY = "2"; //$NON-NLS-1$
2057
2058   /**
2059    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
2060    * 
2061    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
2062    */
2063   public static final String REFACTOR_INFO_SEVERITY = "1"; //$NON-NLS-1$
2064
2065   /**
2066    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
2067    * 
2068    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
2069    */
2070   public static final String REFACTOR_OK_SEVERITY = "0"; //$NON-NLS-1$
2071
2072   /**
2073    * A named preference thet controls whether all dirty editors are automatically saved before a refactoring is executed.
2074    * <p>
2075    * Value is of type <code>Boolean</code>.
2076    * </p>
2077    */
2078   public static final String REFACTOR_SAVE_ALL_EDITORS = "Refactoring.savealleditors"; //$NON-NLS-1$
2079
2080   /**
2081    * A named preference that controls if the Java Browsing views are linked to the active editor.
2082    * <p>
2083    * Value is of type <code>Boolean</code>.
2084    * </p>
2085    * 
2086    * @see #LINK_PACKAGES_TO_EDITOR
2087    */
2088   public static final String BROWSING_LINK_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
2089
2090   /**
2091    * A named preference that controls the layout of the Java Browsing views vertically. Boolean value.
2092    * <p>
2093    * Value is of type <code>Boolean</code>. If <code>true<code> the views are stacked vertical.
2094    * If <code>false</code> they are stacked horizontal.
2095    * </p>
2096    */
2097   public static final String BROWSING_STACK_VERTICALLY = "net.sourceforge.phpdt.ui.browsing.stackVertically"; //$NON-NLS-1$
2098
2099   /**
2100    * A named preference that controls if templates are formatted when applied.
2101    * <p>
2102    * Value is of type <code>Boolean</code>.
2103    * </p>
2104    * 
2105    * @since 2.1
2106    */
2107   public static final String TEMPLATES_USE_CODEFORMATTER = "net.sourceforge.phpdt.ui.template.format"; //$NON-NLS-1$
2108
2109   /**
2110    * A named preference that controls the key modifier mask for browser like links. The value is only used if the value of
2111    * <code>EDITOR_BROWSER_LIKE_LINKS</code> cannot be resolved to valid SWT modifier bits.
2112    * <p>
2113    * Value is of type <code>String</code>.
2114    * </p>
2115    * 
2116    * @see #EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER
2117    * @since 2.1.1
2118    */
2119   public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK = "browserLikeLinksKeyModifierMask"; //$NON-NLS-1$
2120
2121   /**
2122    * A named preference that defines the key for the hover modifier state masks. The value is only used if the value of
2123    * <code>EDITOR_TEXT_HOVER_MODIFIERS</code> cannot be resolved to valid SWT modifier bits.
2124    * 
2125    * @see JavaUI
2126    * @see #EDITOR_TEXT_HOVER_MODIFIERS
2127    * @since 2.1.1
2128    */
2129   public static final String EDITOR_TEXT_HOVER_MODIFIER_MASKS = "hoverModifierMasks"; //$NON-NLS-1$
2130
2131   /**
2132    * A named preference that controls whether folding is enabled in the Java editor.
2133    * <p>
2134    * Value is of type <code>Boolean</code>.
2135    * </p>
2136    * 
2137    * @since 3.0
2138    */
2139   public static final String EDITOR_FOLDING_ENABLED = "editor_folding_enabled"; //$NON-NLS-1$
2140
2141   /**
2142    * A named preference that stores the configured folding provider.
2143    * <p>
2144    * Value is of type <code>String</code>.
2145    * </p>
2146    * 
2147    * @since 3.0
2148    */
2149   public static final String EDITOR_FOLDING_PROVIDER = "editor_folding_provider"; //$NON-NLS-1$
2150
2151   /**
2152    * A named preference that stores the value for Javadoc folding for the default folding provider.
2153    * <p>
2154    * Value is of type <code>Boolean</code>.
2155    * </p>
2156    * 
2157    * @since 3.0
2158    */
2159   public static final String EDITOR_FOLDING_JAVADOC = "editor_folding_default_javadoc"; //$NON-NLS-1$
2160
2161   /**
2162    * A named preference that stores the value for inner type folding for the default folding provider.
2163    * <p>
2164    * Value is of type <code>Boolean</code>.
2165    * </p>
2166    * 
2167    * @since 3.0
2168    */
2169   public static final String EDITOR_FOLDING_INNERTYPES = "editor_folding_default_innertypes"; //$NON-NLS-1$
2170
2171   /**
2172    * A named preference that stores the value for method folding for the default folding provider.
2173    * <p>
2174    * Value is of type <code>Boolean</code>.
2175    * </p>
2176    * 
2177    * @since 3.0
2178    */
2179   public static final String EDITOR_FOLDING_METHODS = "editor_folding_default_methods"; //$NON-NLS-1$
2180
2181   /**
2182    * A named preference that stores the value for imports folding for the default folding provider.
2183    * <p>
2184    * Value is of type <code>Boolean</code>.
2185    * </p>
2186    * 
2187    * @since 3.0
2188    */
2189   public static final String EDITOR_FOLDING_IMPORTS = "editor_folding_default_imports"; //$NON-NLS-1$
2190
2191   public static void initializeDefaultValues(IPreferenceStore store) {
2192     store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false);
2193
2194     // JavaBasePreferencePage
2195     store.setDefault(PreferenceConstants.LINK_PACKAGES_TO_EDITOR, true);
2196     store.setDefault(PreferenceConstants.LINK_TYPEHIERARCHY_TO_EDITOR, false);
2197     store.setDefault(PreferenceConstants.LINK_BROWSING_VIEW_TO_EDITOR, true);
2198     store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART);
2199     store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS);
2200     store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING);
2201
2202     // AppearancePreferencePage
2203     store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false);
2204     store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, false);
2205     store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true);
2206     store.setDefault(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR, true);
2207     store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false);
2208     store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$
2209     store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true);
2210
2211     // ImportOrganizePreferencePage
2212     store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$
2213     store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99);
2214     store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true);
2215
2216     // ClasspathVariablesPreferencePage
2217     // CodeFormatterPreferencePage
2218     // CompilerPreferencePage
2219     // no initialization needed
2220
2221     // RefactoringPreferencePage
2222     store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_ERROR_SEVERITY);
2223     store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false);
2224     store.setDefault("RefactoringUI", "dialog");
2225
2226     // TemplatePreferencePage
2227     store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true);
2228
2229     // CodeGenerationPreferencePage
2230     store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX, false);
2231     store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false);
2232     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$
2233     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$
2234     store.setDefault(PreferenceConstants.CODEGEN_ADD_COMMENTS, true);
2235     store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false);
2236     store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false);
2237
2238     // MembersOrderPreferencePage
2239     store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$
2240     // must add here to guarantee that it is the first in the listener list
2241     store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache());
2242
2243     // PHPEditorPreferencePage
2244     /*
2245      * Ensure that the display is accessed only in the UI thread. Ensure that there are no side effects of switching the thread.
2246      */
2247     final RGB[] rgbs = new RGB[3];
2248     final Display display = Display.getDefault();
2249     display.syncExec(new Runnable() {
2250       public void run() {
2251         Color c = display.getSystemColor(SWT.COLOR_GRAY);
2252         rgbs[0] = c.getRGB();
2253         c = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
2254         rgbs[1] = c.getRGB();
2255         c = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
2256         rgbs[2] = c.getRGB();
2257       }
2258     });
2259
2260     store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true);
2261     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, rgbs[0]);
2262
2263     store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true);
2264     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
2265
2266     store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN, false);
2267     store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80);
2268     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185));
2269
2270     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR, new RGB(185, 176, 180));
2271
2272     //    store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true);
2273     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0, 128));
2274     //    store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true);
2275     //
2276     //    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true);
2277     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200, 45));
2278     //    store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true);
2279     //
2280     //    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false);
2281     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255));
2282     //    store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false);
2283     //
2284     //    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false);
2285     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99));
2286     //    store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false);
2287     //
2288     //    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false);
2289     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192));
2290     //    store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false);
2291     //
2292     //    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false);
2293     //    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0));
2294     //    store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false);
2295
2296     store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true);
2297     store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, true);
2298
2299     store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true);
2300
2301     store.setDefault(PreferenceConstants.EDITOR_OVERVIEW_RULER, true);
2302
2303     store.setDefault(PreferenceConstants.EDITOR_LINE_NUMBER_RULER, false);
2304     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0));
2305
2306     //    WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT);
2307
2308     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(0, 200, 100));
2309     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINK_COLOR, new RGB(0, 0, 255));
2310
2311     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgbs[1]);
2312     store.setDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR, true);
2313
2314     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgbs[2]);
2315     store.setDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, true);
2316
2317     store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4);
2318     store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false);
2319
2320     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
2321     store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false);
2322
2323     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
2324     store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false);
2325
2326     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TAG_COLOR, new RGB(255, 0, 128));
2327     store.setDefault(PreferenceConstants.EDITOR_PHP_TAG_BOLD, true);
2328
2329     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR, new RGB(127, 0, 85));
2330     store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true);
2331
2332     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR, new RGB(127, 127, 159));
2333     store.setDefault(PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD, false);
2334
2335     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR, new RGB(127, 159, 191));
2336     store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD, false);
2337
2338     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR, new RGB(127, 0, 85));
2339     store.setDefault(PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD, false);
2340
2341     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TYPE_COLOR, new RGB(127, 0, 85));
2342     store.setDefault(PreferenceConstants.EDITOR_PHP_TYPE_BOLD, false);
2343
2344     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255));
2345     store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false);
2346
2347     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0));
2348     store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false);
2349
2350     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR, new RGB(127, 159, 191));
2351     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true);
2352
2353     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR, new RGB(127, 127, 159));
2354     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false);
2355
2356     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR, new RGB(63, 63, 191));
2357     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false);
2358
2359     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR, new RGB(63, 95, 191));
2360     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false);
2361
2362     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true);
2363     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 500);
2364
2365     store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true);
2366     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233));
2367     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0));
2368     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, new RGB(254, 241, 233));
2369     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0));
2370     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0));
2371     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0));
2372     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$
2373     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$
2374     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, "<&#"); //$NON-NLS-1$
2375     store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true);
2376     store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false);
2377     store.setDefault(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, false);
2378     store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true);
2379     store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true);
2380     store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, false);
2381     store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, true);
2382     store.setDefault(PreferenceConstants.CODEASSIST_PREFIX_COMPLETION, false);
2383
2384     store.setDefault(PreferenceConstants.EDITOR_SMART_HOME_END, true);
2385     store.setDefault(PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, true);
2386     store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true);
2387     store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_DQ_PHP, true);
2388     store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_SQ_PHP, true);
2389     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, true);
2390     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true);
2391     store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true);
2392     store.setDefault(PreferenceConstants.EDITOR_WRAP_WORDS, false);
2393     store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS_DQ, true);
2394     store.setDefault(PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ, false);
2395     store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, true);
2396     store.setDefault(PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ, false);
2397     store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true);
2398     store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, false);
2399     store.setDefault(PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE, false);
2400
2401     store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML, true);
2402     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML, true);
2403
2404     //  store.setDefault(PreferenceConstants.EDITOR_DEFAULT_HOVER, JavaPlugin.ID_BESTMATCH_HOVER);
2405     store.setDefault(PreferenceConstants.EDITOR_NONE_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2406     //          store.setDefault(PreferenceConstants.EDITOR_CTRL_HOVER, JavaPlugin.ID_SOURCE_HOVER);
2407     store.setDefault(PreferenceConstants.EDITOR_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2408     store.setDefault(PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2409     store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2410     store.setDefault(PreferenceConstants.EDITOR_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2411     store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
2412
2413     String ctrl = Action.findModifierString(SWT.CTRL);
2414     store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIERS,
2415         "net.sourceforge.phpdt.ui.BestMatchHover;0;net.sourceforge.phpdt.ui.JavaSourceHover;" + ctrl); //$NON-NLS-1$
2416     store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIER_MASKS,
2417         "net.sourceforge.phpdt.ui.BestMatchHover;0;net.sourceforge.phpdt.ui.JavaSourceHover;" + SWT.CTRL); //$NON-NLS-1$
2418     store.setDefault(PreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE, true);
2419
2420     store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, true);
2421     store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER, ctrl);
2422     store.setDefault(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK, SWT.CTRL);
2423
2424     //  spell checking
2425     store.setDefault(PreferenceConstants.SPELLING_CHECK_SPELLING, false);
2426     store.setDefault(PreferenceConstants.SPELLING_LOCALE, SpellCheckEngine.getDefaultLocale().toString());
2427     store.setDefault(PreferenceConstants.SPELLING_IGNORE_DIGITS, true);
2428     store.setDefault(PreferenceConstants.SPELLING_IGNORE_MIXED, true);
2429     store.setDefault(PreferenceConstants.SPELLING_IGNORE_SENTENCE, true);
2430     store.setDefault(PreferenceConstants.SPELLING_IGNORE_UPPER, true);
2431     store.setDefault(PreferenceConstants.SPELLING_IGNORE_URLS, true);
2432     store.setDefault(PreferenceConstants.SPELLING_USER_DICTIONARY, ""); //$NON-NLS-1$
2433     store.setDefault(PreferenceConstants.SPELLING_PROPOSAL_THRESHOLD, 20);
2434     store.setDefault(PreferenceConstants.SPELLING_ENABLE_CONTENTASSIST, false);
2435
2436     // folding
2437     store.setDefault(PreferenceConstants.EDITOR_FOLDING_ENABLED, true);
2438     store.setDefault(PreferenceConstants.EDITOR_FOLDING_PROVIDER, "net.sourceforge.phpdt.ui.text.defaultFoldingProvider"); //$NON-NLS-1$
2439     store.setDefault(PreferenceConstants.EDITOR_FOLDING_JAVADOC, true);
2440     store.setDefault(PreferenceConstants.EDITOR_FOLDING_INNERTYPES, true);
2441     store.setDefault(PreferenceConstants.EDITOR_FOLDING_METHODS, false);
2442     store.setDefault(PreferenceConstants.EDITOR_FOLDING_IMPORTS, false);
2443
2444     store.setDefault(PreferenceConstants.EDITOR_SMART_BACKSPACE, true);
2445
2446     // do more complicated stuff
2447     //  NewJavaProjectPreferencePage.initDefaults(store);
2448   }
2449
2450   /**
2451    * Returns the JDT-UI preference store.
2452    * 
2453    * @return the JDT-UI preference store
2454    */
2455   public static IPreferenceStore getPreferenceStore() {
2456     return PHPeclipsePlugin.getDefault().getPreferenceStore();
2457   }
2458
2459   //    /**
2460   //     * Encodes a JRE library to be used in the named preference <code>NEWPROJECT_JRELIBRARY_LIST</code>.
2461   //     *
2462   //     * @param description a string value describing the JRE library. The description is used
2463   //     * to indentify the JDR library in the UI
2464   //     * @param entries an array of classpath entries to be encoded
2465   //     *
2466   //     * @return the encoded string.
2467   //    */
2468   //    public static String encodeJRELibrary(String description, IClasspathEntry[] entries) {
2469   //            return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries);
2470   //    }
2471   //    
2472   //    /**
2473   //     * Decodes an encoded JRE library and returns its description string.
2474   //     *
2475   //     * @return the description of an encoded JRE library
2476   //     *
2477   //     * @see #encodeJRELibrary(String, IClasspathEntry[])
2478   //     */
2479   //    public static String decodeJRELibraryDescription(String encodedLibrary) {
2480   //            return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary);
2481   //    }
2482   //    
2483   //    /**
2484   //     * Decodes an encoded JRE library and returns its classpath entries.
2485   //     *
2486   //     * @return the array of classpath entries of an encoded JRE library.
2487   //     *
2488   //     * @see #encodeJRELibrary(String, IClasspathEntry[])
2489   //     */
2490   //    public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) {
2491   //            return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary);
2492   //    }
2493   //    
2494   //    /**
2495   //     * Returns the current configuration for the JRE to be used as default in new Java projects.
2496   //     * This is a convenience method to access the named preference <code>NEWPROJECT_JRELIBRARY_LIST
2497   //     * </code> with the index defined by <code> NEWPROJECT_JRELIBRARY_INDEX</code>.
2498   //     *
2499   //     * @return the current default set of classpath entries
2500   //     *
2501   //     * @see #NEWPROJECT_JRELIBRARY_LIST
2502   //     * @see #NEWPROJECT_JRELIBRARY_INDEX
2503   //     */
2504   //    public static IClasspathEntry[] getDefaultJRELibrary() {
2505   //            return NewJavaProjectPreferencePage.getDefaultJRELibrary();
2506   //    }
2507 }