detection of globals on superglobals (and some warnings ...)
[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.phpeclipse.PHPeclipsePlugin;
14
15 import org.eclipse.jface.preference.IPreferenceStore;
16 import org.eclipse.jface.preference.PreferenceConverter;
17 import org.eclipse.jface.resource.JFaceResources;
18 import org.eclipse.swt.SWT;
19 import org.eclipse.swt.graphics.Color;
20 import org.eclipse.swt.graphics.RGB;
21 import org.eclipse.swt.widgets.Display;
22 import org.eclipse.ui.texteditor.AbstractTextEditor;
23 import org.eclipse.ui.texteditor.WorkbenchChainedTextFontFieldEditor;
24
25 //import org.phpeclipse.phpdt.core.IClasspathEntry;
26 //
27 import net.sourceforge.phpdt.ui.text.IJavaColorConstants;
28 //
29 //import org.phpeclipse.phpdt.internal.ui.JavaPlugin;
30 //import org.phpeclipse.phpdt.internal.ui.preferences.NewJavaProjectPreferencePage;
31
32 /**
33  * Preference constants used in the JDT-UI preference store. Clients should only read the
34  * JDT-UI preference store using these values. Clients are not allowed to modify the 
35  * preference store programmatically.
36  * 
37  * @since 2.0
38   */
39 public class PreferenceConstants {
40
41   private PreferenceConstants() {
42   }
43
44   /**
45    * A named preference that controls return type rendering of methods in the UI.
46    * <p>
47    * Value is of type <code>Boolean</code>: if <code>true</code> return types
48    * are rendered
49    * </p>
50    */
51   public static final String APPEARANCE_METHOD_RETURNTYPE = "net.sourceforge.phpdt.ui.methodreturntype"; //$NON-NLS-1$
52
53   /**
54    * A named preference that controls if override indicators are rendered in the UI.
55    * <p>
56    * Value is of type <code>Boolean</code>: if <code>true</code> override 
57    * indicators are rendered
58    * </p>
59      */
60   public static final String APPEARANCE_OVERRIDE_INDICATOR = "net.sourceforge.phpdt.ui.overrideindicator"; //$NON-NLS-1$
61
62   /**
63    * A named preference that defines the pattern used for package name compression.
64    * <p>
65    * Value is of type <code>String</code>. For example foe the given package name 'org.eclipse.jdt' pattern
66    * '.' will compress it to '..jdt', '1~' to 'o~.e~.jdt'.
67    * </p>
68    */
69   public static final String APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW = "PackagesView.pkgNamePatternForPackagesView"; //$NON-NLS-1$
70
71   /**
72    * A named preference that controls if package name compression is turned on or off.
73    * <p>
74    * Value is of type <code>Boolean</code>.
75    * </p>
76    * 
77    * @see #APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW
78    */
79   public static final String APPEARANCE_COMPRESS_PACKAGE_NAMES = "net.sourceforge.phpdt.ui.compresspackagenames"; //$NON-NLS-1$
80
81   /**
82    * A named preference that controls if empty inner packages are folded in
83    * the hierarchical mode of the package explorer.
84    * <p>
85    * Value is of type <code>Boolean</code>: if <code>true</code> empty
86    * inner packages are folded.
87    * </p>
88    * @since 2.1
89    */
90   public static final String APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER = "net.sourceforge.phpdt.ui.flatPackagesInPackageExplorer"; //$NON-NLS-1$
91
92   /**
93    * A named preference that defines how member elements are ordered by the
94    * Java views using the <code>JavaElementSorter</code>.
95    * <p>
96    * Value is of type <code>String</code>: A comma separated list of the
97    * following entries. Each entry must be in the list, no duplication. List
98    * order defines the sort order.
99    * <ul>
100    * <li><b>T</b>: Types</li>
101    * <li><b>C</b>: Constructors</li>
102    * <li><b>I</b>: Initializers</li>
103    * <li><b>M</b>: Methods</li>
104    * <li><b>F</b>: Fields</li>
105    * <li><b>SI</b>: Static Initializers</li>
106    * <li><b>SM</b>: Static Methods</li>
107    * <li><b>SF</b>: Static Fields</li>
108    * </ul>
109    * </p>
110    * @since 2.1
111    */
112   public static final String APPEARANCE_MEMBER_SORT_ORDER = "outlinesortoption"; //$NON-NLS-1$
113
114   /**
115    * A named preference that controls if prefix removal during setter/getter generation is turned on or off. 
116    * <p>
117    * Value is of type <code>Boolean</code>.
118    * </p>
119    */
120   public static final String CODEGEN_USE_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.enable"; //$NON-NLS-1$
121
122   /**
123    * A named preference that holds a list of prefixes to be removed from a local variable to compute setter 
124    * and gettter names.
125    * <p>
126    * Value is of type <code>String</code>: comma separated list of prefixed
127    * </p>
128    * 
129    * @see #CODEGEN_USE_GETTERSETTER_PREFIX
130    */
131   public static final String CODEGEN_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.list"; //$NON-NLS-1$
132
133   /**
134    * A named preference that controls if suffix removal during setter/getter generation is turned on or off.
135    * <p>
136    * Value is of type <code>Boolean</code>.
137    * </p>
138    */
139   public static final String CODEGEN_USE_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.enable"; //$NON-NLS-1$
140
141   /**
142    * A named preference that holds a list of suffixes to be removed from a local variable to compute setter 
143    * and getter names.
144    * <p>
145    * Value is of type <code>String</code>: comma separated list of suffixes
146    * </p>
147    * 
148    * @see #CODEGEN_USE_GETTERSETTER_SUFFIX
149    */
150   public static final String CODEGEN_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$
151
152   /**
153    * A name preference that controls if a JavaDoc stub gets added to newly created types and methods.
154    * <p>
155    * Value is of type <code>Boolean</code>.
156    * </p>
157    */
158   public static final String CODEGEN__JAVADOC_STUBS = "net.sourceforge.phpdt.ui.phpdoc"; //$NON-NLS-1$
159
160   /**
161    * A named preference that controls if a non-phpdoc comment gets added to methods generated via the 
162    * "Override Methods" operation.
163    * <p>
164    * Value is of type <code>Boolean</code>.
165    * </p>
166    */
167   public static final String CODEGEN__NON_JAVADOC_COMMENTS = "net.sourceforge.phpdt.ui.seecomments"; //$NON-NLS-1$
168
169   /**
170    * A named preference that controls if a file comment gets added to newly created files.
171    * <p>
172    * Value is of type <code>Boolean</code>.
173    * </p>
174    */
175   public static final String CODEGEN__FILE_COMMENTS = "net.sourceforge.phpdt.ui.filecomments"; //$NON-NLS-1$
176
177   /**
178    * A named preference that holds a list of comma separated package names. The list specifies the import order used by
179    * the "Organize Imports" opeation.
180    * <p>
181    * Value is of type <code>String</code>: semicolon separated list of package
182    * names
183    * </p>
184    */
185   public static final String ORGIMPORTS_IMPORTORDER = "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$
186
187   /**
188    * A named preference that specifies the number of imports added before a star-import declaration is used.
189    * <p>
190    * Value is of type <code>Int</code>: positive value specifing the number of non star-import is used
191    * </p>
192    */
193   public static final String ORGIMPORTS_ONDEMANDTHRESHOLD = "net.sourceforge.phpdt.ui.ondemandthreshold"; //$NON-NLS-1$
194
195   /**
196    * A named preferences that controls if types that start with a lower case letters get added by the
197    * "Organize Import" operation.
198    * <p>
199    * Value is of type <code>Boolean</code>.
200    * </p>
201    */
202   public static final String ORGIMPORTS_IGNORELOWERCASE = "net.sourceforge.phpdt.ui.ignorelowercasenames"; //$NON-NLS-1$
203
204   /**
205    * A named preference that speficies whether children of a compilation unit are shown in the package explorer.
206    * <p>
207    * Value is of type <code>Boolean</code>.
208    * </p>
209    */
210   public static final String SHOW_CU_CHILDREN = "net.sourceforge.phpdt.ui.packages.cuchildren"; //$NON-NLS-1$
211
212   /**
213    * A named preference that controls whether the package explorer's selection is linked to the active editor.
214    * <p>
215    * Value is of type <code>Boolean</code>.
216    * </p>
217    */
218   public static final String LINK_PACKAGES_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktoeditor"; //$NON-NLS-1$
219
220   /**
221    * A named preference that controls whether the hierarchy view's selection is linked to the active editor.
222    * <p>
223    * Value is of type <code>Boolean</code>.
224    * </p>
225    */
226   public static final String LINK_TYPEHIERARCHY_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktypehierarchytoeditor"; //$NON-NLS-1$
227
228   /**
229    * A named preference that controls whether the browsing view's selection is
230    * linked to the active editor.
231    * <p>
232    * Value is of type <code>Boolean</code>.
233    * </p>
234    * @since 2.1
235    */
236   public static final String LINK_BROWSING_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
237
238   /**
239    * A named preference that controls whether new projects are generated using source and output folder.
240    * <p>
241    * Value is of type <code>Boolean</code>. if <code>true</code> new projects are created with a source and
242    * output folder. If <code>false</code> source and output folder equals to the project.
243    * </p>
244    */
245   public static final String SRCBIN_FOLDERS_IN_NEWPROJ = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersInNewProjects"; //$NON-NLS-1$
246
247   /**
248    * A named preference that specifies the source folder name used when creating a new Java project. Value is inactive
249    * if <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
250    * <p>
251    * Value is of type <code>String</code>. 
252    * </p>
253    * 
254    * @see #SRCBIN_FOLDERS_IN_NEWPROJ
255    */
256   public static final String SRCBIN_SRCNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersSrcName"; //$NON-NLS-1$
257
258   /**
259    * A named preference that specifies the output folder name used when creating a new Java project. Value is inactive
260    * if <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
261    * <p>
262    * Value is of type <code>String</code>. 
263    * </p>
264    * 
265    * @see #SRCBIN_FOLDERS_IN_NEWPROJ
266    */
267   public static final String SRCBIN_BINNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersBinName"; //$NON-NLS-1$
268
269   /**
270    * A named preference that holds a list of possible JRE libraries used by the New Java Project wizard. An library 
271    * consists of a description and an arbitrary number of <code>IClasspathEntry</code>s, that will represent the 
272    * JRE on the new project's classpath. 
273    * <p>
274    * Value is of type <code>String</code>: a semicolon separated list of encoded JRE libraries. 
275    * <code>NEWPROJECT_JRELIBRARY_INDEX</code> defines the currently used library. Clients
276    * should use the method <code>encodeJRELibrary</code> to encode a JRE library into a string
277    * and the methods <code>decodeJRELibraryDescription(String)</code> and <code>
278    * decodeJRELibraryClasspathEntries(String)</code> to decode the description and the array
279    * of classpath entries from an encoded string.
280    * </p>
281    * 
282    * @see #NEWPROJECT_JRELIBRARY_INDEX
283    * @see #encodeJRELibrary(String, IClasspathEntry[])
284    * @see #decodeJRELibraryDescription(String)
285    * @see #decodeJRELibraryClasspathEntries(String)
286    */
287   public static final String NEWPROJECT_JRELIBRARY_LIST = "net.sourceforge.phpdt.ui.wizards.jre.list"; //$NON-NLS-1$
288
289   /**
290    * A named preferences that specifies the current active JRE library.
291    * <p>
292    * Value is of type <code>Int</code>: an index into the list of possible JRE libraries.
293    * </p>
294    * 
295    * @see #NEWPROJECT_JRELIBRARY_LIST
296    */
297   public static final String NEWPROJECT_JRELIBRARY_INDEX = "net.sourceforge.phpdt.ui.wizards.jre.index"; //$NON-NLS-1$
298
299   /**
300    * A named preference that controls if a new type hierarchy gets opened in a 
301    * new type hierarchy perspective or inside the type hierarchy view part.
302    * <p>
303    * Value is of type <code>String</code>: possible values are <code>
304    * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE</code> or <code>
305    * OPEN_TYPE_HIERARCHY_IN_VIEW_PART</code>.
306    * </p>
307    * 
308    * @see #OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE
309    * @see #OPEN_TYPE_HIERARCHY_IN_VIEW_PART
310    */
311   public static final String OPEN_TYPE_HIERARCHY = "net.sourceforge.phpdt.ui.openTypeHierarchy"; //$NON-NLS-1$
312
313   /**
314    * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
315    * 
316    * @see #OPEN_TYPE_HIERARCHY
317    */
318   public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE = "perspective"; //$NON-NLS-1$
319
320   /**
321    * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
322    * 
323    * @see #OPEN_TYPE_HIERARCHY
324    */
325   public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART = "viewPart"; //$NON-NLS-1$
326
327   /**
328    * A named preference that controls the behaviour when double clicking on a container in the packages view. 
329    * <p>
330    * Value is of type <code>String</code>: possible values are <code>
331    * DOUBLE_CLICK_GOES_INTO</code> or <code>
332    * DOUBLE_CLICK_EXPANDS</code>.
333    * </p>
334    * 
335    * @see #DOUBLE_CLICK_EXPANDS
336    * @see #DOUBLE_CLICK_GOES_INTO
337    */
338   public static final String DOUBLE_CLICK = "packageview.doubleclick"; //$NON-NLS-1$
339
340   /**
341    * A string value used by the named preference <code>DOUBLE_CLICK</code>.
342    * 
343    * @see #DOUBLE_CLICK
344    */
345   public static final String DOUBLE_CLICK_GOES_INTO = "packageview.gointo"; //$NON-NLS-1$
346
347   /**
348    * A string value used by the named preference <code>DOUBLE_CLICK</code>.
349    * 
350    * @see #DOUBLE_CLICK
351    */
352   public static final String DOUBLE_CLICK_EXPANDS = "packageview.doubleclick.expands"; //$NON-NLS-1$
353
354   /**
355    * A named preference that controls whether Java views update their presentation while editing or when saving the
356    * content of an editor. 
357    * <p>
358    * Value is of type <code>String</code>: possible values are <code>
359    * UPDATE_ON_SAVE</code> or <code>
360    * UPDATE_WHILE_EDITING</code>.
361    * </p>
362    * 
363    * @see #UPDATE_ON_SAVE
364    * @see #UPDATE_WHILE_EDITING
365    */
366   public static final String UPDATE_JAVA_VIEWS = "JavaUI.update"; //$NON-NLS-1$
367
368   /**
369    * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
370    * 
371    * @see #UPDATE_JAVA_VIEWS
372    */
373   public static final String UPDATE_ON_SAVE = "JavaUI.update.onSave"; //$NON-NLS-1$
374
375   /**
376    * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
377    * 
378    * @see #UPDATE_JAVA_VIEWS
379    */
380   public static final String UPDATE_WHILE_EDITING = "JavaUI.update.whileEditing"; //$NON-NLS-1$
381
382   /**
383    * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard.
384    * <p>
385    * Value is of type <code>String</code>.
386    * </p>
387    */
388   public static final String JAVADOC_COMMAND = "command"; //$NON-NLS-1$
389
390   /**
391    * A named preference that controls whether bracket matching highlighting is turned on or off.
392    * <p>
393    * Value is of type <code>Boolean</code>.
394    * </p>
395    */
396   public final static String EDITOR_MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$
397
398   /**
399    * A named preference that holds the color used to highlight matching brackets.
400    * <p>
401    * Value is of type <code>String</code>. A RGB color value encoded as a string 
402    * using class <code>PreferenceConverter</code>
403    * </p>
404    * 
405    * @see org.eclipse.jface.resource.StringConverter
406    * @see org.eclipse.jface.preference.PreferenceConverter
407    */
408   public final static String EDITOR_MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$
409
410   /**
411    * A named preference that controls whether the current line highlighting is turned on or off.
412    * <p>
413    * Value is of type <code>Boolean</code>.
414    * </p>
415    */
416   public final static String EDITOR_CURRENT_LINE = "currentLine"; //$NON-NLS-1$
417
418   /**
419    * A named preference that holds the color used to highlight the current line.
420    * <p>
421    * Value is of type <code>String</code>. A RGB color value encoded as a string
422    * using class <code>PreferenceConverter</code>
423    * </p>
424    * 
425    * @see org.eclipse.jface.resource.StringConverter
426    * @see org.eclipse.jface.preference.PreferenceConverter
427    */
428   public final static String EDITOR_CURRENT_LINE_COLOR = "currentLineColor"; //$NON-NLS-1$
429
430   /**
431    * A named preference that controls whether the print margin is turned on or off.
432    * <p>
433    * Value is of type <code>Boolean</code>.
434    * </p>
435    */
436   public final static String EDITOR_PRINT_MARGIN = "printMargin"; //$NON-NLS-1$
437
438   /**
439    * A named preference that holds the color used to render the print margin.
440    * <p>
441    * Value is of type <code>String</code>. A RGB color value encoded as a string
442    * using class <code>PreferenceConverter</code>
443    * </p>
444    * 
445    * @see org.eclipse.jface.resource.StringConverter
446    * @see org.eclipse.jface.preference.PreferenceConverter
447    */
448   public final static String EDITOR_PRINT_MARGIN_COLOR = "printMarginColor"; //$NON-NLS-1$
449
450   /**
451    * Print margin column. Int value.
452    */
453   public final static String EDITOR_PRINT_MARGIN_COLUMN = "printMarginColumn"; //$NON-NLS-1$
454
455   /**
456    * A named preference that holds the color used for the find/replace scope.
457    * <p>
458    * Value is of type <code>String</code>. A RGB color value encoded as a string
459    * using class <code>PreferenceConverter</code>
460    * </p>
461    * 
462    * @see org.eclipse.jface.resource.StringConverter
463    * @see org.eclipse.jface.preference.PreferenceConverter
464    */
465   public final static String EDITOR_FIND_SCOPE_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FIND_SCOPE;
466
467   /**
468    * A named preference that specifies if the editor uses spaces for tabs.
469    * <p>
470    * Value is of type <code>Boolean</code>. If <code>true</code>spaces instead of tabs are used
471    * in the editor. If <code>false</code> the editor inserts a tab character when pressing the tab
472    * key.
473    * </p>
474    */
475   public final static String EDITOR_SPACES_FOR_TABS = "spacesForTabs"; //$NON-NLS-1$
476
477   /**
478    * A named preference that holds the number of spaces used per tab in the editor.
479    * <p>
480    * Value is of type <code>Int</code>: positive int value specifying the number of
481    * spaces per tab.
482    * </p>
483    */
484   public final static String EDITOR_TAB_WIDTH = "net.sourceforge.phpdt.ui.editor.tab.width"; //$NON-NLS-1$
485
486   /**
487    * A named preference that controls whether the outline view selection
488    * should stay in sync with with the element at the current cursor position.
489    * <p>
490    * Value is of type <code>Boolean</code>.
491    * </p>
492    * @since 2.1
493    */
494   public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE = "JavaEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$
495
496   /**
497    * A named preference that controls if correction indicators are shown in the UI.
498    * <p>
499    * Value is of type <code>Boolean</code>.
500    * </p>
501    */
502   public final static String EDITOR_CORRECTION_INDICATION = "JavaEditor.ShowTemporaryProblem"; //$NON-NLS-1$
503
504   /**
505    * A named preference that controls whether the editor shows problem indicators in text (squiggly lines). 
506    * <p>
507    * Value is of type <code>Boolean</code>.
508    * </p>
509    */
510   public final static String EDITOR_PROBLEM_INDICATION = "problemIndication"; //$NON-NLS-1$
511
512   /**
513    * A named preference that holds the color used to render problem indicators.
514    * <p>
515    * Value is of type <code>String</code>. A RGB color value encoded as a string
516    * using class <code>PreferenceConverter</code>
517    * </p>
518    * 
519    * @see #EDITOR_PROBLEM_INDICATION
520    * @see org.eclipse.jface.resource.StringConverter
521    * @see org.eclipse.jface.preference.PreferenceConverter
522    */
523   public final static String EDITOR_PROBLEM_INDICATION_COLOR = "problemIndicationColor"; //$NON-NLS-1$
524
525   /**PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR;
526    * A named preference that controls whether the editor shows warning indicators in text (squiggly lines). 
527    * <p>
528    * Value is of type <code>Boolean</code>.
529    * </p>
530    */
531   public final static String EDITOR_WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
532
533   /**
534    * A named preference that holds the color used to render warning indicators.
535    * <p>
536    * Value is of type <code>String</code>. A RGB color value encoded as a string
537    * using class <code>PreferenceConverter</code>
538    * </p>
539    * 
540    * @see #EDITOR_WARNING_INDICATION
541    * @see org.eclipse.jface.resource.StringConverter
542    * @see org.eclipse.jface.preference.PreferenceConverter
543    */
544   public final static String EDITOR_WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
545
546   /**
547    * A named preference that controls whether the editor shows task indicators in text (squiggly lines). 
548    * <p>
549    * Value is of type <code>Boolean</code>.
550    * </p>
551    */
552   public final static String EDITOR_TASK_INDICATION = "taskIndication"; //$NON-NLS-1$
553
554   /**
555    * A named preference that holds the color used to render task indicators.
556    * <p>
557    * Value is of type <code>String</code>. A RGB color value encoded as a string
558    * using class <code>PreferenceConverter</code>
559    * </p>
560    * 
561    * @see #EDITOR_TASK_INDICATION
562    * @see org.eclipse.jface.resource.StringConverter
563    * @see org.eclipse.jface.preference.PreferenceConverter
564    */
565   public final static String EDITOR_TASK_INDICATION_COLOR = "taskIndicationColor"; //$NON-NLS-1$
566
567   /**
568    * A named preference that controls whether the editor shows bookmark
569    * indicators in text (squiggly lines).
570    * <p>
571    * Value is of type <code>Boolean</code>.
572    * </p>
573    * @since 2.1
574    */
575   public final static String EDITOR_BOOKMARK_INDICATION = "bookmarkIndication"; //$NON-NLS-1$
576
577   /**
578    * A named preference that holds the color used to render bookmark indicators.
579    * <p>
580    * Value is of type <code>String</code>. A RGB color value encoded as a string
581    * using class <code>PreferenceConverter</code>
582    * </p>
583    *
584    * @see #EDITOR_BOOKMARK_INDICATION
585    * @see org.eclipse.jface.resource.StringConverter
586    * @see org.eclipse.jface.preference.PreferenceConverter
587    * @since 2.1
588    */
589   public final static String EDITOR_BOOKMARK_INDICATION_COLOR = "bookmarkIndicationColor"; //$NON-NLS-1$
590
591   /**
592    * A named preference that controls whether the editor shows search
593    * indicators in text (squiggly lines).
594    * <p>
595    * Value is of type <code>Boolean</code>.
596    * </p>
597    * @since 2.1
598    */
599   public final static String EDITOR_SEARCH_RESULT_INDICATION = "searchResultIndication"; //$NON-NLS-1$
600
601   /**
602    * A named preference that holds the color used to render search indicators.
603    * <p>
604    * Value is of type <code>String</code>. A RGB color value encoded as a string
605    * using class <code>PreferenceConverter</code>
606    * </p>
607    *
608    * @see #EDITOR_SEARCH_RESULT_INDICATION
609    * @see org.eclipse.jface.resource.StringConverter
610    * @see org.eclipse.jface.preference.PreferenceConverter
611    * @since 2.1
612    */
613   public final static String EDITOR_SEARCH_RESULT_INDICATION_COLOR = "searchResultIndicationColor"; //$NON-NLS-1$
614
615   /**
616    * A named preference that controls whether the editor shows unknown
617    * indicators in text (squiggly lines).
618    * <p>
619    * Value is of type <code>Boolean</code>.
620    * </p>
621    * @since 2.1
622    */
623   public final static String EDITOR_UNKNOWN_INDICATION = "othersIndication"; //$NON-NLS-1$
624
625   /**
626    * A named preference that holds the color used to render unknown
627    * indicators.
628    * <p>
629    * Value is of type <code>String</code>. A RGB color value encoded as a string
630    * using class <code>PreferenceConverter</code>
631    * </p>
632    *
633    * @see #EDITOR_UNKNOWN_INDICATION
634    * @see org.eclipse.jface.resource.StringConverter
635    * @see org.eclipse.jface.preference.PreferenceConverter
636    * @since 2.1
637    */
638   public final static String EDITOR_UNKNOWN_INDICATION_COLOR = "othersIndicationColor"; //$NON-NLS-1$
639
640   /**
641    * A named preference that controls whether the overview ruler shows error
642    * indicators.
643    * <p>
644    * Value is of type <code>Boolean</code>.
645    * </p>
646    * @since 2.1
647    */
648   public final static String EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER = "errorIndicationInOverviewRuler"; //$NON-NLS-1$
649
650   /**
651    * A named preference that controls whether the overview ruler shows warning
652    * indicators.
653    * <p>
654    * Value is of type <code>Boolean</code>.
655    * </p>
656    * @since 2.1
657    */
658   public final static String EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER = "warningIndicationInOverviewRuler"; //$NON-NLS-1$
659
660   /**
661    * A named preference that controls whether the overview ruler shows task
662    * indicators.
663    * <p>
664    * Value is of type <code>Boolean</code>.
665    * </p>
666    * @since 2.1
667    */
668   public final static String EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER = "taskIndicationInOverviewRuler"; //$NON-NLS-1$
669
670   /**
671    * A named preference that controls whether the overview ruler shows
672    * bookmark indicators.
673    * <p>
674    * Value is of type <code>Boolean</code>.
675    * </p>
676    * @since 2.1
677    */
678   public final static String EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER = "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$
679
680   /**
681    * A named preference that controls whether the overview ruler shows
682    * search result indicators.
683    * <p>
684    * Value is of type <code>Boolean</code>.
685    * </p>
686    * @since 2.1
687    */
688   public final static String EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER = "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$
689
690   /**
691    * A named preference that controls whether the overview ruler shows
692    * unknown indicators.
693    * <p>
694    * Value is of type <code>Boolean</code>.
695    * </p>
696    * @since 2.1
697    */
698   public final static String EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER = "othersIndicationInOverviewRuler"; //$NON-NLS-1$
699
700   /**
701    * A named preference that controls whether the 'close strings' feature
702    *  is   enabled in PHP mode
703    * <p>
704    * Value is of type <code>Boolean</code>.
705    * </p>
706    * @since 2.1
707    */
708   public final static String EDITOR_CLOSE_STRINGS_PHP = "closeStringsPHP"; //$NON-NLS-1$
709
710   /**
711    * A named preference that controls whether the 'wrap strings' feature is
712    * enabled.
713    * <p>
714    * Value is of type <code>Boolean</code>.
715    * </p>
716    * @since 2.1
717    */
718   public final static String EDITOR_WRAP_STRINGS = "wrapStrings"; //$NON-NLS-1$
719
720   /**
721    * A named preference that controls whether the 'close brackets' feature is
722    * enabled in PHP mode
723    * <p>
724    * Value is of type <code>Boolean</code>.
725    * </p>
726    * @since 2.1
727    */
728   public final static String EDITOR_CLOSE_BRACKETS_PHP = "closeBracketsPHP"; //$NON-NLS-1$
729
730   /**
731    * A named preference that controls whether the 'close braces' feature is
732    * enabled.
733    * <p>
734    * Value is of type <code>Boolean</code>.
735    * </p>
736    * @since 2.1
737    */
738   public final static String EDITOR_CLOSE_BRACES = "closeBraces"; //$NON-NLS-1$
739
740   /**
741    * A named preference that controls whether the 'close php docs' feature is
742    * enabled.
743    * <p>
744    * Value is of type <code>Boolean</code>.
745    * </p>
746    * @since 2.1
747    */
748   public final static String EDITOR_CLOSE_JAVADOCS = "closeJavaDocs"; //$NON-NLS-1$
749
750   /**
751    * A named preference that controls whether the 'add JavaDoc tags' feature
752    * is enabled.
753    * <p>
754    * Value is of type <code>Boolean</code>.
755    * </p>
756    * @since 2.1
757    */
758   public final static String EDITOR_ADD_JAVADOC_TAGS = "addJavaDocTags"; //$NON-NLS-1$
759
760   /**
761    * A named preference that controls whether the 'format Javadoc tags'
762    * feature is enabled.
763    * <p>
764    * Value is of type <code>Boolean</code>.
765    * </p>
766    * @since 2.1
767    */
768   public final static String EDITOR_FORMAT_JAVADOCS = "formatJavaDocs"; //$NON-NLS-1$
769
770   /**
771    * A named preference that controls whether the 'smart paste' feature is
772    * enabled.
773    * <p>
774    * Value is of type <code>Boolean</code>.
775    * </p>
776    * @since 2.1
777    */
778   public final static String EDITOR_SMART_PASTE = "smartPaste"; //$NON-NLS-1$
779
780   /**
781    * A named preference that controls whether the 'close strings' feature
782    *  is   enabled in HTML mode
783    * <p>
784    * Value is of type <code>Boolean</code>.
785    * </p>
786    * @since 2.1
787    */
788   public final static String EDITOR_CLOSE_STRINGS_HTML = "closeStringsHTML"; //$NON-NLS-1$
789
790   /**
791    * A named preference that controls whether the 'close brackets' feature is
792    * enabled in HTML mode
793    * <p>
794    * Value is of type <code>Boolean</code>.
795    * </p>
796    * @since 2.1
797    */
798   public final static String EDITOR_CLOSE_BRACKETS_HTML = "closeBracketsHTML"; //$NON-NLS-1$
799   
800   /**
801    * A named preference that controls whether the 'smart home-end' feature is
802    * enabled.
803    * <p>
804    * Value is of type <code>Boolean</code>.
805    * </p>
806    * @since 2.1
807    */
808   public final static String EDITOR_SMART_HOME_END = AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END;
809
810   /**
811    * A named preference that controls if temporary problems are evaluated and shown in the UI.
812    * <p>
813    * Value is of type <code>Boolean</code>.
814    * </p>
815    */
816   public final static String EDITOR_EVALUTE_TEMPORARY_PROBLEMS = "handleTemporaryProblems"; //$NON-NLS-1$
817
818   /**
819    * A named preference that controls if the overview ruler is shown in the UI.
820    * <p>
821    * Value is of type <code>Boolean</code>.
822    * </p>
823    */
824   public final static String EDITOR_OVERVIEW_RULER = "overviewRuler"; //$NON-NLS-1$
825
826   /**
827    * A named preference that controls if the line number ruler is shown in the UI.
828    * <p>
829    * Value is of type <code>Boolean</code>.
830    * </p>
831    */
832   public final static String EDITOR_LINE_NUMBER_RULER = "lineNumberRuler"; //$NON-NLS-1$
833
834   /**
835    * A named preference that holds the color used to render line numbers inside the line number ruler.
836    * <p>
837    * Value is of type <code>String</code>. A RGB color value encoded as a string
838    * using class <code>PreferenceConverter</code>
839    * </p>
840    * 
841    * @see org.eclipse.jface.resource.StringConverter
842    * @see org.eclipse.jface.preference.PreferenceConverter
843    * @see #EDITOR_LINE_NUMBER_RULER
844    */
845   public final static String EDITOR_LINE_NUMBER_RULER_COLOR = "lineNumberColor"; //$NON-NLS-1$
846
847   /**
848    * A named preference that holds the color used to render linked positions inside code templates.
849    * <p>
850    * Value is of type <code>String</code>. A RGB color value encoded as a string
851    * using class <code>PreferenceConverter</code>
852    * </p>
853    * 
854    * @see org.eclipse.jface.resource.StringConverter
855    * @see org.eclipse.jface.preference.PreferenceConverter
856    */
857   public final static String EDITOR_LINKED_POSITION_COLOR = "linkedPositionColor"; //$NON-NLS-1$
858
859   /**
860    * A named preference that holds the color used as the text foreground.
861    * <p>
862    * Value is of type <code>String</code>. A RGB color value encoded as a string
863    * using class <code>PreferenceConverter</code>
864    * </p>
865    * 
866    * @see org.eclipse.jface.resource.StringConverter
867    * @see org.eclipse.jface.preference.PreferenceConverter
868    */
869   public final static String EDITOR_FOREGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND;
870
871   /**
872    * A named preference that describes if the system default foreground color
873    * is used as the text foreground.
874    * <p>
875    * Value is of type <code>Boolean</code>.
876    * </p>
877    */
878   public final static String EDITOR_FOREGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT;
879
880   /**
881    * A named preference that holds the color used as the text background.
882    * <p>
883    * Value is of type <code>String</code>. A RGB color value encoded as a string
884    * using class <code>PreferenceConverter</code>
885    * </p>
886    * 
887    * @see org.eclipse.jface.resource.StringConverter
888    * @see org.eclipse.jface.preference.PreferenceConverter
889    */
890   public final static String EDITOR_BACKGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND;
891
892   /**
893    * A named preference that describes if the system default background color
894    * is used as the text foreground.
895    * <p>
896    * Value is of type <code>Boolean</code>. 
897    * </p>
898    */
899   public final static String EDITOR_BACKGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT;
900
901   /**
902    * Preference key suffix for bold text style preference keys.
903    */
904   public static final String EDITOR_BOLD_SUFFIX = "_bold"; //$NON-NLS-1$
905
906   /**
907    * A named preference that holds the color used to render multi line comments.
908    * <p>
909    * Value is of type <code>String</code>. A RGB color value encoded as a string
910    * using class <code>PreferenceConverter</code>
911    * </p>
912    * 
913    * @see org.eclipse.jface.resource.StringConverter
914    * @see org.eclipse.jface.preference.PreferenceConverter
915    */
916   public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_MULTI_LINE_COMMENT;
917
918   /**
919    * A named preference that controls whether multi line comments are rendered in bold.
920    * <p>
921    * Value is of type <code>Boolean</code>. If <code>true</code> multi line comments are rendered
922    * in bold. If <code>false</code> the are rendered using no font style attribute.
923    * </p>
924    */
925   public final static String EDITOR_MULTI_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_MULTI_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
926
927   /**
928    * A named preference that holds the color used to render single line comments.
929    * <p>
930    * Value is of type <code>String</code>. A RGB color value encoded as a string
931    * using class <code>PreferenceConverter</code>
932    * </p>
933    * 
934    * @see org.eclipse.jface.resource.StringConverter
935    * @see org.eclipse.jface.preference.PreferenceConverter
936    */
937   public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT;
938
939   /**
940    * A named preference that controls whether sinle line comments are rendered in bold.
941    * <p>
942    * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered
943    * in bold. If <code>false</code> the are rendered using no font style attribute.
944    * </p>
945    */
946   public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
947
948   /**
949    * A named preference that holds the color used to render php keywords.
950    * <p>
951    * Value is of type <code>String</code>. A RGB color value encoded as a string
952    * using class <code>PreferenceConverter</code>
953    * </p>
954    * 
955    * @see org.eclipse.jface.resource.StringConverter
956    * @see org.eclipse.jface.preference.PreferenceConverter
957    */
958   public final static String EDITOR_JAVA_KEYWORD_COLOR = IJavaColorConstants.PHP_KEYWORD;
959
960   /**
961    * A named preference that controls whether keywords are rendered in bold.
962    * <p>
963    * Value is of type <code>Boolean</code>.
964    * </p>
965    */
966   public final static String EDITOR_JAVA_KEYWORD_BOLD = IJavaColorConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX;
967
968   /**
969    * A named preference that holds the color used to render predefined php
970    * function names.
971    * <p>
972    * Value is of type <code>String</code>. A RGB color value encoded as a string
973    * using class <code>PreferenceConverter</code>
974    * </p>
975    * 
976    * @see org.eclipse.jface.resource.StringConverter
977    * @see org.eclipse.jface.preference.PreferenceConverter
978    */
979   public final static String EDITOR_PHP_FUNCTIONNAME_COLOR = IJavaColorConstants.PHP_FUNCTIONNAME;
980
981   /**
982    * A named preference that controls whether function names are rendered in
983    * bold.
984    * <p>
985    * Value is of type <code>Boolean</code>.
986    * </p>
987    */
988   public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IJavaColorConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX;
989
990   /**
991    * A named preference that holds the color used to render php
992    * variables.
993    * <p>
994    * Value is of type <code>String</code>. A RGB color value encoded as a string
995    * using class <code>PreferenceConverter</code>
996    * </p>
997    * 
998    * @see org.eclipse.jface.resource.StringConverter
999    * @see org.eclipse.jface.preference.PreferenceConverter
1000    */
1001   public final static String EDITOR_PHP_VARIABLE_COLOR = IJavaColorConstants.PHP_VARIABLE;
1002
1003   /**
1004    * A named preference that controls whether variables are rendered in bold.
1005    * <p>
1006    * Value is of type <code>Boolean</code>.
1007    * </p>
1008    */
1009   public final static String EDITOR_PHP_VARIABLE_BOLD = IJavaColorConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX;
1010
1011   /**
1012    * A named preference that holds the color used to render php constants.
1013    * <p>
1014    * Value is of type <code>String</code>. A RGB color value encoded as a string
1015    * using class <code>PreferenceConverter</code>
1016    * </p>
1017    * 
1018    * @see org.eclipse.jface.resource.StringConverter
1019    * @see org.eclipse.jface.preference.PreferenceConverter
1020    */
1021   public final static String EDITOR_PHP_CONSTANT_COLOR = IJavaColorConstants.PHP_CONSTANT;
1022
1023   /**
1024    * A named preference that controls whether constants are rendered in bold.
1025    * <p>
1026    * Value is of type <code>Boolean</code>.
1027    * </p>
1028    */
1029   public final static String EDITOR_PHP_CONSTANT_BOLD = IJavaColorConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX;
1030
1031   /**
1032    * A named preference that holds the color used to render php types.
1033    * <p>
1034    * Value is of type <code>String</code>. A RGB color value encoded as a string
1035    * using class <code>PreferenceConverter</code>
1036    * </p>
1037    * 
1038    * @see org.eclipse.jface.resource.StringConverter
1039    * @see org.eclipse.jface.preference.PreferenceConverter
1040    */
1041   public final static String EDITOR_PHP_TYPE_COLOR = IJavaColorConstants.PHP_TYPE;
1042
1043   /**
1044    * A named preference that controls whether types are rendered in bold.
1045    * <p>
1046    * Value is of type <code>Boolean</code>.
1047    * </p>
1048    */
1049   public final static String EDITOR_PHP_TYPE_BOLD = IJavaColorConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX;
1050
1051   /**
1052    * A named preference that holds the color used to render string constants.
1053    * <p>
1054    * Value is of type <code>String</code>. A RGB color value encoded as a string
1055    * using class <code>PreferenceConverter</code>
1056    * </p>
1057    * 
1058    * @see org.eclipse.jface.resource.StringConverter
1059    * @see org.eclipse.jface.preference.PreferenceConverter
1060    */
1061   public final static String EDITOR_STRING_COLOR = IJavaColorConstants.PHP_STRING;
1062
1063   /**
1064    * A named preference that controls whether string constants are rendered in bold.
1065    * <p>
1066    * Value is of type <code>Boolean</code>.
1067    * </p>
1068    */
1069   public final static String EDITOR_STRING_BOLD = IJavaColorConstants.PHP_STRING + EDITOR_BOLD_SUFFIX;
1070
1071   /**
1072    * A named preference that holds the color used to render php default text.
1073    * <p>
1074    * Value is of type <code>String</code>. A RGB color value encoded as a string
1075    * using class <code>PreferenceConverter</code>
1076    * </p>
1077    * 
1078    * @see org.eclipse.jface.resource.StringConverter
1079    * @see org.eclipse.jface.preference.PreferenceConverter
1080    */
1081   public final static String EDITOR_JAVA_DEFAULT_COLOR = IJavaColorConstants.PHP_DEFAULT;
1082
1083   /**
1084    * A named preference that controls whether Java default text is rendered in bold.
1085    * <p>
1086    * Value is of type <code>Boolean</code>.
1087    * </p>
1088    */
1089   public final static String EDITOR_JAVA_DEFAULT_BOLD = IJavaColorConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX;
1090
1091   /**
1092    * A named preference that holds the color used to render phpdoc keywords.
1093    * <p>
1094    * Value is of type <code>String</code>. A RGB color value encoded as a string
1095    * using class <code>PreferenceConverter</code>
1096    * </p>
1097    * 
1098    * @see org.eclipse.jface.resource.StringConverter
1099    * @see org.eclipse.jface.preference.PreferenceConverter
1100    */
1101   public final static String EDITOR_JAVADOC_KEYWORD_COLOR = IJavaColorConstants.PHPDOC_KEYWORD;
1102
1103   /**
1104    * A named preference that controls whether phpdoc keywords are rendered in bold.
1105    * <p>
1106    * Value is of type <code>Boolean</code>.
1107    * </p>
1108    */
1109   public final static String EDITOR_JAVADOC_KEYWORD_BOLD = IJavaColorConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX;
1110
1111   /**
1112    * A named preference that holds the color used to render phpdoc tags.
1113    * <p>
1114    * Value is of type <code>String</code>. A RGB color value encoded as a string
1115    * using class <code>PreferenceConverter</code>
1116    * </p>
1117    * 
1118    * @see org.eclipse.jface.resource.StringConverter
1119    * @see org.eclipse.jface.preference.PreferenceConverter
1120    */
1121   public final static String EDITOR_JAVADOC_TAG_COLOR = IJavaColorConstants.PHPDOC_TAG;
1122
1123   /**
1124    * A named preference that controls whether phpdoc tags are rendered in bold.
1125    * <p>
1126    * Value is of type <code>Boolean</code>.
1127    * </p>
1128    */
1129   public final static String EDITOR_JAVADOC_TAG_BOLD = IJavaColorConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX;
1130
1131   /**
1132    * A named preference that holds the color used to render phpdoc links.
1133    * <p>
1134    * Value is of type <code>String</code>. A RGB color value encoded as a string
1135    * using class <code>PreferenceConverter</code>
1136    * </p>
1137    * 
1138    * @see org.eclipse.jface.resource.StringConverter
1139    * @see org.eclipse.jface.preference.PreferenceConverter
1140    */
1141   public final static String EDITOR_JAVADOC_LINKS_COLOR = IJavaColorConstants.PHPDOC_LINK;
1142
1143   /**
1144    * A named preference that controls whether phpdoc links are rendered in bold.
1145    * <p>
1146    * Value is of type <code>Boolean</code>.
1147    * </p>
1148    */
1149   public final static String EDITOR_JAVADOC_LINKS_BOLD = IJavaColorConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX;
1150
1151   /**
1152    * A named preference that holds the color used to render phpdoc default text.
1153    * <p>
1154    * Value is of type <code>String</code>. A RGB color value encoded as a string
1155    * using class <code>PreferenceConverter</code>
1156    * </p>
1157    * 
1158    * @see org.eclipse.jface.resource.StringConverter
1159    * @see org.eclipse.jface.preference.PreferenceConverter
1160    */
1161   public final static String EDITOR_JAVADOC_DEFAULT_COLOR = IJavaColorConstants.PHPDOC_DEFAULT;
1162
1163   /**
1164    * A named preference that controls whether phpdoc default text is rendered in bold.
1165    * <p>
1166    * Value is of type <code>Boolean</code>.
1167    * </p>
1168    */
1169   public final static String EDITOR_JAVADOC_DEFAULT_BOLD = IJavaColorConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX;
1170
1171   /**
1172    * A named preference that holds the color used for 'linked-mode' underline.
1173    * <p>
1174    * Value is of type <code>String</code>. A RGB color value encoded as a string
1175    * using class <code>PreferenceConverter</code>
1176    * </p>
1177    *
1178    * @see org.eclipse.jface.resource.StringConverter
1179    * @see org.eclipse.jface.preference.PreferenceConverter
1180    * @since 2.1
1181    */
1182   public final static String EDITOR_LINK_COLOR = "linkColor"; //$NON-NLS-1$
1183
1184   /**
1185    * A named preference that controls whether hover tooltips in the editor are turned on or off.
1186    * <p>
1187    * Value is of type <code>Boolean</code>.
1188    * </p>
1189    */
1190   public static final String EDITOR_SHOW_HOVER = "net.sourceforge.phpdt.ui.editor.showHover"; //$NON-NLS-1$
1191
1192   /**
1193    * A named preference that defines the hover shown when no control key is
1194    * pressed.
1195    * <p>Value is of type <code>String</code>: possible values are <code>
1196    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1197    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover
1198    * contributed as <code>phpEditorTextHovers</code>.
1199    * </p>
1200    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1201    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1202    * @see JavaUI
1203    * @since 2.1
1204    */
1205   public static final String EDITOR_NONE_HOVER = "noneHover"; //$NON-NLS-1$
1206
1207   /**
1208    * A named preference that defines the hover shown when the
1209    * <code>CTRL</code> modifier key is pressed.
1210    * <p>Value is of type <code>String</code>: possible values are <code>
1211    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1212    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
1213    * hover contributed as <code>phpEditorTextHovers</code>.
1214    * </p>
1215    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1216    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1217    * @see JavaUI
1218    * @since 2.1
1219    */
1220   public static final String EDITOR_CTRL_HOVER = "ctrlHover"; //$NON-NLS-1$
1221
1222   /**
1223    * A named preference that defines the hover shown when the
1224    * <code>SHIFT</code> modifier key is pressed.
1225    * <p>Value is of type <code>String</code>: possible values are <code>
1226    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1227    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
1228    * hover contributed as <code>phpEditorTextHovers</code>.
1229    * </p>
1230    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1231    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1232    * @see JavaUI ID_*_HOVER
1233    * @since 2.1
1234    */
1235   public static final String EDITOR_SHIFT_HOVER = "shiftHover"; //$NON-NLS-1$
1236
1237   /**
1238    * A named preference that defines the hover shown when the
1239    * <code>CTRL + ALT</code> modifier keys is pressed.
1240    * <p>Value is of type <code>String</code>: possible values are <code>
1241    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1242    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
1243    * hover contributed as <code>phpEditorTextHovers</code>.
1244    * </p>
1245    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1246    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1247    * @see JavaUI ID_*_HOVER
1248    * @since 2.1
1249    */
1250   public static final String EDITOR_CTRL_ALT_HOVER = "ctrlAltHover"; //$NON-NLS-1$
1251
1252   /**
1253    * A named preference that defines the hover shown when the
1254    * <code>CTRL + ALT + SHIFT</code> modifier keys is pressed.
1255    * <p>Value is of type <code>String</code>: possible values are <code>
1256    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1257    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
1258    * hover contributed as <code>phpEditorTextHovers</code>.
1259    * </p>
1260    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1261    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1262    * @see JavaUI ID_*_HOVER
1263    * @since 2.1
1264    */
1265   public static final String EDITOR_CTRL_ALT_SHIFT_HOVER = "ctrlAltShiftHover"; //$NON-NLS-1$
1266
1267   /**
1268    * A named preference that defines the hover shown when the
1269    * <code>CTRL + SHIFT</code> modifier keys is pressed.
1270    * <p>Value is of type <code>String</code>: possible values are <code>
1271    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
1272    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
1273    * hover contributed as <code>phpEditorTextHovers</code>.
1274    * </p>
1275    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1276    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1277    * @see JavaUI ID_*_HOVER
1278    * @since 2.1
1279    */
1280   public static final String EDITOR_CTRL_SHIFT_HOVER = "ctrlShiftHover"; //$NON-NLS-1$
1281
1282   /**
1283    * A named preference that defines the hover shown when the
1284    * <code>ALT</code> modifier key is pressed.
1285    * <p>Value is of type <code>String</code>: possible values are <code>
1286    * EDITOR_NO_HOVER_CONFIGURED_ID</code>,
1287    * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code>  or the hover id of a
1288    * hover contributed as <code>phpEditorTextHovers</code>.
1289    * </p>
1290    * @see #EDITOR_NO_HOVER_CONFIGURED_ID
1291    * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
1292    * @see JavaUI ID_*_HOVER
1293    * @since 2.1
1294    */
1295   public static final String EDITOR_ALT_SHIFT_HOVER = "altShiftHover"; //$NON-NLS-1$
1296
1297   /**
1298    * A string value used by the named preferences for hover configuration to
1299    * descibe that no hover should be shown for the given key modifiers.
1300    * @since 2.1
1301    */
1302   public static final String EDITOR_NO_HOVER_CONFIGURED_ID = "noHoverConfiguredId"; //$NON-NLS-1$
1303
1304   /**
1305    * A string value used by the named preferences for hover configuration to
1306    * descibe that the default hover should be shown for the given key
1307    * modifiers. The default hover is described by the
1308    * <code>EDITOR_DEFAULT_HOVER</code> property.
1309    * @since 2.1
1310    */
1311   public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID = "defaultHoverConfiguredId"; //$NON-NLS-1$
1312
1313   /**
1314    * A named preference that defines the hover named the 'default hover'.
1315    * Value is of type <code>String</code>: possible values are <code>
1316    * EDITOR_NO_HOVER_CONFIGURED_ID</code> or <code> the hover id of a hover
1317    * contributed as <code>phpEditorTextHovers</code>.
1318    * </p>
1319    *@since 2.1
1320    */
1321   public static final String EDITOR_DEFAULT_HOVER = "defaultHover"; //$NON-NLS-1$
1322
1323   /**
1324    * A named preference that controls if segmented view (show selected element only) is turned on or off.
1325    * <p>
1326    * Value is of type <code>Boolean</code>.
1327    * </p>
1328    */
1329   public static final String EDITOR_SHOW_SEGMENTS = "net.sourceforge.phpdt.ui.editor.showSegments"; //$NON-NLS-1$
1330
1331   /**
1332    * A named preference that controls if the Java code assist gets auto activated.
1333    * <p>
1334    * Value is of type <code>Boolean</code>.
1335    * </p>
1336    */
1337   public final static String CODEASSIST_AUTOACTIVATION = "content_assist_autoactivation"; //$NON-NLS-1$
1338
1339   /**
1340    * A name preference that holds the auto activation delay time in milli seconds.
1341    * <p>
1342    * Value is of type <code>Int</code>.
1343    * </p>
1344    */
1345   public final static String CODEASSIST_AUTOACTIVATION_DELAY = "content_assist_autoactivation_delay"; //$NON-NLS-1$
1346
1347   /**
1348    * A named preference that controls if code assist contains only visible proposals.
1349    * <p>
1350    * Value is of type <code>Boolean</code>. if <code>true<code> code assist only contains visible members. If 
1351    * <code>false</code> all members are included.
1352    * </p>
1353    */
1354   public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS = "content_assist_show_visible_proposals"; //$NON-NLS-1$
1355
1356   /**
1357    * A named preference that controls if the Java code assist inserts a
1358    * proposal automatically if only one proposal is available.
1359    * <p>
1360    * Value is of type <code>Boolean</code>.
1361    * </p>
1362    * @since 2.1
1363    */
1364   public final static String CODEASSIST_AUTOINSERT = "content_assist_autoinsert"; //$NON-NLS-1$
1365
1366   /**
1367    * A named preference that controls if the Java code assist adds import
1368    * statements.
1369    * <p>
1370    * Value is of type <code>Boolean</code>.
1371    * </p>
1372    * @since 2.1
1373    */
1374   public final static String CODEASSIST_ADDIMPORT = "content_assist_add_import"; //$NON-NLS-1$
1375
1376   /**
1377    * A named preference that controls if the Java code assist only inserts
1378    * completions. If set to false the proposals can also _replace_ code.
1379    * <p>
1380    * Value is of type <code>Boolean</code>.
1381    * </p>
1382    * @since 2.1
1383    */
1384   public final static String CODEASSIST_INSERT_COMPLETION = "content_assist_insert_completion"; //$NON-NLS-1$   
1385
1386   /**
1387    * A named preference that controls whether code assist proposals filtering is case sensitive or not.
1388    * <p>
1389    * Value is of type <code>Boolean</code>.
1390    * </p>
1391    */
1392   public final static String CODEASSIST_CASE_SENSITIVITY = "content_assist_case_sensitivity"; //$NON-NLS-1$
1393
1394   /**
1395    * A named preference that defines if code assist proposals are sorted in alphabetical order.
1396    * <p>
1397    * Value is of type <code>Boolean</code>. If <code>true</code> that are sorted in alphabetical 
1398    * order. If <code>false</code> that are unsorted.
1399    * </p>
1400    */
1401   public final static String CODEASSIST_ORDER_PROPOSALS = "content_assist_order_proposals"; //$NON-NLS-1$
1402
1403   /**
1404    * A named preference that controls if argument names are filled in when a method is selected from as list
1405    * of code assist proposal.
1406    * <p>
1407    * Value is of type <code>Boolean</code>.
1408    * </p>
1409    */
1410   public final static String CODEASSIST_FILL_ARGUMENT_NAMES = "content_assist_fill_method_arguments"; //$NON-NLS-1$
1411
1412   /**
1413    * A named preference that controls if method arguments are guessed when a
1414    * method is selected from as list of code assist proposal.
1415    * <p>
1416    * Value is of type <code>Boolean</code>.
1417    * </p>
1418    * @since 2.1
1419    */
1420   public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS = "content_assist_guess_method_arguments"; //$NON-NLS-1$
1421
1422   /**
1423    * A named preference that holds the characters that auto activate code assist
1424    * in PHP code.
1425    * <p>
1426    * Value is of type <code>Sring</code>. All characters that trigger auto code
1427    * assist in PHP code.
1428    * </p>
1429    */
1430   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA = "content_assist_autoactivation_triggers_php"; //$NON-NLS-1$
1431
1432   /**
1433    * A named preference that holds the characters that auto activate code assist
1434    * in PHPDoc.
1435    * <p>
1436    * Value is of type <code>Sring</code>. All characters that trigger auto code
1437    * assist in PHPDoc.
1438    * </p>
1439    */
1440   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC = "content_assist_autoactivation_triggers_phpdoc"; //$NON-NLS-1$
1441
1442
1443   /**
1444    * A named preference that holds the characters that auto activate code assist
1445    * in HTML.
1446    * <p>
1447    * Value is of type <code>Sring</code>. All characters that trigger auto code
1448    * assist in HTML.
1449    * </p>
1450    */
1451   public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML = "content_assist_autoactivation_triggers_html"; //$NON-NLS-1$
1452
1453   /**
1454    * A named preference that holds the background color used in the code assist selection dialog.
1455    * <p>
1456    * Value is of type <code>String</code>. A RGB color value encoded as a string
1457    * using class <code>PreferenceConverter</code>
1458    * </p>
1459    * 
1460    * @see org.eclipse.jface.resource.StringConverter
1461    * @see org.eclipse.jface.preference.PreferenceConverter
1462    */
1463   public final static String CODEASSIST_PROPOSALS_BACKGROUND = "content_assist_proposals_background"; //$NON-NLS-1$
1464
1465   /**
1466    * A named preference that holds the foreground color used in the code assist selection dialog.
1467    * <p>
1468    * Value is of type <code>String</code>. A RGB color value encoded as a string
1469    * using class <code>PreferenceConverter</code>
1470    * </p>
1471    * 
1472    * @see org.eclipse.jface.resource.StringConverter
1473    * @see org.eclipse.jface.preference.PreferenceConverter
1474    */
1475   public final static String CODEASSIST_PROPOSALS_FOREGROUND = "content_assist_proposals_foreground"; //$NON-NLS-1$
1476
1477   /**
1478    * A named preference that holds the background color used for parameter hints.
1479    * <p>
1480    * Value is of type <code>String</code>. A RGB color value encoded as a string
1481    * using class <code>PreferenceConverter</code>
1482    * </p>
1483    * 
1484    * @see org.eclipse.jface.resource.StringConverter
1485    * @see org.eclipse.jface.preference.PreferenceConverter
1486    */
1487   public final static String CODEASSIST_PARAMETERS_BACKGROUND = "content_assist_parameters_background"; //$NON-NLS-1$
1488
1489   /**
1490    * A named preference that holds the foreground color used in the code assist selection dialog
1491    * <p>
1492    * Value is of type <code>String</code>. A RGB color value encoded as a string
1493    * using class <code>PreferenceConverter</code>
1494    * </p>
1495    * 
1496    * @see org.eclipse.jface.resource.StringConverter
1497    * @see org.eclipse.jface.preference.PreferenceConverter
1498    */
1499   public final static String CODEASSIST_PARAMETERS_FOREGROUND = "content_assist_parameters_foreground"; //$NON-NLS-1$
1500
1501   /**
1502    * A named preference that holds the background color used in the code
1503    * assist selection dialog to mark replaced code.
1504    * <p>
1505    * Value is of type <code>String</code>. A RGB color value encoded as a string
1506    * using class <code>PreferenceConverter</code>
1507    * </p>
1508    *
1509    * @see org.eclipse.jface.resource.StringConverter
1510    * @see org.eclipse.jface.preference.PreferenceConverter
1511    * @since 2.1
1512    */
1513   public final static String CODEASSIST_REPLACEMENT_BACKGROUND = "content_assist_completion_replacement_background"; //$NON-NLS-1$
1514
1515   /**
1516    * A named preference that holds the foreground color used in the code
1517    * assist selection dialog to mark replaced code.
1518    * <p>
1519    * Value is of type <code>String</code>. A RGB color value encoded as a string
1520    * using class <code>PreferenceConverter</code>
1521    * </p>
1522    *
1523    * @see org.eclipse.jface.resource.StringConverter
1524    * @see org.eclipse.jface.preference.PreferenceConverter
1525    * @since 2.1
1526    */
1527   public final static String CODEASSIST_REPLACEMENT_FOREGROUND = "content_assist_completion_replacement_foreground"; //$NON-NLS-1$
1528
1529   /**
1530    * A named preference that controls the behaviour of the refactoring wizard for showing the error page. 
1531    * <p>
1532    * Value is of type <code>String</code>. Valid values are: 
1533    * <code>REFACTOR_FATAL_SEVERITY</code>,
1534    * <code>REFACTOR_ERROR_SEVERITY</code>,
1535    * <code>REFACTOR_WARNING_SEVERITY</code>
1536    * <code>REFACTOR_INFO_SEVERITY</code>,
1537    * <code>REFACTOR_OK_SEVERITY</code>.
1538    * </p>
1539    * 
1540    * @see #REFACTOR_FATAL_SEVERITY
1541    * @see #REFACTOR_ERROR_SEVERITY
1542    * @see #REFACTOR_WARNING_SEVERITY
1543    * @see #REFACTOR_INFO_SEVERITY
1544    * @see #REFACTOR_OK_SEVERITY
1545    */
1546   public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD = "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$
1547
1548   /**
1549    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
1550    * 
1551    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
1552    */
1553   public static final String REFACTOR_FATAL_SEVERITY = "4"; //$NON-NLS-1$
1554
1555   /**
1556    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
1557    * 
1558    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
1559    */
1560   public static final String REFACTOR_ERROR_SEVERITY = "3"; //$NON-NLS-1$
1561
1562   /**
1563    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
1564    * 
1565    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
1566    */
1567   public static final String REFACTOR_WARNING_SEVERITY = "2"; //$NON-NLS-1$
1568
1569   /**
1570    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
1571    * 
1572    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
1573    */
1574   public static final String REFACTOR_INFO_SEVERITY = "1"; //$NON-NLS-1$
1575
1576   /**
1577    * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
1578    * 
1579    * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
1580    */
1581   public static final String REFACTOR_OK_SEVERITY = "0"; //$NON-NLS-1$
1582
1583   /**
1584    * A named preference thet controls whether all dirty editors are automatically saved before a refactoring is
1585    * executed.
1586    * <p>
1587    * Value is of type <code>Boolean</code>.
1588    * </p>
1589    */
1590   public static final String REFACTOR_SAVE_ALL_EDITORS = "Refactoring.savealleditors"; //$NON-NLS-1$
1591
1592   /**
1593    * A named preference that controls if the Java Browsing views are linked to the active editor.
1594    * <p>
1595    * Value is of type <code>Boolean</code>.
1596    * </p>
1597    * 
1598    * @see #LINK_PACKAGES_TO_EDITOR
1599    */
1600   public static final String BROWSING_LINK_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
1601
1602   /**
1603    * A named preference that controls the layout of the Java Browsing views vertically. Boolean value.
1604    * <p>
1605    * Value is of type <code>Boolean</code>. If <code>true<code> the views are stacked vertical.
1606    * If <code>false</code> they are stacked horizontal.
1607    * </p>
1608    */
1609   public static final String BROWSING_STACK_VERTICALLY = "net.sourceforge.phpdt.ui.browsing.stackVertically"; //$NON-NLS-1$
1610
1611   /**
1612    * A named preference that controls if templates are formatted when applied.
1613    * <p>
1614    * Value is of type <code>Boolean</code>.
1615    * </p>
1616    *
1617    * @since 2.1
1618    */
1619   public static final String TEMPLATES_USE_CODEFORMATTER = "net.sourceforge.phpdt.ui.template.format"; //$NON-NLS-1$
1620
1621   public static void initializeDefaultValues(IPreferenceStore store) {
1622     store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false);
1623
1624     // JavaBasePreferencePage
1625     store.setDefault(PreferenceConstants.LINK_PACKAGES_TO_EDITOR, true);
1626     store.setDefault(PreferenceConstants.LINK_TYPEHIERARCHY_TO_EDITOR, false);
1627     store.setDefault(PreferenceConstants.LINK_BROWSING_VIEW_TO_EDITOR, true);
1628     store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART);
1629     store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS);
1630     store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING);
1631
1632     // AppearancePreferencePage
1633     store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false);
1634     store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, false);
1635     store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true);
1636     store.setDefault(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR, true);
1637     store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false);
1638     store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$
1639     store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true);
1640
1641     // ImportOrganizePreferencePage
1642     store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$
1643     store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99);
1644     store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true);
1645
1646     // ClasspathVariablesPreferencePage
1647     // CodeFormatterPreferencePage
1648     // CompilerPreferencePage
1649     // no initialization needed
1650
1651     // RefactoringPreferencePage
1652     store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_ERROR_SEVERITY);
1653     store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false);
1654     store.setDefault("RefactoringUI", "dialog");
1655
1656     // TemplatePreferencePage
1657     store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true);
1658
1659     // CodeGenerationPreferencePage
1660     store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX, false);
1661     store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false);
1662     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$
1663     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$
1664     store.setDefault(PreferenceConstants.CODEGEN__JAVADOC_STUBS, true);
1665     store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false);
1666     store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false);
1667
1668     // MembersOrderPreferencePage
1669     store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$
1670     // must add here to guarantee that it is the first in the listener list
1671     //  store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache());
1672
1673     // PHPEditorPreferencePage
1674     /*
1675      * Ensure that the display is accessed only in the UI thread.
1676      * Ensure that there are no side effects of switching the thread.
1677      */
1678     final RGB[] rgbs = new RGB[3];
1679     final Display display = Display.getDefault();
1680     display.syncExec(new Runnable() {
1681       public void run() {
1682         Color c = display.getSystemColor(SWT.COLOR_GRAY);
1683         rgbs[0] = c.getRGB();
1684         c = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
1685         rgbs[1] = c.getRGB();
1686         c = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
1687         rgbs[2] = c.getRGB();
1688       }
1689     });
1690
1691     store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true);
1692     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, rgbs[0]);
1693
1694     store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true);
1695     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
1696
1697     store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN, false);
1698     store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80);
1699     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185));
1700
1701     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR, new RGB(185, 176, 180));
1702
1703     store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true);
1704     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0, 128));
1705     store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true);
1706
1707     store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true);
1708     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200, 45));
1709     store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true);
1710
1711     store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false);
1712     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255));
1713     store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false);
1714
1715     store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false);
1716     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99));
1717     store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false);
1718
1719     store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false);
1720     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192));
1721     store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false);
1722
1723     store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false);
1724     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0));
1725     store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false);
1726
1727     store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true);
1728     store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, false);
1729
1730     store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true);
1731
1732     store.setDefault(PreferenceConstants.EDITOR_OVERVIEW_RULER, true);
1733
1734     store.setDefault(PreferenceConstants.EDITOR_LINE_NUMBER_RULER, false);
1735     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0));
1736
1737     WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT);
1738
1739     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(0, 200, 100));
1740     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINK_COLOR, new RGB(0, 0, 255));
1741
1742     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgbs[1]);
1743     store.setDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR, true);
1744
1745     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgbs[2]);
1746     store.setDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, true);
1747
1748     store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4);
1749     store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false);
1750
1751     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
1752     store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false);
1753
1754     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR, new RGB(63, 127, 95));
1755     store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false);
1756
1757     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR, new RGB(127, 0, 85));
1758     store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true);
1759
1760     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR, new RGB(127, 127, 159));
1761     store.setDefault(PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD, false);
1762
1763     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR, new RGB(127, 159, 191));
1764     store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD, false);
1765
1766     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR, new RGB(127, 0, 85));
1767     store.setDefault(PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD, false);
1768
1769     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TYPE_COLOR, new RGB(127, 0, 85));
1770     store.setDefault(PreferenceConstants.EDITOR_PHP_TYPE_BOLD, false);
1771
1772     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255));
1773     store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false);
1774
1775     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0));
1776     store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false);
1777
1778     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR, new RGB(127, 159, 191));
1779     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true);
1780
1781     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR, new RGB(127, 127, 159));
1782     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false);
1783
1784     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR, new RGB(63, 63, 191));
1785     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false);
1786
1787     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR, new RGB(63, 95, 191));
1788     store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false);
1789
1790     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true);
1791     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 500);
1792
1793     store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true);
1794     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233));
1795     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0));
1796     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, new RGB(254, 241, 233));
1797     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0));
1798     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0));
1799     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0));
1800     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$
1801     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$
1802     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, "<&#"); //$NON-NLS-1$
1803     store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true);
1804     store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false);
1805     store.setDefault(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, false);
1806     store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true);
1807     store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true);
1808     store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, false);
1809     store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, true);
1810
1811     store.setDefault(PreferenceConstants.EDITOR_SMART_HOME_END, true);
1812     store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true);
1813     store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_PHP, true);
1814     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_PHP, true);
1815     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true);
1816     store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true);
1817     store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS, true);
1818     store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true);
1819     store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, true);
1820
1821     store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS_HTML, true);
1822     store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS_HTML, true);
1823     
1824     //  store.setDefault(PreferenceConstants.EDITOR_DEFAULT_HOVER, JavaPlugin.ID_BESTMATCH_HOVER);
1825     store.setDefault(PreferenceConstants.EDITOR_NONE_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1826     //          store.setDefault(PreferenceConstants.EDITOR_CTRL_HOVER, JavaPlugin.ID_SOURCE_HOVER);
1827     store.setDefault(PreferenceConstants.EDITOR_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1828     store.setDefault(PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1829     store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1830     store.setDefault(PreferenceConstants.EDITOR_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1831     store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID);
1832
1833     // do more complicated stuff
1834     //  NewJavaProjectPreferencePage.initDefaults(store);       
1835   }
1836
1837   /**
1838    * Returns the JDT-UI preference store.
1839    * 
1840    * @return the JDT-UI preference store
1841    */
1842   public static IPreferenceStore getPreferenceStore() {
1843     return PHPeclipsePlugin.getDefault().getPreferenceStore();
1844   }
1845
1846   //    /**
1847   //     * Encodes a JRE library to be used in the named preference <code>NEWPROJECT_JRELIBRARY_LIST</code>. 
1848   //     * 
1849   //     * @param description a string value describing the JRE library. The description is used
1850   //     * to indentify the JDR library in the UI
1851   //     * @param entries an array of classpath entries to be encoded
1852   //     * 
1853   //     * @return the encoded string.
1854   //    */
1855   //    public static String encodeJRELibrary(String description, IClasspathEntry[] entries) {
1856   //            return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries);
1857   //    }
1858   //    
1859   //    /**
1860   //     * Decodes an encoded JRE library and returns its description string.
1861   //     * 
1862   //     * @return the description of an encoded JRE library
1863   //     * 
1864   //     * @see #encodeJRELibrary(String, IClasspathEntry[])
1865   //     */
1866   //    public static String decodeJRELibraryDescription(String encodedLibrary) {
1867   //            return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary);
1868   //    }
1869   //    
1870   //    /**
1871   //     * Decodes an encoded JRE library and returns its classpath entries.
1872   //     * 
1873   //     * @return the array of classpath entries of an encoded JRE library.
1874   //     * 
1875   //     * @see #encodeJRELibrary(String, IClasspathEntry[])
1876   //     */
1877   //    public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) {
1878   //            return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary);
1879   //    }
1880   //    
1881   //    /**
1882   //     * Returns the current configuration for the JRE to be used as default in new Java projects.
1883   //     * This is a convenience method to access the named preference <code>NEWPROJECT_JRELIBRARY_LIST
1884   //     * </code> with the index defined by <code> NEWPROJECT_JRELIBRARY_INDEX</code>.
1885   //     *
1886   //     * @return the current default set of classpath entries
1887   //     *  
1888   //     * @see #NEWPROJECT_JRELIBRARY_LIST
1889   //     * @see #NEWPROJECT_JRELIBRARY_INDEX
1890   //     */
1891   //    public static IClasspathEntry[] getDefaultJRELibrary() {
1892   //            return NewJavaProjectPreferencePage.getDefaultJRELibrary();
1893   //    }               
1894 }