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