You can now set the error level for message "Keyword 'var' is deprecated" (i.e. Error, Wrning, Ignore)
propertyPagePHPProject.name=PHP Project Properties
+compilerPageName=PHP Parser
todoPageName=PHP Task Tags
+compilerOptionsPrefName=PHP Parser
todoTaskPrefName=Task Tags
templatePageName=Templates
value="net.sourceforge.phpeclipse.phpnature">
</filter>
</page>
+ <page
+ objectClass="org.eclipse.core.resources.IProject"
+ name="%compilerPageName"
+ class="net.sourceforge.phpdt.internal.ui.preferences.CompilerPropertyPage"
+ id="net.sourceforge.phpdt.ui.propertyPages.CompilerPropertyPage">
+ <filter
+ name="nature"
+ value="net.sourceforge.phpeclipse.phpnature">
+ </filter>
+ </page>
+ <page
+ objectClass="net.sourceforge.phpdt.core.IJavaProject"
+ name="%compilerPageName"
+ class="net.sourceforge.phpdt.internal.ui.preferences.CompilerPropertyPage"
+ id="net.sourceforge.phpdt.ui.propertyPages.CompilerPropertyPage">
+ <filter
+ name="nature"
+ value="net.sourceforge.phpeclipse.phpnature">
+ </filter>
+ </page>
<page
objectClass="org.eclipse.core.resources.IFile"
name="PHP File Settings"
id="net.sourceforge.phpeclipse.preferences.PHPPreviewProjectPreferences">
</page>
<page
- name="Outline"
+ name="%compilerOptionsPrefName"
category="net.sourceforge.phpeclipse.preference.PHPEclipsePreferencePage"
- class="net.sourceforge.phpeclipse.PHPOutlinePreferencePage"
- id="net.sourceforge.phpeclipse.preference.PHPOutlinePreferencePage">
+ class="net.sourceforge.phpdt.internal.ui.preferences.CompilerPreferencePage"
+ id="net.sourceforge.phpeclipse.preference.CompilerPreferencePage">
</page>
<page
name="%todoTaskPrefName"
* @see #getDefaultOptions
*/
public static final String COMPILER_CODEGEN_TARGET_PLATFORM = PLUGIN_ID + ".compiler.codegen.targetPlatform"; //$NON-NLS-1$
+
+ /**
+ * Possible configurable option ID.
+ * @see #getDefaultOptions
+ */
+ public static final String COMPILER_PB_PHP_VAR_DEPRECATED = PLUGIN_ID + ".compiler.problem.phpVarDeprecatedWarning"; //$NON-NLS-1$
+
/**
* Possible configurable option ID.
* @see #getDefaultOptions
* @see #getDefaultOptions
*/
public static final String COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME = PLUGIN_ID + ".compiler.problem.methodWithConstructorName"; //$NON-NLS-1$
+
/**
* Possible configurable option ID.
* @see #getDefaultOptions
preferences.setDefault(COMPILER_CODEGEN_TARGET_PLATFORM, VERSION_1_1);
optionNames.add(COMPILER_CODEGEN_TARGET_PLATFORM);
+ preferences.setDefault(COMPILER_PB_PHP_VAR_DEPRECATED, WARNING);
+ optionNames.add(COMPILER_PB_PHP_VAR_DEPRECATED);
+
preferences.setDefault(COMPILER_PB_UNREACHABLE_CODE, ERROR);
optionNames.add(COMPILER_PB_UNREACHABLE_CODE);
preferences.setDefault(COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD, WARNING);
optionNames.add(COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD);
-
+
preferences.setDefault(COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME, WARNING);
optionNames.add(COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME);
/**
* Option IDs
*/
- public static final String OPTION_LocalVariableAttribute = "net.sourceforge.phpeclipse.compiler.debug.localVariable"; //$NON-NLS-1$
+ public static final String OPTION_PHPVarDeprecatedWarning = "net.sourceforge.phpeclipse.compiler.problem.phpVarDeprecatedWarning"; //$NON-NLS-1$
+
+ public static final String OPTION_LocalVariableAttribute = "net.sourceforge.phpeclipse.compiler.debug.localVariable"; //$NON-NLS-1$
public static final String OPTION_LineNumberAttribute = "net.sourceforge.phpeclipse.compiler.debug.lineNumber"; //$NON-NLS-1$
public static final String OPTION_SourceFileAttribute = "net.sourceforge.phpeclipse.compiler.debug.sourceFile"; //$NON-NLS-1$
// public static final String OPTION_PreserveUnusedLocal = "net.sourceforge.phpeclipse.compiler.codegen.unusedLocal"; //$NON-NLS-1$
public static final long UnqualifiedFieldAccess = 0x4000000000L;
public static final long MissingJavadocTags = 0x8000000000L;
public static final long MissingJavadocComments = 0x10000000000L;
-
+
+ public static final long PHPVarDeprecatedWarning = 0x20000000000L;
// Default severity level for handlers
public long errorThreshold = 0;
| IncompatibleNonInheritedInterfaceMethod
| NoImplicitStringConversion
| FinallyBlockNotCompleting
- | AssertUsedAsAnIdentifier;
+ | AssertUsedAsAnIdentifier
+ | PHPVarDeprecatedWarning;
// Debug attributes
public static final int Source = 1; // SourceFileAttribute
public Map getMap() {
Map optionsMap = new HashMap(30);
+ optionsMap.put(OPTION_PHPVarDeprecatedWarning, getSeverityString(PHPVarDeprecatedWarning));
+
optionsMap.put(OPTION_LocalVariableAttribute, (this.produceDebugAttributes & Vars) != 0 ? GENERATE : DO_NOT_GENERATE);
optionsMap.put(OPTION_LineNumberAttribute, (this.produceDebugAttributes & Lines) != 0 ? GENERATE : DO_NOT_GENERATE);
optionsMap.put(OPTION_SourceFileAttribute, (this.produceDebugAttributes & Source) != 0 ? GENERATE : DO_NOT_GENERATE);
}
}
}
+ if ((optionValue = optionsMap.get(OPTION_PHPVarDeprecatedWarning)) != null) updateSeverity(PHPVarDeprecatedWarning, optionValue);
+
if ((optionValue = optionsMap.get(OPTION_ReportMethodWithConstructorName)) != null) updateSeverity(MethodWithConstructorName, optionValue);
if ((optionValue = optionsMap.get(OPTION_ReportOverridingPackageDefaultMethod)) != null) updateSeverity(OverriddenPackageDefaultMethod, optionValue);
if ((optionValue = optionsMap.get(OPTION_ReportDeprecation)) != null) updateSeverity(UsingDeprecatedAPI, optionValue);
public String toString() {
StringBuffer buf = new StringBuffer("CompilerOptions:"); //$NON-NLS-1$
+ buf.append("\n\t- var is deprecated keyword: ").append(getSeverityString(PHPVarDeprecatedWarning)); //$NON-NLS-1$
+
buf.append("\n\t- local variables debug attributes: ").append((this.produceDebugAttributes & Vars) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
buf.append("\n\t- line number debug attributes: ").append((this.produceDebugAttributes & Lines) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
buf.append("\n\t- source debug attributes: ").append((this.produceDebugAttributes & Source) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
* Error | Warning | Ignore
*/
public int computeSeverity(int problemId){
- if (problemId==IProblem.PHPParsingWarning ||
- problemId==IProblem.PHPVarDeprecatedWarning) {
- return Warning;
- }
return Error; // by default all problems are errors
}
public IProblem createProblem(
// if not then check whether it is a configurable problem
switch(problemId){
-
+ case IProblem.PHPVarDeprecatedWarning :
+ return this.options.getSeverity(CompilerOptions.PHPVarDeprecatedWarning);
+
case IProblem.MaskedCatch :
return this.options.getSeverity(CompilerOptions.MaskedCatchBlock);
public void phpVarDeprecatedWarning(
int problemStartPosition, int problemEndPosition,
ReferenceContext context, CompilationResult compilationResult) {
+ if (computeSeverity(IProblem.PHPVarDeprecatedWarning) == Ignore)
+ return;
this.handle(IProblem.PHPVarDeprecatedWarning, NoArgument, new String[]{},
problemStartPosition, problemEndPosition, context, compilationResult);
}
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package net.sourceforge.phpdt.internal.ui.preferences;
+
+import java.util.ArrayList;
+import java.util.Map;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+import net.sourceforge.phpdt.core.IJavaProject;
+import net.sourceforge.phpdt.core.JavaCore;
+
+import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo;
+import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil;
+import net.sourceforge.phpdt.internal.ui.util.PixelConverter;
+import net.sourceforge.phpdt.internal.ui.util.TabFolderLayout;
+import net.sourceforge.phpdt.internal.ui.wizards.IStatusChangeListener;
+
+/**
+ */
+public class CompilerConfigurationBlock extends OptionsConfigurationBlock {
+
+ // Preference store keys, see JavaCore.getOptions
+ private static final String PREF_PB_PHP_VAR_DEPRECATED= JavaCore.COMPILER_PB_PHP_VAR_DEPRECATED;
+
+// private static final String PREF_LOCAL_VARIABLE_ATTR= JavaCore.COMPILER_LOCAL_VARIABLE_ATTR;
+// private static final String PREF_LINE_NUMBER_ATTR= JavaCore.COMPILER_LINE_NUMBER_ATTR;
+// private static final String PREF_SOURCE_FILE_ATTR= JavaCore.COMPILER_SOURCE_FILE_ATTR;
+// private static final String PREF_CODEGEN_UNUSED_LOCAL= JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL;
+// private static final String PREF_CODEGEN_TARGET_PLATFORM= JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM;
+ //private static final String PREF_PB_UNREACHABLE_CODE= JavaCore.COMPILER_PB_UNREACHABLE_CODE;
+ //private static final String PREF_PB_INVALID_IMPORT= JavaCore.COMPILER_PB_INVALID_IMPORT;
+// private static final String PREF_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD= JavaCore.COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD;
+// private static final String PREF_PB_METHOD_WITH_CONSTRUCTOR_NAME= JavaCore.COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME;
+// private static final String PREF_PB_DEPRECATION= JavaCore.COMPILER_PB_DEPRECATION;
+// private static final String PREF_PB_DEPRECATION_WHEN_OVERRIDING= JavaCore.COMPILER_PB_DEPRECATION_WHEN_OVERRIDING_DEPRECATED_METHOD;
+
+// private static final String PREF_PB_HIDDEN_CATCH_BLOCK= JavaCore.COMPILER_PB_HIDDEN_CATCH_BLOCK;
+// private static final String PREF_PB_UNUSED_LOCAL= JavaCore.COMPILER_PB_UNUSED_LOCAL;
+// private static final String PREF_PB_UNUSED_PARAMETER= JavaCore.COMPILER_PB_UNUSED_PARAMETER;
+// private static final String PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING= JavaCore.COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE;
+// private static final String PREF_PB_SIGNAL_PARAMETER_IN_ABSTRACT= JavaCore.COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT;
+// private static final String PREF_PB_SYNTHETIC_ACCESS_EMULATION= JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION;
+// private static final String PREF_PB_NON_EXTERNALIZED_STRINGS= JavaCore.COMPILER_PB_NON_NLS_STRING_LITERAL;
+// private static final String PREF_PB_ASSERT_AS_IDENTIFIER= JavaCore.COMPILER_PB_ASSERT_IDENTIFIER;
+ private static final String PREF_PB_MAX_PER_UNIT= JavaCore.COMPILER_PB_MAX_PER_UNIT;
+// private static final String PREF_PB_UNUSED_IMPORT= JavaCore.COMPILER_PB_UNUSED_IMPORT;
+// private static final String PREF_PB_UNUSED_PRIVATE= JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER;
+// private static final String PREF_PB_STATIC_ACCESS_RECEIVER= JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER;
+// private static final String PREF_PB_NO_EFFECT_ASSIGNMENT= JavaCore.COMPILER_PB_NO_EFFECT_ASSIGNMENT;
+// private static final String PREF_PB_CHAR_ARRAY_IN_CONCAT= JavaCore.COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION;
+// private static final String PREF_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT= JavaCore.COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT;
+// private static final String PREF_PB_LOCAL_VARIABLE_HIDING= JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING;
+// private static final String PREF_PB_FIELD_HIDING= JavaCore.COMPILER_PB_FIELD_HIDING;
+// private static final String PREF_PB_SPECIAL_PARAMETER_HIDING_FIELD= JavaCore.COMPILER_PB_SPECIAL_PARAMETER_HIDING_FIELD;
+// private static final String PREF_PB_INDIRECT_STATIC_ACCESS= JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS;
+// private static final String PREF_PB_SUPERFLUOUS_SEMICOLON= JavaCore.COMPILER_PB_SUPERFLUOUS_SEMICOLON;
+// private static final String PREF_PB_UNNECESSARY_TYPE_CHECK= JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK;
+
+// private static final String PREF_PB_INVALID_JAVADOC= JavaCore.COMPILER_PB_INVALID_JAVADOC;
+// private static final String PREF_PB_INVALID_JAVADOC_TAGS= JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS;
+// private static final String PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY= JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY;
+//
+// private static final String PREF_PB_MISSING_JAVADOC_TAGS= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS;
+// private static final String PREF_PB_MISSING_JAVADOC_TAGS_VISIBILITY= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY;
+// private static final String PREF_PB_MISSING_JAVADOC_TAGS_OVERRIDING= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING;
+//
+// private static final String PREF_PB_MISSING_JAVADOC_COMMENTS= JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS;
+// private static final String PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY= JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY;
+// private static final String PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING= JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING;
+//
+// private static final String PREF_SOURCE_COMPATIBILITY= JavaCore.COMPILER_SOURCE;
+// private static final String PREF_COMPLIANCE= JavaCore.COMPILER_COMPLIANCE;
+//
+// private static final String PREF_RESOURCE_FILTER= JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER;
+// private static final String PREF_BUILD_INVALID_CLASSPATH= JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH;
+// private static final String PREF_BUILD_CLEAN_OUTPUT_FOLDER= JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER;
+// private static final String PREF_ENABLE_EXCLUSION_PATTERNS= JavaCore.CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS;
+// private static final String PREF_ENABLE_MULTIPLE_OUTPUT_LOCATIONS= JavaCore.CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS;
+//
+// private static final String PREF_PB_INCOMPLETE_BUILDPATH= JavaCore.CORE_INCOMPLETE_CLASSPATH;
+// private static final String PREF_PB_CIRCULAR_BUILDPATH= JavaCore.CORE_CIRCULAR_CLASSPATH;
+//// private static final String PREF_PB_INCOMPATIBLE_JDK_LEVEL= JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL;
+// private static final String PREF_PB_DEPRECATION_IN_DEPRECATED_CODE= JavaCore.COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE;
+// private static final String PREF_PB_DUPLICATE_RESOURCE= JavaCore.CORE_JAVA_BUILD_DUPLICATE_RESOURCE;
+// private static final String PREF_PB_INCOMPATIBLE_INTERFACE_METHOD= JavaCore.COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD;
+
+// private static final String PREF_PB_UNDOCUMENTED_EMPTY_BLOCK= JavaCore.COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK;
+// private static final String PREF_PB_FINALLY_BLOCK_NOT_COMPLETING= JavaCore.COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING;
+// private static final String PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION= JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION;
+// private static final String PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING= JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING;
+// private static final String PREF_PB_UNQUALIFIED_FIELD_ACCESS= JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS;
+
+// private static final String INTR_DEFAULT_COMPLIANCE= "internal.default.compliance"; //$NON-NLS-1$
+
+ // values
+ private static final String GENERATE= JavaCore.GENERATE;
+ private static final String DO_NOT_GENERATE= JavaCore.DO_NOT_GENERATE;
+
+ private static final String PRESERVE= JavaCore.PRESERVE;
+ private static final String OPTIMIZE_OUT= JavaCore.OPTIMIZE_OUT;
+
+ private static final String VERSION_1_1= JavaCore.VERSION_1_1;
+ private static final String VERSION_1_2= JavaCore.VERSION_1_2;
+ private static final String VERSION_1_3= JavaCore.VERSION_1_3;
+ private static final String VERSION_1_4= JavaCore.VERSION_1_4;
+
+ private static final String ERROR= JavaCore.ERROR;
+ private static final String WARNING= JavaCore.WARNING;
+ private static final String IGNORE= JavaCore.IGNORE;
+ private static final String ABORT= JavaCore.ABORT;
+
+ private static final String CLEAN= JavaCore.CLEAN;
+
+ private static final String ENABLED= JavaCore.ENABLED;
+ private static final String DISABLED= JavaCore.DISABLED;
+
+// private static final String PUBLIC= JavaCore.PUBLIC;
+// private static final String PROTECTED= JavaCore.PROTECTED;
+// private static final String DEFAULT= JavaCore.DEFAULT;
+// private static final String PRIVATE= JavaCore.PRIVATE;
+
+ private static final String DEFAULT_CONF= "default"; //$NON-NLS-1$
+ private static final String USER_CONF= "user"; //$NON-NLS-1$
+
+ private ArrayList fComplianceControls;
+ private PixelConverter fPixelConverter;
+
+ private IStatus fMaxNumberProblemsStatus;
+// private IStatus fComplianceStatus, fMaxNumberProblemsStatus, fResourceFilterStatus;
+
+ public CompilerConfigurationBlock(IStatusChangeListener context, IJavaProject project) {
+ super(context, project);
+
+ fComplianceControls= new ArrayList();
+
+// fComplianceStatus= new StatusInfo();
+ fMaxNumberProblemsStatus= new StatusInfo();
+// fResourceFilterStatus= new StatusInfo();
+
+ // compatibilty code for the merge of the two option PB_SIGNAL_PARAMETER:
+// if (ENABLED.equals(fWorkingValues.get(PREF_PB_SIGNAL_PARAMETER_IN_ABSTRACT))) {
+// fWorkingValues.put(PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING, ENABLED);
+// }
+
+ }
+
+ private final String[] KEYS= new String[] {
+ PREF_PB_PHP_VAR_DEPRECATED,
+// PREF_LOCAL_VARIABLE_ATTR,
+// PREF_LINE_NUMBER_ATTR, PREF_SOURCE_FILE_ATTR, PREF_CODEGEN_UNUSED_LOCAL,
+// PREF_CODEGEN_TARGET_PLATFORM,
+// PREF_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD,
+// PREF_PB_METHOD_WITH_CONSTRUCTOR_NAME,
+// PREF_PB_DEPRECATION,
+// PREF_PB_HIDDEN_CATCH_BLOCK, PREF_PB_UNUSED_LOCAL,
+// PREF_PB_UNUSED_PARAMETER,
+// PREF_PB_SYNTHETIC_ACCESS_EMULATION, PREF_PB_NON_EXTERNALIZED_STRINGS,
+// PREF_PB_ASSERT_AS_IDENTIFIER,
+// PREF_PB_UNUSED_IMPORT,
+ PREF_PB_MAX_PER_UNIT,
+// PREF_SOURCE_COMPATIBILITY,
+// PREF_COMPLIANCE,
+// PREF_RESOURCE_FILTER, PREF_BUILD_INVALID_CLASSPATH, PREF_PB_STATIC_ACCESS_RECEIVER, PREF_PB_INCOMPLETE_BUILDPATH,
+// PREF_PB_CIRCULAR_BUILDPATH, PREF_PB_DEPRECATION_IN_DEPRECATED_CODE, PREF_BUILD_CLEAN_OUTPUT_FOLDER,
+// PREF_PB_DUPLICATE_RESOURCE, PREF_PB_NO_EFFECT_ASSIGNMENT, PREF_PB_INCOMPATIBLE_INTERFACE_METHOD,
+// PREF_PB_UNUSED_PRIVATE, PREF_PB_CHAR_ARRAY_IN_CONCAT, PREF_ENABLE_EXCLUSION_PATTERNS, PREF_ENABLE_MULTIPLE_OUTPUT_LOCATIONS,
+// PREF_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT,
+// PREF_PB_LOCAL_VARIABLE_HIDING,
+// PREF_PB_FIELD_HIDING,
+// PREF_PB_SPECIAL_PARAMETER_HIDING_FIELD,
+// PREF_PB_INCOMPATIBLE_JDK_LEVEL,
+// PREF_PB_INDIRECT_STATIC_ACCESS,
+// PREF_PB_SUPERFLUOUS_SEMICOLON,
+// PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING,
+// PREF_PB_SIGNAL_PARAMETER_IN_ABSTRACT,
+// PREF_PB_UNNECESSARY_TYPE_CHECK,
+// PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION,
+// PREF_PB_UNQUALIFIED_FIELD_ACCESS,
+// PREF_PB_UNDOCUMENTED_EMPTY_BLOCK,
+// PREF_PB_FINALLY_BLOCK_NOT_COMPLETING,
+// PREF_PB_DEPRECATION_WHEN_OVERRIDING,
+// PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING,
+
+// PREF_PB_INVALID_JAVADOC,
+// PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY,
+// PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY,
+// PREF_PB_MISSING_JAVADOC_TAGS,
+// PREF_PB_MISSING_JAVADOC_TAGS_VISIBILITY,
+// PREF_PB_MISSING_JAVADOC_TAGS_OVERRIDING,
+// PREF_PB_MISSING_JAVADOC_COMMENTS,
+// PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY,
+// PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING
+ };
+
+ protected String[] getAllKeys() {
+ return KEYS;
+ }
+
+ protected final Map getOptions(boolean inheritJavaCoreOptions) {
+ Map map= super.getOptions(inheritJavaCoreOptions);
+ // map.put(INTR_DEFAULT_COMPLIANCE, getCurrentCompliance(map));
+ return map;
+ }
+
+ protected final Map getDefaultOptions() {
+ Map map= super.getDefaultOptions();
+ // map.put(INTR_DEFAULT_COMPLIANCE, getCurrentCompliance(map));
+ return map;
+ }
+
+
+ /*
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(Composite)
+ */
+ protected Control createContents(Composite parent) {
+ fPixelConverter= new PixelConverter(parent);
+ setShell(parent.getShell());
+
+ TabFolder folder= new TabFolder(parent, SWT.NONE);
+ folder.setLayout(new TabFolderLayout());
+ folder.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ Composite commonComposite= createStyleTabContent(folder);
+// Composite unusedComposite= createUnusedCodeTabContent(folder);
+ Composite advancedComposite= createAdvancedTabContent(folder);
+// Composite javadocComposite= createJavadocTabContent(folder);
+// Composite complianceComposite= createComplianceTabContent(folder);
+// Composite othersComposite= createBuildPathTabContent(folder);
+
+ TabItem item= new TabItem(folder, SWT.NONE);
+ item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.common.tabtitle")); //$NON-NLS-1$
+ item.setControl(commonComposite);
+
+ item= new TabItem(folder, SWT.NONE);
+ item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.advanced.tabtitle")); //$NON-NLS-1$
+ item.setControl(advancedComposite);
+
+// item= new TabItem(folder, SWT.NONE);
+// item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.unused.tabtitle")); //$NON-NLS-1$
+// item.setControl(unusedComposite);
+
+// item= new TabItem(folder, SWT.NONE);
+// item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.javadoc.tabtitle")); //$NON-NLS-1$
+// item.setControl(javadocComposite);
+
+// item= new TabItem(folder, SWT.NONE);
+// item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.compliance.tabtitle")); //$NON-NLS-1$
+// item.setControl(complianceComposite);
+
+// item= new TabItem(folder, SWT.NONE);
+// item.setText(PreferencesMessages.getString("CompilerConfigurationBlock.others.tabtitle")); //$NON-NLS-1$
+// item.setControl(othersComposite);
+
+ validateSettings(null, null);
+
+ return folder;
+ }
+
+ private Composite createStyleTabContent(Composite folder) {
+ String[] errorWarningIgnore= new String[] { ERROR, WARNING, IGNORE };
+
+ String[] errorWarningIgnoreLabels= new String[] {
+ PreferencesMessages.getString("CompilerConfigurationBlock.error"), //$NON-NLS-1$
+ PreferencesMessages.getString("CompilerConfigurationBlock.warning"), //$NON-NLS-1$
+ PreferencesMessages.getString("CompilerConfigurationBlock.ignore") //$NON-NLS-1$
+ };
+
+ int nColumns= 3;
+
+ GridLayout layout= new GridLayout();
+ layout.numColumns= nColumns;
+
+ Composite composite= new Composite(folder, SWT.NULL);
+ composite.setLayout(layout);
+
+ Label description= new Label(composite, SWT.WRAP);
+ description.setText(PreferencesMessages.getString("CompilerConfigurationBlock.common.description")); //$NON-NLS-1$
+ GridData gd= new GridData();
+ gd.horizontalSpan= nColumns;
+ gd.widthHint= fPixelConverter.convertWidthInCharsToPixels(50);
+ description.setLayoutData(gd);
+
+ String label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_var_deprecated.label"); //$NON-NLS-1$
+ addComboBox(composite, label, PREF_PB_PHP_VAR_DEPRECATED, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+ label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_overriding_pkg_dflt.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_method_naming.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_METHOD_WITH_CONSTRUCTOR_NAME, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_hidden_catchblock.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_HIDDEN_CATCH_BLOCK, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_static_access_receiver.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_STATIC_ACCESS_RECEIVER, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_no_effect_assignment.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_NO_EFFECT_ASSIGNMENT, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_indirect_access_to_static.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_INDIRECT_STATIC_ACCESS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_accidential_assignement.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_finally_block_not_completing.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_FINALLY_BLOCK_NOT_COMPLETING, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_undocumented_empty_block.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_UNDOCUMENTED_EMPTY_BLOCK, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+
+ return composite;
+ }
+
+ private Composite createAdvancedTabContent(TabFolder folder) {
+ String[] errorWarningIgnore= new String[] { ERROR, WARNING, IGNORE };
+
+ String[] errorWarningIgnoreLabels= new String[] {
+ PreferencesMessages.getString("CompilerConfigurationBlock.error"), //$NON-NLS-1$
+ PreferencesMessages.getString("CompilerConfigurationBlock.warning"), //$NON-NLS-1$
+ PreferencesMessages.getString("CompilerConfigurationBlock.ignore") //$NON-NLS-1$
+ };
+
+ String[] enabledDisabled= new String[] { ENABLED, DISABLED };
+
+ int nColumns= 3;
+
+ GridLayout layout= new GridLayout();
+ layout.numColumns= nColumns;
+
+ Composite composite= new Composite(folder, SWT.NULL);
+ composite.setLayout(layout);
+
+ Label description= new Label(composite, SWT.WRAP);
+ description.setText(PreferencesMessages.getString("CompilerConfigurationBlock.advanced.description")); //$NON-NLS-1$
+ GridData gd= new GridData();
+ gd.horizontalSpan= nColumns;
+ gd.widthHint= fPixelConverter.convertWidthInCharsToPixels(50);
+ description.setLayoutData(gd);
+
+// String label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_synth_access_emul.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_SYNTHETIC_ACCESS_EMULATION, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_local_variable_hiding.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_LOCAL_VARIABLE_HIDING, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// int indent= fPixelConverter.convertWidthInCharsToPixels(2);
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_special_param_hiding.label"); //$NON-NLS-1$
+// addCheckBox(composite, label, PREF_PB_SPECIAL_PARAMETER_HIDING_FIELD, enabledDisabled, indent);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_field_hiding.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_FIELD_HIDING, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_non_externalized_strings.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_NON_EXTERNALIZED_STRINGS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_incompatible_interface_method.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_INCOMPATIBLE_INTERFACE_METHOD, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+//
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_char_array_in_concat.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_CHAR_ARRAY_IN_CONCAT, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+// label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unqualified_field_access.label"); //$NON-NLS-1$
+// addComboBox(composite, label, PREF_PB_UNQUALIFIED_FIELD_ACCESS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
+
+ gd= new GridData();
+ gd.widthHint= fPixelConverter.convertWidthInCharsToPixels(6);
+
+ String label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_max_per_unit.label"); //$NON-NLS-1$
+ Text text= addTextField(composite, label, PREF_PB_MAX_PER_UNIT, 0, 0);
+ text.setTextLimit(6);
+ text.setLayoutData(gd);
+
+ return composite;
+ }
+
+
+
+
+
+ /* (non-javadoc)
+ * Update fields and validate.
+ * @param changedKey Key that changed, or null, if all changed.
+ */
+ protected void validateSettings(String changedKey, String newValue) {
+
+ if (changedKey != null) {
+// if (INTR_DEFAULT_COMPLIANCE.equals(changedKey)) {
+// updateComplianceEnableState();
+// if (DEFAULT_CONF.equals(newValue)) {
+// updateComplianceDefaultSettings();
+// }
+// fComplianceStatus= validateCompliance();
+// } else if (PREF_COMPLIANCE.equals(changedKey)) {
+// if (checkValue(INTR_DEFAULT_COMPLIANCE, DEFAULT_CONF)) {
+// updateComplianceDefaultSettings();
+// }
+// fComplianceStatus= validateCompliance();
+// } else if (PREF_SOURCE_COMPATIBILITY.equals(changedKey) ||
+// PREF_CODEGEN_TARGET_PLATFORM.equals(changedKey) ||
+// PREF_PB_ASSERT_AS_IDENTIFIER.equals(changedKey)) {
+// fComplianceStatus= validateCompliance();
+// } else
+ if (PREF_PB_MAX_PER_UNIT.equals(changedKey)) {
+ fMaxNumberProblemsStatus= validateMaxNumberProblems();
+// } else if (PREF_RESOURCE_FILTER.equals(changedKey)) {
+// fResourceFilterStatus= validateResourceFilters();
+// } else if (S.equals(changedKey) ||
+// PREF_PB_DEPRECATION.equals(changedKey) ) { // ||
+//// PREF_PB_INVALID_JAVADOC.equals(changedKey) ||
+//// PREF_PB_MISSING_JAVADOC_TAGS.equals(changedKey) ||
+//// PREF_PB_MISSING_JAVADOC_COMMENTS.equals(changedKey) ||
+//// PREF_PB_MISSING_JAVADOC_COMMENTS.equals(changedKey) ||
+//// PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION.equals(changedKey)) {
+// updateEnableStates();
+// } else if (PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING.equals(changedKey)) {
+// // merging the two options
+// fWorkingValues.put(PREF_PB_SIGNAL_PARAMETER_IN_ABSTRACT, newValue);
+ } else {
+ return;
+ }
+ } else {
+// updateEnableStates();
+// updateComplianceEnableState();
+// fComplianceStatus= validateCompliance();
+ fMaxNumberProblemsStatus= validateMaxNumberProblems();
+// fResourceFilterStatus= validateResourceFilters();
+ }
+// IStatus status= StatusUtil.getMostSevere(new IStatus[] { fComplianceStatus, fMaxNumberProblemsStatus, fResourceFilterStatus });
+ IStatus status= StatusUtil.getMostSevere(new IStatus[] { fMaxNumberProblemsStatus });
+ fContext.statusChanged(status);
+ }
+
+// private void updateEnableStates() {
+// boolean enableUnusedParams= !checkValue(PREF_PB_UNUSED_PARAMETER, IGNORE);
+// getCheckBox(PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING).setEnabled(enableUnusedParams);
+
+// boolean enableDeprecation= !checkValue(PREF_PB_DEPRECATION, IGNORE);
+// getCheckBox(PREF_PB_DEPRECATION_IN_DEPRECATED_CODE).setEnabled(enableDeprecation);
+// getCheckBox(PREF_PB_DEPRECATION_WHEN_OVERRIDING).setEnabled(enableDeprecation);
+//
+// boolean enableThrownExceptions= !checkValue(PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION, IGNORE);
+// getCheckBox(PREF_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING).setEnabled(enableThrownExceptions);
+//
+// boolean enableHiding= !checkValue(PREF_PB_LOCAL_VARIABLE_HIDING, IGNORE);
+// getCheckBox(PREF_PB_SPECIAL_PARAMETER_HIDING_FIELD).setEnabled(enableHiding);
+//
+// boolean enableInvalidTagsErrors= !checkValue(PREF_PB_INVALID_JAVADOC, IGNORE);
+// getCheckBox(PREF_PB_INVALID_JAVADOC_TAGS).setEnabled(enableInvalidTagsErrors);
+// setComboEnabled(PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY, enableInvalidTagsErrors);
+//
+// boolean enableMissingTagsErrors= !checkValue(PREF_PB_MISSING_JAVADOC_TAGS, IGNORE);
+// getCheckBox(PREF_PB_MISSING_JAVADOC_TAGS_OVERRIDING).setEnabled(enableMissingTagsErrors);
+// setComboEnabled(PREF_PB_MISSING_JAVADOC_TAGS_VISIBILITY, enableMissingTagsErrors);
+//
+// boolean enableMissingCommentsErrors= !checkValue(PREF_PB_MISSING_JAVADOC_COMMENTS, IGNORE);
+// getCheckBox(PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING).setEnabled(enableMissingCommentsErrors);
+// setComboEnabled(PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY, enableMissingCommentsErrors);
+// }
+
+// private IStatus validateCompliance() {
+// StatusInfo status= new StatusInfo();
+// if (checkValue(PREF_COMPLIANCE, VERSION_1_3)) {
+// if (checkValue(PREF_SOURCE_COMPATIBILITY, VERSION_1_4)) {
+// status.setError(PreferencesMessages.getString("CompilerConfigurationBlock.cpl13src14.error")); //$NON-NLS-1$
+// return status;
+// } else if (checkValue(PREF_CODEGEN_TARGET_PLATFORM, VERSION_1_4)) {
+// status.setError(PreferencesMessages.getString("CompilerConfigurationBlock.cpl13trg14.error")); //$NON-NLS-1$
+// return status;
+// }
+// }
+// if (checkValue(PREF_SOURCE_COMPATIBILITY, VERSION_1_4)) {
+// if (!checkValue(PREF_PB_ASSERT_AS_IDENTIFIER, ERROR)) {
+// status.setError(PreferencesMessages.getString("CompilerConfigurationBlock.src14asrterr.error")); //$NON-NLS-1$
+// return status;
+// }
+// }
+// if (checkValue(PREF_SOURCE_COMPATIBILITY, VERSION_1_4)) {
+// if (!checkValue(PREF_CODEGEN_TARGET_PLATFORM, VERSION_1_4)) {
+// status.setError(PreferencesMessages.getString("CompilerConfigurationBlock.src14tgt14.error")); //$NON-NLS-1$
+// return status;
+// }
+// }
+// return status;
+// }
+
+ private IStatus validateMaxNumberProblems() {
+ String number= (String) fWorkingValues.get(PREF_PB_MAX_PER_UNIT);
+ StatusInfo status= new StatusInfo();
+ if (number.length() == 0) {
+ status.setError(PreferencesMessages.getString("CompilerConfigurationBlock.empty_input")); //$NON-NLS-1$
+ } else {
+ try {
+ int value= Integer.parseInt(number);
+ if (value <= 0) {
+ status.setError(PreferencesMessages.getFormattedString("CompilerConfigurationBlock.invalid_input", number)); //$NON-NLS-1$
+ }
+ } catch (NumberFormatException e) {
+ status.setError(PreferencesMessages.getFormattedString("CompilerConfigurationBlock.invalid_input", number)); //$NON-NLS-1$
+ }
+ }
+ return status;
+ }
+
+// private IStatus validateResourceFilters() {
+// String text= (String) fWorkingValues.get(PREF_RESOURCE_FILTER);
+//
+// IWorkspace workspace= ResourcesPlugin.getWorkspace();
+//
+// String[] filters= getTokens(text, ","); //$NON-NLS-1$
+// for (int i= 0; i < filters.length; i++) {
+// String fileName= filters[i].replace('*', 'x');
+// int resourceType= IResource.FILE;
+// int lastCharacter= fileName.length() - 1;
+// if (lastCharacter >= 0 && fileName.charAt(lastCharacter) == '/') {
+// fileName= fileName.substring(0, lastCharacter);
+// resourceType= IResource.FOLDER;
+// }
+// IStatus status= workspace.validateName(fileName, resourceType);
+// if (status.matches(IStatus.ERROR)) {
+// String message= PreferencesMessages.getFormattedString("CompilerConfigurationBlock.filter.invalidsegment.error", status.getMessage()); //$NON-NLS-1$
+// return new StatusInfo(IStatus.ERROR, message);
+// }
+// }
+// return new StatusInfo();
+// }
+
+ protected String[] getFullBuildDialogStrings(boolean workspaceSettings) {
+ String title= PreferencesMessages.getString("CompilerConfigurationBlock.needsbuild.title"); //$NON-NLS-1$
+ String message;
+ if (workspaceSettings) {
+ message= PreferencesMessages.getString("CompilerConfigurationBlock.needsfullbuild.message"); //$NON-NLS-1$
+ } else {
+ message= PreferencesMessages.getString("CompilerConfigurationBlock.needsprojectbuild.message"); //$NON-NLS-1$
+ }
+ return new String[] { title, message };
+ }
+
+}
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package net.sourceforge.phpdt.internal.ui.preferences;
+
+import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds;
+import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil;
+import net.sourceforge.phpdt.internal.ui.wizards.IStatusChangeListener;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.help.WorkbenchHelp;
+
+/*
+ * The page to configure the compiler options.
+ */
+public class CompilerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IStatusChangeListener {
+
+ private CompilerConfigurationBlock fConfigurationBlock;
+
+ public CompilerPreferencePage() {
+ setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
+ setDescription(PreferencesMessages.getString("CompilerPreferencePage.description")); //$NON-NLS-1$
+
+ // only used when page is shown programatically
+ setTitle(PreferencesMessages.getString("CompilerPreferencePage.title")); //$NON-NLS-1$
+
+ fConfigurationBlock= new CompilerConfigurationBlock(this, null);
+ }
+
+ /*
+ * @see IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ public void init(IWorkbench workbench) {
+ }
+
+ /*
+ * @see PreferencePage#createControl(Composite)
+ */
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.COMPILER_PREFERENCE_PAGE);
+ }
+
+ /*
+ * @see PreferencePage#createContents(Composite)
+ */
+ protected Control createContents(Composite parent) {
+ Control result= fConfigurationBlock.createContents(parent);
+ Dialog.applyDialogFont(result);
+ return result;
+ }
+
+ /*
+ * @see IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+ if (!fConfigurationBlock.performOk(true)) {
+ return false;
+ }
+ return super.performOk();
+ }
+
+ /*
+ * @see PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ fConfigurationBlock.performDefaults();
+ super.performDefaults();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener#statusChanged(org.eclipse.core.runtime.IStatus)
+ */
+ public void statusChanged(IStatus status) {
+ setValid(!status.matches(IStatus.ERROR));
+ StatusUtil.applyToStatusLine(this, status);
+ }
+
+}
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package net.sourceforge.phpdt.internal.ui.preferences;
+
+import org.eclipse.core.runtime.IStatus;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+import org.eclipse.jface.dialogs.ControlEnableState;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.IPreferenceNode;
+import org.eclipse.jface.preference.IPreferencePage;
+import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.jface.preference.PreferenceManager;
+import org.eclipse.jface.preference.PreferenceNode;
+import org.eclipse.jface.window.Window;
+
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.eclipse.ui.help.WorkbenchHelp;
+
+import net.sourceforge.phpdt.core.IJavaElement;
+import net.sourceforge.phpdt.core.IJavaProject;
+
+import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds;
+import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo;
+import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil;
+import net.sourceforge.phpdt.internal.ui.wizards.IStatusChangeListener;
+import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.DialogField;
+import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
+import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.LayoutUtil;
+import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField;
+
+/**
+ * Property page used to configure project specific compiler settings
+ */
+public class CompilerPropertyPage extends PropertyPage {
+
+ private CompilerConfigurationBlock fConfigurationBlock;
+ private Control fConfigurationBlockControl;
+ private ControlEnableState fBlockEnableState;
+ private SelectionButtonDialogField fUseWorkspaceSettings;
+ private SelectionButtonDialogField fChangeWorkspaceSettings;
+ private SelectionButtonDialogField fUseProjectSettings;
+ private IStatus fBlockStatus;
+
+
+ public CompilerPropertyPage() {
+ fBlockStatus= new StatusInfo();
+ fBlockEnableState= null;
+
+ IDialogFieldListener listener= new IDialogFieldListener() {
+ public void dialogFieldChanged(DialogField field) {
+ doDialogFieldChanged(field);
+ }
+ };
+
+ fUseWorkspaceSettings= new SelectionButtonDialogField(SWT.RADIO);
+ fUseWorkspaceSettings.setDialogFieldListener(listener);
+ fUseWorkspaceSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useworkspacesettings.label")); //$NON-NLS-1$
+
+ fChangeWorkspaceSettings= new SelectionButtonDialogField(SWT.PUSH);
+ fChangeWorkspaceSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useworkspacesettings.change")); //$NON-NLS-1$
+ fChangeWorkspaceSettings.setDialogFieldListener(listener);
+
+ fUseWorkspaceSettings.attachDialogField(fChangeWorkspaceSettings);
+
+ fUseProjectSettings= new SelectionButtonDialogField(SWT.RADIO);
+ fUseProjectSettings.setDialogFieldListener(listener);
+ fUseProjectSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useprojectsettings.label")); //$NON-NLS-1$
+ }
+
+ /*
+ * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.COMPILER_PROPERTY_PAGE);
+ }
+
+ /*
+ * @see org.eclipse.jface.preference.IPreferencePage#createContents(Composite)
+ */
+ protected Control createContents(Composite parent) {
+ IStatusChangeListener listener= new IStatusChangeListener() {
+ public void statusChanged(IStatus status) {
+ fBlockStatus= status;
+ doStatusChanged();
+ }
+ };
+ fConfigurationBlock= new CompilerConfigurationBlock(listener, getProject());
+
+ Composite composite= new Composite(parent, SWT.NONE);
+ GridLayout layout= new GridLayout();
+ layout.marginHeight= 0;
+ layout.marginWidth= 0;
+ layout.numColumns= 2;
+ composite.setLayout(layout);
+
+ fUseWorkspaceSettings.doFillIntoGrid(composite, 1);
+ LayoutUtil.setHorizontalGrabbing(fUseWorkspaceSettings.getSelectionButton(null));
+
+ fChangeWorkspaceSettings.doFillIntoGrid(composite, 1);
+
+ fUseProjectSettings.doFillIntoGrid(composite, 2);
+
+ GridData data= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL );
+ data.horizontalSpan= 2;
+
+ fConfigurationBlockControl= fConfigurationBlock.createContents(composite);
+ fConfigurationBlockControl.setLayoutData(data);
+
+ boolean useProjectSettings= fConfigurationBlock.hasProjectSpecificOptions();
+
+ fUseProjectSettings.setSelection(useProjectSettings);
+ fUseWorkspaceSettings.setSelection(!useProjectSettings);
+
+ updateEnableState();
+ Dialog.applyDialogFont(composite);
+ return composite;
+ }
+
+ private boolean useProjectSettings() {
+ return fUseProjectSettings.isSelected();
+ }
+
+ private void doDialogFieldChanged(DialogField field) {
+ if (field == fChangeWorkspaceSettings) {
+ String id= "org.eclipse.jdt.ui.preferences.CompilerPreferencePage"; //$NON-NLS-1$
+ CompilerPreferencePage page= new CompilerPreferencePage();
+ showPreferencePage(id, page);
+ } else {
+ updateEnableState();
+ doStatusChanged();
+ }
+ }
+ /**
+ * Method statusChanged.
+ */
+ private void doStatusChanged() {
+ updateStatus(useProjectSettings() ? fBlockStatus : new StatusInfo());
+ }
+
+ /**
+ * Method getProject.
+ */
+ private IJavaProject getProject() {
+ return (IJavaProject) getElement().getAdapter(IJavaElement.class);
+ }
+
+ private void updateEnableState() {
+ if (useProjectSettings()) {
+ if (fBlockEnableState != null) {
+ fBlockEnableState.restore();
+ fBlockEnableState= null;
+ }
+ } else {
+ if (fBlockEnableState == null) {
+ fBlockEnableState= ControlEnableState.disable(fConfigurationBlockControl);
+ }
+ }
+ }
+
+ /*
+ * @see org.eclipse.jface.preference.IPreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ if (useProjectSettings()) {
+ fUseProjectSettings.setSelection(false);
+ fUseWorkspaceSettings.setSelection(true);
+ fConfigurationBlock.performDefaults();
+ }
+ super.performDefaults();
+ }
+
+ /*
+ * @see org.eclipse.jface.preference.IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+ return fConfigurationBlock.performOk(useProjectSettings());
+ }
+
+ private void updateStatus(IStatus status) {
+ setValid(!status.matches(IStatus.ERROR));
+ StatusUtil.applyToStatusLine(this, status);
+ }
+
+ private boolean showPreferencePage(String id, IPreferencePage page) {
+ final IPreferenceNode targetNode = new PreferenceNode(id, page);
+
+ PreferenceManager manager = new PreferenceManager();
+ manager.addToRoot(targetNode);
+ final PreferenceDialog dialog = new PreferenceDialog(getControl().getShell(), manager);
+ final boolean [] result = new boolean[] { false };
+ BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
+ public void run() {
+ dialog.create();
+ dialog.setMessage(targetNode.getLabelText());
+ result[0]= (dialog.open() == Window.OK);
+ }
+ });
+ return result[0];
+ }
+
+}
CompilerConfigurationBlock.compliance.group.label=JDK Compliance
CompilerConfigurationBlock.classfiles.group.label=Classfile Generation
+CompilerConfigurationBlock.pb_var_deprecated.label=Keyword 'var' is deprecated:
+
CompilerConfigurationBlock.pb_unreachable_code.label=&Unreachable code:
CompilerConfigurationBlock.pb_invalid_import.label=Unresol&vable import statements:
CompilerConfigurationBlock.pb_overriding_pkg_dflt.label=&Methods overridden but not package visible:
+++ /dev/null
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-BuildPathsPropertyPage.error.message=An error occurred while setting the build path
-BuildPathsPropertyPage.error.title=Error Setting Build Path
-BuildPathsPropertyPage.no_java_project.message=Not a Java project.
-BuildPathsPropertyPage.closed_project.message=Java information is not available for a closed project.
-
-ClasspathVariablesPreferencePage.title=Classpath Variables
-ClasspathVariablesPreferencePage.description=A classpath variable can be added to a project's class path. It can be used to define the location of a JAR file that isn't part of the workspace. The reserved class path variables JRE_LIB, JRE_SRC, JRE_SRCROOT are set internally depending on the JRE setting.
-
-ImportOrganizePreferencePage.description=Preferences used by the Organize Imports action:
-
-ImportOrganizePreferencePage.order.label=Define the &sorting order of import statements. A package name prefix (e.g. org.eclipse) is a valid entry.
-
-ImportOrganizePreferencePage.order.add.button=&New..
-ImportOrganizePreferencePage.order.edit.button=&Edit...
-ImportOrganizePreferencePage.order.up.button=&Up
-ImportOrganizePreferencePage.order.down.button=Do&wn
-ImportOrganizePreferencePage.order.remove.button=&Remove
-ImportOrganizePreferencePage.order.load.button=&Load...
-ImportOrganizePreferencePage.order.save.button=Sa&ve...
-ImportOrganizePreferencePage.ignoreLowerCase.label=Do not create imports for &types starting with a lowercase letter
-
-ImportOrganizePreferencePage.threshold.label=Number of &imports needed for .* (e.g. org.eclipse.*):
-ImportOrganizePreferencePage.error.invalidthreshold=Invalid import number.
-
-ImportOrganizePreferencePage.loadDialog.title=Load Import Order from File
-ImportOrganizePreferencePage.loadDialog.error.title=Load Import Order
-ImportOrganizePreferencePage.loadDialog.error.message=Loading failed. Not a valid import order file.
-
-ImportOrganizePreferencePage.saveDialog.title=Save Import Order to File
-ImportOrganizePreferencePage.saveDialog.error.title=Save Import Order
-ImportOrganizePreferencePage.saveDialog.error.message=Writing import order file failed.
-
-
-ImportOrganizeInputDialog.title=Import Order Entry
-ImportOrganizeInputDialog.message=&Package name or package name prefix:
-ImportOrganizeInputDialog.browse.button=&Browse...
-ImportOrganizeInputDialog.ChoosePackageDialog.title=Package Selection
-ImportOrganizeInputDialog.ChoosePackageDialog.description=Choose package name or package prefix:
-ImportOrganizeInputDialog.ChoosePackageDialog.empty=No packages available.
-ImportOrganizeInputDialog.error.enterName=Enter a package name.
-ImportOrganizeInputDialog.error.invalidName=Not a valid package name. {0}
-ImportOrganizeInputDialog.error.entryExists=Package name already exists in list.
-
-JavaBasePreferencePage.description=General settings for Java development:
-
-JavaBasePreferencePage.updateJavaViews=Update Java views
-JavaBasePreferencePage.onSave=On &save only
-JavaBasePreferencePage.whileEditing=While &editing
-JavaBasePreferencePage.notice.outliner=Note: This preference is not applied to already opened views (Outline view is always updated while editing)
-
-JavaBasePreferencePage.openTypeHierarchy=When opening a Type Hierarchy
-JavaBasePreferencePage.inPerspective=Open a new Type Hierarchy &Perspective
-JavaBasePreferencePage.inView=Show the &Type Hierarchy View in the current perspective
-JavaBasePreferencePage.doubleclick.action=Action on double click in the Package Explorer
-JavaBasePreferencePage.doubleclick.gointo=&Go into the selected element
-JavaBasePreferencePage.doubleclick.expand=E&xpand the selected element
-
-NewJavaProjectPreferencePage.description=Specify the classpath entries used as default by the New Java Project creation wizard:
-
-NewJavaProjectPreferencePage.sourcefolder.label=Source and output folder
-NewJavaProjectPreferencePage.sourcefolder.project=&Project
-NewJavaProjectPreferencePage.sourcefolder.folder=&Folders
-NewJavaProjectPreferencePage.folders.src=&Source folder name:
-NewJavaProjectPreferencePage.folders.bin=&Output folder name:
-
-NewJavaProjectPreferencePage.jrelibrary.label=As &JRE library use:
-NewJavaProjectPreferencePage.jre_variable.description=JRE_LIB variable
-NewJavaProjectPreferencePage.jre_container.description=JRE container
-
-NewJavaProjectPreferencePage.folders.error.namesempty=Enter folder names.
-NewJavaProjectPreferencePage.folders.error.invalidsrcname=Invalid source folder name: {0}
-NewJavaProjectPreferencePage.folders.error.invalidbinname=Invalid output folder name: {0}
-NewJavaProjectPreferencePage.folders.error.invalidcp=Settings will result in an invalid build path. Check for nested folders.
-
-NewJavaProjectPreferencePage.error.decode=Error while decoding JRE entry
-
-JavaEditorPreferencePage.annotationsTab.title= Annotation&s
-JavaEditorPreferencePage.showQuickFixables= Indicate annotations solvable with &Quick Fix in vertical ruler
-JavaEditorPreferencePage.analyseAnnotationsWhileTyping= Analyze annotations &while typing
-JavaEditorPreferencePage.annotationPresentationOptions= Annotation &presentation:
-JavaEditorPreferencePage.description=Java Editor settings:
-JavaEditorPreferencePage.annotations.bookmarks= Bookmarks
-JavaEditorPreferencePage.annotations.searchResults= Search Results
-JavaEditorPreferencePage.annotations.errors= Errors
-JavaEditorPreferencePage.annotations.warnings= Warnings
-JavaEditorPreferencePage.annotations.tasks= Tasks
-JavaEditorPreferencePage.annotations.others= Others
-JavaEditorPreferencePage.annotations.showInText= Show in &text
-TextEditorPreferencePage.annotations.highlightInText= &Highlight in text
-JavaEditorPreferencePage.annotations.showInOverviewRuler= Show in overview &ruler
-JavaEditorPreferencePage.annotations.showInVerticalRuler= Show in vertical r&uler
-JavaEditorPreferencePage.annotations.color= C&olor:
-JavaEditorPreferencePage.multiLineComment=Multi-line comment
-JavaEditorPreferencePage.singleLineComment=Single-line comment
-JavaEditorPreferencePage.keywords=Keywords
-JavaEditorPreferencePage.strings=Strings
-JavaEditorPreferencePage.others=Others
-JavaEditorPreferencePage.javaCommentTaskTags=Task Tags
-JavaEditorPreferencePage.javaDocKeywords=Javadoc keywords
-JavaEditorPreferencePage.javaDocHtmlTags=Javadoc HTML tags
-JavaEditorPreferencePage.javaDocLinks=Javadoc links
-JavaEditorPreferencePage.javaDocOthers=Javadoc others
-JavaEditorPreferencePage.backgroundColor=Background color
-JavaEditorPreferencePage.systemDefault=S&ystem Default
-JavaEditorPreferencePage.custom=C&ustom:
-JavaEditorPreferencePage.foreground=Fo®round:
-JavaEditorPreferencePage.color=C&olor:
-JavaEditorPreferencePage.bold=&Bold
-JavaEditorPreferencePage.preview=Preview:
-JavaEditorPreferencePage.displayedTabWidth=Displayed &tab width:
-JavaEditorPreferencePage.insertSpaceForTabs=Ins&ert space for tabs (see Code Formatter preference page)
-JavaEditorPreferencePage.showOverviewRuler=Show overview &ruler
-JavaEditorPreferencePage.highlightMatchingBrackets=Highlight &matching brackets
-JavaEditorPreferencePage.highlightCurrentLine=Hi&ghlight current line
-JavaEditorPreferencePage.showPrintMargin=Sho&w print margin
-JavaEditorPreferencePage.printMarginColumn=Print margin col&umn:
-JavaEditorPreferencePage.insertSingleProposalsAutomatically=Insert single &proposals automatically
-JavaEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext=Show only proposals &visible in the invocation context
-JavaEditorPreferencePage.presentProposalsInAlphabeticalOrder=Present proposals in a&lphabetical order
-JavaEditorPreferencePage.enableAutoActivation=&Enable auto activation
-JavaEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName=Automatically add import instead of &qualified name
-JavaEditorPreferencePage.completionInserts=Completion inser&ts
-JavaEditorPreferencePage.completionOverwrites=Completion over&writes
-JavaEditorPreferencePage.fillArgumentNamesOnMethodCompletion=&Fill argument names on method completion
-JavaEditorPreferencePage.guessArgumentNamesOnMethodCompletion=&Guess filled argument names
-JavaEditorPreferencePage.autoActivationDelay=Auto activation dela&y:
-JavaEditorPreferencePage.autoActivationTriggersForJava=Auto activation &triggers for Java:
-JavaEditorPreferencePage.autoActivationTriggersForJavaDoc=Auto activation triggers for &Javadoc:
-
-JavaEditorPreferencePage.codeAssist.colorOptions= Code assist colo&r options:
-JavaEditorPreferencePage.codeAssist.color= C&olor:
-JavaEditorPreferencePage.backgroundForCompletionProposals= Completion proposal background
-JavaEditorPreferencePage.foregroundForCompletionProposals= Completion proposal foreground
-JavaEditorPreferencePage.backgroundForMethodParameters= Method parameter background
-JavaEditorPreferencePage.foregroundForMethodParameters= Method parameter foreground
-JavaEditorPreferencePage.backgroundForCompletionReplacement= Completion overwrite background
-JavaEditorPreferencePage.foregroundForCompletionReplacement= Completion overwrite foreground
-
-JavaEditorPreferencePage.general=Appeara&nce
-JavaEditorPreferencePage.colors=Synta&x
-JavaEditorPreferencePage.codeAssist= &Code Assist
-JavaEditorPreferencePage.empty_input=Empty input
-JavaEditorPreferencePage.invalid_input=''{0}'' is not a valid input.
-JavaEditorPreferencePage.showLineNumbers=Show lin&e numbers
-JavaEditorPreferencePage.lineNumberForegroundColor=Line number foreground
-JavaEditorPreferencePage.matchingBracketsHighlightColor2=Matching brackets highlight
-JavaEditorPreferencePage.currentLineHighlighColor=Current line highlight
-JavaEditorPreferencePage.printMarginColor2=Print margin
-JavaEditorPreferencePage.findScopeColor2=Find scope
-JavaEditorPreferencePage.linkedPositionColor2=Linked position
-JavaEditorPreferencePage.linkColor2=Link
-JavaEditorPreferencePage.synchronizeOnCursor=Synchroni&ze outline selection on cursor move (editor must be reopened)
-JavaEditorPreferencePage.appearanceOptions=Appearance co&lor options:
-
-JavaEditorPreferencePage.typing.tabTitle= T&yping
-JavaEditorPreferencePage.typing.description= Select options for automatic text modifications
-JavaEditorPreferencePage.closeStrings= Close strin&gs
-JavaEditorPreferencePage.closeBrackets= Close &brackets and parenthesis
-JavaEditorPreferencePage.closeBraces= Cl&ose braces
-JavaEditorPreferencePage.closeJavaDocs= Close Java&docs and comments
-JavaEditorPreferencePage.wrapStrings= &Wrap Java strings
-JavaEditorPreferencePage.addJavaDocTags= Add Javadoc &tags
-JavaEditorPreferencePage.smartPaste= Pasting fo&r correct indentation
-
-JavaEditorPreferencePage.smartHomeEnd= S&mart cursor positioning at line start and end
-
-JavaEditorPreferencePage.hoverTab.title= Ho&vers
-
-JavaEditorPreferencePage.navigationTab.title= Nav&igation
-JavaEditorPreferencePage.navigation.browserLikeLinks= S&upport hyperlink style navigation for "Open Declaration"
-JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier= Hyperlink style navigation key &modifier:
-JavaEditorPreferencePage.navigation.modifierIsNotValid= Modifier ''{0}'' is not valid.
-JavaEditorPreferencePage.navigation.shiftIsDisabled= The modifier 'Shift' is not allowed because 'Shift' + click sets a new selection.
-
-JavaEditorPreferencePage.navigation.delimiter= +
-JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter= \ + {0} +
-JavaEditorPreferencePage.navigation.insertModifierAndDelimiter= \ {0} +
-JavaEditorPreferencePage.navigation.insertDelimiterAndModifier= \ + {0}
-
-JavaEditorHoverConfigurationBlock.hoverPreferences= &Hover key modifier preferences:
-JavaEditorHoverConfigurationBlock.enabled= &Enabled
-JavaEditorHoverConfigurationBlock.keyModifier= Key &Modifier:
-JavaEditorHoverConfigurationBlock.description= Description:
-JavaEditorHoverConfigurationBlock.modifierIsNotValid= Modifier ''{0}'' is not valid.
-JavaEditorHoverConfigurationBlock.modifierIsNotValidForHover= Modifier ''{0}'' for ''{1}'' hover is not valid.
-JavaEditorHoverConfigurationBlock.duplicateModifier= ''{0}'' hover uses the same modifier as ''{1}'' hover.
-
-JavaEditorHoverConfigurationBlock.delimiter= +
-JavaEditorHoverConfigurationBlock.insertDelimiterAndModifierAndDelimiter= \ + {0} +
-JavaEditorHoverConfigurationBlock.insertModifierAndDelimiter= \ {0} +
-JavaEditorHoverConfigurationBlock.insertDelimiterAndModifier= \ + {0}
-
-JavaElementInfoPage.binary=binary
-JavaElementInfoPage.classpath_entry_kind=Classpath entry kind:
-JavaElementInfoPage.library=library
-JavaElementInfoPage.nameLabel=Name:
-JavaElementInfoPage.not_present=not present
-JavaElementInfoPage.package=Package:
-JavaElementInfoPage.package_contents=Package contents:
-JavaElementInfoPage.project=project
-JavaElementInfoPage.resource_path=Resource path:
-JavaElementInfoPage.source=source
-JavaElementInfoPage.variable=variable
-JavaElementInfoPage.variable_path=Variable path:
-JavaElementInfoPage.location=Location:
-
-JavadocConfigurationPropertyPage.IsPackageFragmentRoot.description=Specify the location (URL) of the documentation generated by Javadoc. The Javadoc location will contain a file called 'package-list'. For example: \'http://www.sample-url.org/doc/\'
-JavadocConfigurationPropertyPage.IsIncorrectElement.description=Javadoc location can only be attached to Java projects or JAR files in Java projects
-JavadocConfigurationPropertyPage.IsJavaProject.description=Specify the location (URL) of the project\'s Javadoc documentation. This location is used by the Javadoc export wizard as default value and by the \'Open External Javadoc\' action. For example: \'file://c:/myworkspace/myproject/doc/\'.
-
-JavadocConfigurationBlock.location.label=Javadoc &location:
-JavadocConfigurationBlock.location.button=Bro&wse...
-
-JavadocConfigurationBlock.error.notafolder=Location does not exist.
-JavadocConfigurationBlock.warning.packagelistnotfound=Location does not contain file 'package-list'.
-
-JavadocConfigurationBlock.javadocLocationDialog.label=Javadoc Location Selection
-JavadocConfigurationBlock.javadocLocationDialog.message=&Select Javadoc location:
-
-JavadocConfigurationBlock.MalformedURL.error=Invalid URL
-
-JavadocConfigurationBlock.ValidateButton.label=&Validate...
-JavadocConfigurationBlock.InvalidLocation.message= Location is invalid. Location contains neither the file \'package-list\' nor \'index.html'.
-JavadocConfigurationBlock.ValidLocation.message= Location is valid. Files \'package-list\' and \'index.html\' found. Click OK to open in browser.
-JavadocConfigurationBlock.UnableToValidateLocation.message=Unable to validate location
-JavadocConfigurationBlock.MessageDialog.title=Validating Javadoc Location
-
-JavadocPreferencePage.description=Specify the location of the Javadoc command to be used by the Javadoc export wizard. Location must be an absolute path.
-JavadocPreferencePage.command.label=&Javadoc command:
-JavadocPreferencePage.command.button=Bro&wse...
-
-JavadocPreferencePage.error.notexists=Javadoc command does not exist
-
-JavadocPreferencePage.browsedialog.title=Javadoc Command Selection
-
-MembersOrderPreferencePage.button.up=U&p
-MembersOrderPreferencePage.button.down=Do&wn
-MembersOrderPreferencePage.label.description=&Choose the order in which members will be displayed. The order is also used by the 'Sort Members' action.
-
-SourceAttachmentPropertyPage.error.title=Error Attaching Source
-SourceAttachmentPropertyPage.error.message=An error occurred while associating the source
-
-SourceAttachmentPropertyPage.noarchive.message=Source can only be attached to JAR files in Java projects.
-SourceAttachmentPropertyPage.containerentry.message=JAR belongs to the container ''{0}''.\nTo configure the source attachment, go directly to the corresponding configuration page (For example for JREs go to ''Installed JREs'' page in the preferences).
-
-AppearancePreferencePage.description= Appearance of Java elements in viewers:
-AppearancePreferencePage.methodreturntype.label= Show &method return types
-AppearancePreferencePage.overrideindicator.label= Show &override indicators in outline and hierarchy
-AppearancePreferencePage.pkgNamePatternEnable.label= &Compress all package name segments, except the final segment
-AppearancePreferencePage.pkgNamePattern.label= Com&pression pattern (e.g. given package name 'org.eclipse.jdt' pattern '.' will compress it to '..jdt', '0' to 'jdt', '1~.' to 'o~.e~.jdt'):
-AppearancePreferencePage.showMembersInPackagesView=S&how members in Package Explorer
-AppearancePreferencePage.stackViewsVerticallyInTheJavaBrowsingPerspective=&Stack views vertically in the Java Browsing perspective
-AppearancePreferencePage.preferenceOnlyEffectiveForNewPerspectives=Note: This preference will only take effect on new perspectives
-AppearancePreferencePage.packageNameCompressionPattern.error.isEmpty=Enter a package name compression pattern
-AppearancePreferencePage.foldEmptyPackages= &Fold empty packages in hierarchical Package Explorer layout
-
-CodeFormatterPreferencePage.title=Code Formatter
-CodeFormatterPreferencePage.description=Options for the Java Code Formatter:
-
-CodeFormatterPreferencePage.empty_input=Empty input
-CodeFormatterPreferencePage.invalid_input=''{0}'' is not a valid input.
-
-CodeFormatterPreferencePage.newline_opening_braces.label=I&nsert a new line before an opening brace
-CodeFormatterPreferencePage.newline_control_statement.label=Insert new &lines in control statements
-CodeFormatterPreferencePage.newline_clear_lines=Clear all &blank lines
-CodeFormatterPreferencePage.newline_else_if.label=&Insert new line between 'else if'
-CodeFormatterPreferencePage.newline_empty_block.label=In&sert a new line inside an empty block
-CodeFormatterPreferencePage.split_line.label=Ma&ximum line length:
-CodeFormatterPreferencePage.style_compact_assignement.label=&Compact assignment
-CodeFormatterPreferencePage.style_space_castexpression.label=Insert sp&ace after a cast
-CodeFormatterPreferencePage.tab_char.label=Insert &tabs for indentation, not spaces
-CodeFormatterPreferencePage.tab_size.label=&Number of spaces representing an indentation level:
-
-CodeFormatterPreferencePage.tab.newline.tabtitle=Ne&w Lines
-CodeFormatterPreferencePage.tab.linesplit.tabtitle=Line S&plitting
-CodeFormatterPreferencePage.tab.style.tabtitle=St&yle
-
-TodoTaskPreferencePage.title=Task Tags
-
-TodoTaskPropertyPage.useworkspacesettings.label=Use &workspace settings
-TodoTaskPropertyPage.useworkspacesettings.change=&Configure Workspace Settings...
-TodoTaskPropertyPage.useprojectsettings.label=Use pr&oject settings
-
-TodoTaskConfigurationBlock.markers.tasks.high.priority=High
-TodoTaskConfigurationBlock.markers.tasks.normal.priority=Normal
-TodoTaskConfigurationBlock.markers.tasks.low.priority=Low
-TodoTaskConfigurationBlock.markers.tasks.label=&Strings indicating tasks in Java comments:
-TodoTaskConfigurationBlock.markers.tasks.add.button=Ne&w...
-TodoTaskConfigurationBlock.markers.tasks.remove.button=Remo&ve
-TodoTaskConfigurationBlock.markers.tasks.edit.button=Edi&t...
-TodoTaskConfigurationBlock.markers.tasks.name.column=Tag
-TodoTaskConfigurationBlock.markers.tasks.priority.column=Priority
-
-TodoTaskConfigurationBlock.needsbuild.title=Task Tags Settings Changed
-TodoTaskConfigurationBlock.needsfullbuild.message=The task tags settings have changed. A full rebuild is required to make changes effective. Do the full build now?
-TodoTaskConfigurationBlock.needsprojectbuild.message=The task tags settings have changed. A rebuild of the project is required to make changes effective. Do the project build now?
-
-TodoTaskInputDialog.new.title=New Task Tag
-TodoTaskInputDialog.edit.title=Edit Task Tag
-TodoTaskInputDialog.name.label=T&ag:
-TodoTaskInputDialog.priority.label=&Priority:
-TodoTaskInputDialog.priority.high=High
-TodoTaskInputDialog.priority.normal=Normal
-TodoTaskInputDialog.priority.low=Low
-TodoTaskInputDialog.error.enterName=Enter task tag name.
-TodoTaskInputDialog.error.comma=Name cannot contain a comma.
-TodoTaskInputDialog.error.entryExists=Entry with the same name already exists.
-TodoTaskInputDialog.error.noSpace=Name can not start or end with a whitespace.
-
-CompilerPreferencePage.title=Compiler
-CompilerPreferencePage.description=Options for the Java compiler:\nNote that a full rebuild is required to make changes effective.
-
-CompilerPropertyPage.useworkspacesettings.label=Use &workspace settings
-CompilerPropertyPage.useworkspacesettings.change=&Configure Workspace Settings...
-CompilerPropertyPage.useprojectsettings.label=Use pr&oject settings
-
-CompilerConfigurationBlock.style.tabtitle=&Style
-CompilerConfigurationBlock.problems.tabtitle=&Problems
-CompilerConfigurationBlock.compliance.tabtitle=&Compliance and Classfiles
-CompilerConfigurationBlock.others.tabtitle=&Build Path
-
-CompilerConfigurationBlock.style.description=Select the severity level for the following problems:
-CompilerConfigurationBlock.problems.description=Select the severity level for the following problems:
-CompilerConfigurationBlock.build_warnings.description=Select the severity level for the following build path problems:
-
-CompilerConfigurationBlock.variable_attr.label=Add &variable attributes to generated class files (used by the debugger)
-CompilerConfigurationBlock.line_number_attr.label=Add &line number attributes to generated class files (used by the debugger)
-CompilerConfigurationBlock.source_file_attr.label=Add source &file name to generated class file (used by the debugger)
-CompilerConfigurationBlock.codegen_unused_local.label=Pr&eserve unused local variables (i.e. never read)
-
-CompilerConfigurationBlock.compiler_compliance.label=C&ompiler compliance level:
-CompilerConfigurationBlock.default_settings.label=&Use default compliance settings
-CompilerConfigurationBlock.source_compatibility.label=Source co&mpatibility:
-CompilerConfigurationBlock.codegen_targetplatform.label=Ge&nerated .class files compatibility:
-CompilerConfigurationBlock.pb_assert_as_identifier.label=&Report 'assert' as identifier:
-
-CompilerConfigurationBlock.compliance.group.label=JDK Compliance
-CompilerConfigurationBlock.classfiles.group.label=Classfile Generation
-
-CompilerConfigurationBlock.pb_unreachable_code.label=&Unreachable code:
-CompilerConfigurationBlock.pb_invalid_import.label=Unresol&vable import statements:
-CompilerConfigurationBlock.pb_overriding_pkg_dflt.label=&Methods overridden but not package visible:
-CompilerConfigurationBlock.pb_method_naming.label=Me&thods with a constructor name:
-CompilerConfigurationBlock.pb_no_effect_assignment.label=Assignment has no &effect (e.g. 'x = x'):
-CompilerConfigurationBlock.pb_incompatible_interface_method.label=Conflict of interface method &with protected 'Object' method:
-
-
-CompilerConfigurationBlock.pb_hidden_catchblock.label=&Hidden catch blocks:
-CompilerConfigurationBlock.pb_static_access_receiver.label=Non-stat&ic access to static member
-CompilerConfigurationBlock.pb_unused_imports.label=Unus&ed imports:
-CompilerConfigurationBlock.pb_unused_local.label=Unused &local variables (i.e. never read):
-CompilerConfigurationBlock.pb_unused_parameter.label=U&nused parameters (i.e. never read):
-CompilerConfigurationBlock.pb_unused_private.label=Unused private &types, methods or fields:
-CompilerConfigurationBlock.pb_non_externalized_strings.label=Usage of non-e&xternalized strings:
-CompilerConfigurationBlock.pb_deprecation.label=Usa&ge of deprecated API:
-CompilerConfigurationBlock.pb_deprecation_in_deprecation.label=Signal use &of deprecated API inside deprecated code.
-
-CompilerConfigurationBlock.pb_synth_access_emul.label=Access to a &non-accessible member of an enclosing type:
-CompilerConfigurationBlock.pb_char_array_in_concat.label=&Using a char array in string concatenation:
-CompilerConfigurationBlock.pb_incomplete_build_path.label=&Incomplete build path:
-CompilerConfigurationBlock.pb_build_path_cycles.label=Circular d&ependencies:
-CompilerConfigurationBlock.pb_duplicate_resources.label=D&uplicated resources:
-CompilerConfigurationBlock.pb_max_per_unit.label=Ma&ximum number of problems reported per compilation unit:
-
-
-CompilerConfigurationBlock.resource_filter.description=Enter resources and resource types that should not be copied to the output folder during a build. List is comma separated (e.g. '*.doc, plugin.xml, scripts/')
-CompilerConfigurationBlock.resource_filter.label=Filtered &Resources:
-CompilerConfigurationBlock.build_invalid_classpath.label=Ab&ort building on build path errors
-CompilerConfigurationBlock.build_clean_outputfolder.label=Scrub output folders o&n full build
-CompilerConfigurationBlock.enable_exclusion_patterns.label=Enable using e&xclusion patterns in source folders
-CompilerConfigurationBlock.enable_multiple_outputlocations.label=Enable using &multiple output locations for source folders
-
-CompilerConfigurationBlock.error=Error
-CompilerConfigurationBlock.warning=Warning
-CompilerConfigurationBlock.ignore=Ignore
-
-CompilerConfigurationBlock.version11=1.1
-CompilerConfigurationBlock.version12=1.2
-CompilerConfigurationBlock.version13=1.3
-CompilerConfigurationBlock.version14=1.4
-
-CompilerConfigurationBlock.needsbuild.title=Compiler Settings Changed
-CompilerConfigurationBlock.needsfullbuild.message=The compiler settings have changed. A full rebuild is required to make changes effective. Do the full build now?
-CompilerConfigurationBlock.needsprojectbuild.message=The compiler settings have changed. A rebuild of the project is required to make changes effective. Do the project build now?
-
-CompilerConfigurationBlock.cpl13src14.error=In 1.3 compliance level, source compatibility can not be 1.4
-CompilerConfigurationBlock.cpl13trg14.error=In 1.3 compliance level, the classfile compatibility can not be 1.4
-CompilerConfigurationBlock.src14asrterr.error=When source compatibility is 1.4, 'assert' cannot be an identifier.
-CompilerConfigurationBlock.src14tgt14.error=When source compatibility is 1.4, the classfile compatibility has to be 1.4.
-
-CompilerConfigurationBlock.empty_input=Number of problems can not be empty.
-CompilerConfigurationBlock.invalid_input={0} is not a valid number of problems.
-
-CompilerConfigurationBlock.filter.invalidsegment.error=Filter is invalid: {0}
-
-OptionsConfigurationBlock.builderror.title=Preference Changes
-OptionsConfigurationBlock.builderror.message=Problem while building. Check log for details.
-
-OptionsConfigurationBlock.buildall.taskname=Build all...
-OptionsConfigurationBlock.buildproject.taskname=Build project ''{0}''...
-
-CodeGenerationPreferencePage.title=&Code Generation
-CodeGenerationPreferencePage.description=Options for Code Generation:
-
-CodeGenerationPreferencePage.tab.names.tabtitle=&Names
-CodeGenerationPreferencePage.tab.templates.tabtitle=&Code and Comments
-
-NameConventionConfigurationBlock.field.label=Fields
-NameConventionConfigurationBlock.static.label=Static Fields
-NameConventionConfigurationBlock.arg.label=Parameters
-NameConventionConfigurationBlock.local.label=Local Variables
-
-NameConventionConfigurationBlock.dialog.prefix=P&refix list:
-NameConventionConfigurationBlock.dialog.suffix=S&uffix list:
-
-NameConventionConfigurationBlock.error.emptyprefix=Prefix strings can not contain an empty entry.
-NameConventionConfigurationBlock.error.emptysuffix=Suffix strings can not contain an empty entry.
-NameConventionConfigurationBlock.error.invalidprefix={0} is not a valid prefix.
-NameConventionConfigurationBlock.error.invalidsuffix={0} is not a valid suffix.
-
-NameConventionConfigurationBlock.list.label=C&onventions for variable names:
-NameConventionConfigurationBlock.list.edit.button=&Edit...
-NameConventionConfigurationBlock.list.name.column=Variable type
-NameConventionConfigurationBlock.list.prefix.column=Prefix list
-NameConventionConfigurationBlock.list.suffix.column=Suffix list
-
-NameConventionConfigurationBlock.field.dialog.title=Field Name Conventions
-NameConventionConfigurationBlock.field.dialog.message=Specify prefix and suffix to be used for fields (comma separated):
-
-NameConventionConfigurationBlock.static.dialog.title=Static Field Name Conventions
-NameConventionConfigurationBlock.static.dialog.message=Specify prefix and suffix to be used for static fields (comma separated):
-
-NameConventionConfigurationBlock.arg.dialog.title=Parameter Name Conventions
-NameConventionConfigurationBlock.arg.dialog.message=Specify prefix and suffix to be used for parameters (comma separated):
-
-NameConventionConfigurationBlock.local.dialog.title=Local Variable Name Conventions
-NameConventionConfigurationBlock.local.dialog.message=Specify prefix and suffix to be used for local variables (comma separated):
-
-MembersOrderPreferencePage.fields.label=Fields
-MembersOrderPreferencePage.constructors.label=Constructors
-MembersOrderPreferencePage.methods.label=Methods
-MembersOrderPreferencePage.staticfields.label=Static Fields
-MembersOrderPreferencePage.staticmethods.label=Static Methods
-MembersOrderPreferencePage.initialisers.label=Initializers
-MembersOrderPreferencePage.staticinitialisers.label=Static Initializers
-MembersOrderPreferencePage.types.label=Types
-
-CodeTemplateBlock.templates.comment.node=Comments
-CodeTemplateBlock.templates.code.node=Code
-
-CodeTemplateBlock.catchblock.label=Catch block body
-CodeTemplateBlock.methodstub.label=Method body
-CodeTemplateBlock.constructorstub.label=Constructor body
-CodeTemplateBlock.newtype.label=New Java files
-CodeTemplateBlock.typecomment.label=Types
-CodeTemplateBlock.methodcomment.label=Methods
-CodeTemplateBlock.overridecomment.label=Overriding methods
-CodeTemplateBlock.constructorcomment.label=Constructors
-
-CodeTemplateBlock.templates.edit.button=&Edit...
-CodeTemplateBlock.templates.import.button=&Import...
-CodeTemplateBlock.templates.export.button=E&xport...
-CodeTemplateBlock.templates.exportall.button=Ex&port All...
-
-CodeTemplateBlock.createcomment.label=A&utomatically add comments for new methods and types
-CodeTemplateBlock.createcomment.description=(does not apply to comments contained in the code patterns)
-CodeTemplateBlock.templates.label=C&onfigure generated code and comments:
-CodeTemplateBlock.preview=Pa&ttern:
-
-CodeTemplateBlock.import.title=Importing Templates
-CodeTemplateBlock.import.extension=*.xml
-
-CodeTemplateBlock.export.title=Exporting {0} Code Template(s)
-CodeTemplateBlock.export.filename=codetemplates.xml
-CodeTemplateBlock.export.extension=*.xml
-
-CodeTemplateBlock.export.exists.title=Exporting Code Templates
-CodeTemplateBlock.export.exists.message={0} already exists.\nDo you want to replace it?
-
-CodeTemplateBlock.error.read.title= Code Templates
-CodeTemplateBlock.error.read.message= Failed to read templates.
-
-CodeTemplateBlock.error.parse.message= Failed to parse templates:\n{0}
-
-CodeTemplateBlock.error.write.title=Code Templates
-CodeTemplateBlock.error.write.message=Failed to write templates.
-
-CodeTemplateBlock.export.error.title= Exporting Templates
-CodeTemplateBlock.export.error.hidden= Export failed.\n{0} is a hidden file.
-CodeTemplateBlock.export.error.canNotWrite= Export failed.\n{0} can not be modified.
-CodeTemplateBlock.export.error.fileNotFound= Export failed:\n{0}
-
-JavaEditorPreferencePage.AnnotationDecoration.NONE=None
-JavaEditorPreferencePage.AnnotationDecoration.SQUIGGLIES=Squiggles
-JavaEditorPreferencePage.AnnotationDecoration.UNDERLINE=Underline
-JavaEditorPreferencePage.AnnotationDecoration.BOX=Box
-JavaEditorPreferencePage.AnnotationDecoration.IBEAM=IBeam
public static final String EDITOR_EVALUTE_TEMPORARY_PROBLEMS = null;
public static final String EDITOR_CORRECTION_INDICATION = null;
- public static final String PHP_OUTLINE_CLASS = "_php_outline_class"; //$NON-NLS-1$
- public static final String PHP_OUTLINE_FUNC = "_php_outline_func"; //$NON-NLS-1$
- public static final String PHP_OUTLINE_VAR = "_php_outline_var"; //$NON-NLS-1$
-
public static final String PHP_OBFUSCATOR_DEFAULT = "_php_obfuscator_default";
public static final String PHP_BOOKMARK_DEFAULT = "_php_bookmark_default";
+++ /dev/null
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
- IBM Corporation - Initial implementation
- Klaus Hartlage - www.eclipseproject.de
-**********************************************************************/
-package net.sourceforge.phpeclipse;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- *
- * @author khartlage
- */
-public class PHPOutlinePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- public PHPOutlinePreferencePage() {
- super(FieldEditorPreferencePage.GRID);
- //Initialize the preference store we wish to use
- setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
- }
-
- protected void createFieldEditors() {
- final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
-
-
- BooleanFieldEditor outlineShowClass =
- new BooleanFieldEditor(PHPeclipsePlugin.PHP_OUTLINE_CLASS, "Show classes in outline", getFieldEditorParent());
- BooleanFieldEditor outlineShowFunc =
- new BooleanFieldEditor(PHPeclipsePlugin.PHP_OUTLINE_FUNC, "Show functions in outline", getFieldEditorParent());
- BooleanFieldEditor outlineShowVar =
- new BooleanFieldEditor(PHPeclipsePlugin.PHP_OUTLINE_VAR, "Show variables in outline", getFieldEditorParent());
-
- addField(outlineShowClass);
- addField(outlineShowFunc);
- addField(outlineShowVar);
- }
-
- /**
- * @see IWorkbenchPreferencePage#init
- */
- public void init(IWorkbench workbench) {
- }
-
-}
// store.setDefault(RESOURCE_BUNDLE_DE, "false");
// store.setDefault(RESOURCE_BUNDLE_FR, "false");
// store.setDefault(RESOURCE_BUNDLE_ES, "false");
- store.setDefault(PHP_OUTLINE_CLASS, "true"); //$NON-NLS-1$
- store.setDefault(PHP_OUTLINE_FUNC, "true"); //$NON-NLS-1$
- store.setDefault(PHP_OUTLINE_VAR, "true"); //$NON-NLS-1$
TemplatePreferencePage.initDefaults(store);
//this will initialize the static fields in the syntaxrdr class
new PHPSyntaxRdr();
public class Messages {
- private final static String RESOURCE_BUNDLE= "com.bdaum.overlayPages.Messages";//$NON-NLS-1$
+ private final static String RESOURCE_BUNDLE= "net.sourceforge.phpeclipse.overlayPages.Messages";//$NON-NLS-1$
private static ResourceBundle fgResourceBundle = null;