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