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