Bug #1248155: avoid NPE in parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / ui / PreferenceConstants.java
index c2b5815..220c27c 100644 (file)
@@ -15,14 +15,13 @@ import net.sourceforge.phpdt.internal.ui.text.spelling.SpellCheckEngine;
 import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellCheckPreferenceKeys;
 import net.sourceforge.phpeclipse.IPreferenceConstants;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
 import org.eclipse.ui.texteditor.AbstractTextEditor;
 
@@ -60,7 +59,7 @@ public class PreferenceConstants {
   /**
    * A named preference that defines the pattern used for package name compression.
    * <p>
-   * Value is of type <code>String</code>. For example foe the given package name 'org.eclipse.jdt' pattern '.' will compress it
+   * Value is of type <code>String</code>. For example foe the given package name 'net.sourceforge.phpdt' pattern '.' will compress it
    * to '..jdt', '1~' to 'o~.e~.jdt'.
    * </p>
    */
@@ -108,6 +107,34 @@ public class PreferenceConstants {
   public static final String APPEARANCE_MEMBER_SORT_ORDER = "outlinesortoption"; //$NON-NLS-1$
 
   /**
+   * A named preference that defines how member elements are ordered by visibility in the Java views using the
+   * <code>JavaElementSorter</code>.
+   * <p>
+   * Value is of type <code>String</code>: A comma separated list of the following entries. Each entry must be in the list, no
+   * duplication. List order defines the sort order.
+   * <ul>
+   * <li><b>B </b>: Public</li>
+   * <li><b>V </b>: Private</li>
+   * <li><b>R </b>: Protected</li>
+   * <li><b>D </b>: Default</li>
+   * </ul>
+   * </p>
+   * 
+   * @since 3.0
+   */
+  public static final String APPEARANCE_VISIBILITY_SORT_ORDER = "net.sourceforge.phpdt.ui.visibility.order"; //$NON-NLS-1$
+
+  /**
+   * A named preferences that controls if Java elements are also sorted by visibility.
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   * 
+   * @since 3.0
+   */
+  public static final String APPEARANCE_ENABLE_VISIBILITY_SORT_ORDER = "net.sourceforge.phpdt.ui.enable.visibility.order"; //$NON-NLS-1$
+
+  /**
    * A named preference that controls if prefix removal during setter/getter generation is turned on or off.
    * <p>
    * Value is of type <code>Boolean</code>.
@@ -142,7 +169,37 @@ public class PreferenceConstants {
    * @see #CODEGEN_USE_GETTERSETTER_SUFFIX
    */
   public static final String CODEGEN_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$
-
+  /**
+        * A named preference that controls whether the keyword "this" will be added
+        * automatically to field accesses in generated methods.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 3.0
+        */
+       public static final String CODEGEN_KEYWORD_THIS= "org.eclipse.jdt.ui.keywordthis"; //$NON-NLS-1$
+
+       /**
+        * A named preference that controls whether to use the prefix "is" or the prefix "get" for
+        * automatically created getters which return a boolean field.
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 3.0
+        */
+       public static final String CODEGEN_IS_FOR_GETTERS= "org.eclipse.jdt.ui.gettersetter.use.is"; //$NON-NLS-1$
+       
+       
+       /**
+        * A named preference that defines the preferred variable names for exceptions in
+        * catch clauses.
+        * <p>
+        * Value is of type <code>String</code>.
+        * </p>
+        * @since 3.0
+        */     
+       public static final String CODEGEN_EXCEPTION_VAR_NAME= "org.eclipse.jdt.ui.exception.name"; //$NON-NLS-1$
+       
   /**
    * A named preference that controls if comment stubs will be added automatically to newly created types and methods.
    * <p>
@@ -185,7 +242,7 @@ public class PreferenceConstants {
    * Value is of type <code>String</code>: semicolon separated list of package names
    * </p>
    */
-  public static final String ORGIMPORTS_IMPORTORDER = "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$
+//  public static final String ORGIMPORTS_IMPORTORDER = "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$
 
   /**
    * A named preference that specifies the number of imports added before a star-import declaration is used.
@@ -515,7 +572,8 @@ public class PreferenceConstants {
    * </p>
    */
   public final static String EDITOR_TAB_WIDTH = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH; //"net.sourceforge.phpdt.ui.editor.tab.width";
-                                                                                                                 // //$NON-NLS-1$
+
+  // //$NON-NLS-1$
 
   /**
    * A named preference that controls whether the outline view selection should stay in sync with with the element at the current
@@ -1005,7 +1063,7 @@ public class PreferenceConstants {
   public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IPreferenceConstants.PHP_MULTILINE_COMMENT;
 
   /**
-   * The symbolic font name for the Java editor text font (value <code>"org.eclipse.jdt.ui.editors.textfont"</code>).
+   * The symbolic font name for the Java editor text font (value <code>"net.sourceforge.phpdt.ui.editors.textfont"</code>).
    * 
    * @since 2.1
    */
@@ -1194,6 +1252,25 @@ public class PreferenceConstants {
   public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IPreferenceConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX;
 
   /**
+   * A named preference that holds the color used to render php variables with prefix '$_'.
+   * <p>
+   * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
+   * </p>
+   * 
+   * @see org.eclipse.jface.resource.StringConverter
+   * @see org.eclipse.jface.preference.PreferenceConverter
+   */
+  public final static String EDITOR_PHP_VARIABLE_DOLLAR_COLOR = IPreferenceConstants.PHP_VARIABLE_DOLLAR;
+
+  /**
+   * A named preference that controls whether variables  with prefix '$_' are rendered in bold.
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   */
+  public final static String EDITOR_PHP_VARIABLE_DOLLAR_BOLD = IPreferenceConstants.PHP_VARIABLE_DOLLAR + EDITOR_BOLD_SUFFIX;
+
+  /**
    * A named preference that holds the color used to render php variables.
    * <p>
    * Value is of type <code>String</code>. A RGB color value encoded as a string using class <code>PreferenceConverter</code>
@@ -1211,7 +1288,6 @@ public class PreferenceConstants {
    * </p>
    */
   public final static String EDITOR_PHP_VARIABLE_BOLD = IPreferenceConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX;
-
   /**
    * A named preference that holds the color used to render php constants.
    * <p>
@@ -1259,7 +1335,7 @@ public class PreferenceConstants {
    * @see org.eclipse.jface.resource.StringConverter
    * @see org.eclipse.jface.preference.PreferenceConverter
    */
-  public final static String EDITOR_STRING_COLOR = IPreferenceConstants.PHP_STRING;
+  public final static String EDITOR_STRING_COLOR_DQ = IPreferenceConstants.PHP_STRING_DQ;
 
   /**
    * A named preference that controls whether string constants are rendered in bold.
@@ -1267,7 +1343,17 @@ public class PreferenceConstants {
    * Value is of type <code>Boolean</code>.
    * </p>
    */
-  public final static String EDITOR_STRING_BOLD = IPreferenceConstants.PHP_STRING + EDITOR_BOLD_SUFFIX;
+  public final static String EDITOR_STRING_BOLD_DQ = IPreferenceConstants.PHP_STRING_DQ + EDITOR_BOLD_SUFFIX;
+
+  public final static String EDITOR_STRING_COLOR_SQ = IPreferenceConstants.PHP_STRING_SQ;
+
+  /**
+   * A named preference that controls whether string constants are rendered in bold.
+   * <p>
+   * Value is of type <code>Boolean</code>.
+   * </p>
+   */
+  public final static String EDITOR_STRING_BOLD_SQ = IPreferenceConstants.PHP_STRING_SQ + EDITOR_BOLD_SUFFIX;
 
   /**
    * A named preference that holds the color used to render php default text.
@@ -1633,6 +1719,8 @@ public class PreferenceConstants {
    */
   public static final String EDITOR_SMART_TAB = "smart_tab"; //$NON-NLS-1$
 
+  public static final String EDITOR_P_RTRIM_ON_SAVE = "editor_p_trim_on_save"; //$NON-NLS-1$
+  
   /**
    * A named preference that controls whether Java comments should be spell-checked.
    * <p>
@@ -2221,7 +2309,7 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true);
 
     // ImportOrganizePreferencePage
-    store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$
+//    store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99);
     store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true);
 
@@ -2243,17 +2331,23 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false);
     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$
+    
+    store.setDefault(PreferenceConstants.CODEGEN_KEYWORD_THIS, false);
+       store.setDefault(PreferenceConstants.CODEGEN_IS_FOR_GETTERS, true);
+       store.setDefault(PreferenceConstants.CODEGEN_EXCEPTION_VAR_NAME, "e"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.CODEGEN_ADD_COMMENTS, true);
     store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false);
     store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false);
 
     // MembersOrderPreferencePage
-    store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$
+    store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SF,SI,SM,I,F,C,M"); //$NON-NLS-1$
+    store.setDefault(PreferenceConstants.APPEARANCE_VISIBILITY_SORT_ORDER, "B,V,R,D"); //$NON-NLS-1$
+    store.setDefault(PreferenceConstants.APPEARANCE_ENABLE_VISIBILITY_SORT_ORDER, false);
     // must add here to guarantee that it is the first in the listener list
     store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache());
 
     store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true);
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192,192));
+    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
 
     store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true);
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
@@ -2328,15 +2422,21 @@ public class PreferenceConstants {
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR, new RGB(127, 159, 191));
     store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD, false);
 
+    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR, new RGB(127, 159, 191));
+    store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_BOLD, false);
+    
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR, new RGB(127, 0, 85));
     store.setDefault(PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD, false);
 
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TYPE_COLOR, new RGB(127, 0, 85));
     store.setDefault(PreferenceConstants.EDITOR_PHP_TYPE_BOLD, false);
 
-    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255));
-    store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false);
+    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR_DQ, PHPColorProvider.STRING_DQ);
+    store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD_DQ, false);
 
+    PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR_SQ, PHPColorProvider.STRING_SQ);
+    store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD_SQ, true);
+    
     PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0));
     store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false);
 
@@ -2362,7 +2462,7 @@ public class PreferenceConstants {
     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0));
     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0));
     PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0));
-    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$
+    store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$>"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, "<&#"); //$NON-NLS-1$
     store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true);
@@ -2435,7 +2535,7 @@ public class PreferenceConstants {
     store.setDefault(PreferenceConstants.EDITOR_FOLDING_IMPORTS, false);
 
     store.setDefault(PreferenceConstants.EDITOR_SMART_BACKSPACE, true);
-
+    store.setDefault(PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE, false);
     // do more complicated stuff
     // NewJavaProjectPreferencePage.initDefaults(store);
   }