diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuildCommandParser.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuildCommandParser.java
index e9bf2571aef..42ee4cf01ee 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuildCommandParser.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuildCommandParser.java
@@ -40,6 +40,8 @@ import org.eclipse.core.runtime.jobs.Job;
*
* Note: IErrorParser interface is used here to work around {@link ConsoleOutputSniffer} having
* no access from CDT core to build packages. TODO - elaborate?
+ *
+ * @since 7.2
*/
public abstract class AbstractBuildCommandParser extends AbstractLanguageSettingsOutputScanner
implements ICConsoleParser, IErrorParser {
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java
index 9230eff9c4b..d2c7b7b994f 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java
@@ -67,6 +67,9 @@ import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.core.runtime.jobs.Job;
import org.w3c.dom.Element;
+/**
+ * @since 7.2
+ */
public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSettingsOutputScanner implements ICListenerAgent {
public static final Object JOB_FAMILY_BUILTIN_SPECS_DETECTOR = "org.eclipse.cdt.make.core.scannerconfig.AbstractBuiltinSpecsDetector";
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java
index 848f9307861..05ea657cea3 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java
@@ -54,6 +54,9 @@ import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.core.runtime.content.IContentTypeManager;
import org.w3c.dom.Element;
+/**
+ * @since 7.2
+ */
public abstract class AbstractLanguageSettingsOutputScanner extends LanguageSettingsSerializableProvider {
protected static final String ATTR_EXPAND_RELATIVE_PATHS = "expand-relative-paths"; //$NON-NLS-1$
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java
index 3ab54cf1ec7..b6227d36b36 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java
@@ -24,14 +24,14 @@ import org.eclipse.core.runtime.IPath;
/**
* A tool-integrator defines default configurations as children of the project type.
- * These provide a template for the configurations added to the user's project,
- * which are stored in the project's .cproject file.
+ * These provide a template for the configurations added to the user's project,
+ * which are stored in the project's .cproject file.
*
- * The configuration contains one child of type tool-chain. This describes how the
+ * The configuration contains one child of type tool-chain. This describes how the
* project's resources are transformed into the build artifact. The configuration can
* contain one or more children of type resourceConfiguration. These describe build
* settings of individual resources that are different from the configuration as a whole.
- *
+ *
* @since 2.1
* @noextend This class is not intended to be subclassed by clients.
* @noimplement This interface is not intended to be implemented by clients.
@@ -39,34 +39,35 @@ import org.eclipse.core.runtime.IPath;
public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesContainer {
public static final String ARTIFACT_NAME = "artifactName"; //$NON-NLS-1$
public static final String CLEAN_COMMAND = "cleanCommand"; //$NON-NLS-1$
- public static final String PREBUILD_STEP = "prebuildStep"; //$NON-NLS-1$
- public static final String POSTBUILD_STEP = "postbuildStep"; //$NON-NLS-1$
- public static final String PREANNOUNCEBUILD_STEP = "preannouncebuildStep"; //$NON-NLS-1$
- public static final String POSTANNOUNCEBUILD_STEP = "postannouncebuildStep"; //$NON-NLS-1$
+ public static final String PREBUILD_STEP = "prebuildStep"; //$NON-NLS-1$
+ public static final String POSTBUILD_STEP = "postbuildStep"; //$NON-NLS-1$
+ public static final String PREANNOUNCEBUILD_STEP = "preannouncebuildStep"; //$NON-NLS-1$
+ public static final String POSTANNOUNCEBUILD_STEP = "postannouncebuildStep"; //$NON-NLS-1$
// Schema element names
public static final String CONFIGURATION_ELEMENT_NAME = "configuration"; //$NON-NLS-1$
public static final String ERROR_PARSERS = "errorParsers"; //$NON-NLS-1$
+ /** @since 8.1 */
public static final String LANGUAGE_SETTINGS_PROVIDERS = "languageSettingsProviders";
public static final String EXTENSION = "artifactExtension"; //$NON-NLS-1$
public static final String PARENT = "parent"; //$NON-NLS-1$
-
+
public static final String DESCRIPTION = "description"; //$NON-NLS-1$
-
+
public static final String BUILD_PROPERTIES = "buildProperties"; //$NON-NLS-1$
public static final String BUILD_ARTEFACT_TYPE = "buildArtefactType"; //$NON-NLS-1$
public static final String IS_SYSTEM = "isSystem"; //$NON-NLS-1$
public static final String SOURCE_ENTRIES = "sourceEntries"; //$NON-NLS-1$
-
-
+
+
/**
* Returns the description of the configuration.
- *
+ *
* @return String
*/
public String getDescription();
-
+
/**
* Sets the description of the receiver to the value specified in the argument
*/
@@ -85,206 +86,207 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
* @param name - The name for the new tool chain
* @param isExtensionElement - set {@code true} if the toolchain being created
* represents extension point toolchain
- *
+ *
* @return IToolChain
*/
public IToolChain createToolChain(IToolChain superClass, String Id, String name, boolean isExtensionElement);
-
+
/**
- * Returns the extension that should be applied to build artifacts created by
+ * Returns the extension that should be applied to build artifacts created by
* this configuration.
- *
+ *
* @return String
*/
- public String getArtifactExtension();
+ public String getArtifactExtension();
/**
* Returns the name of the final build artifact.
- *
+ *
* @return String
*/
public String getArtifactName();
/**
- * Returns the build arguments from this configuration's builder
- *
+ * Returns the build arguments from this configuration's builder
+ *
* @return String
*/
public String getBuildArguments();
/**
- * Returns the build command from this configuration's builder
- *
+ * Returns the build command from this configuration's builder
+ *
* @return String
*/
public String getBuildCommand();
-
+
/**
* Returns the prebuild step command
- *
- * @return String
- */
- public String getPrebuildStep();
-
- /**
- * Returns the postbuild step command
- *
- * @return String
- */
- public String getPostbuildStep();
-
- /**
- * Returns the display string associated with the prebuild step
- *
- * @return String
- */
- public String getPreannouncebuildStep();
-
- /**
- * Returns the display string associated with the postbuild step
- *
- * @return String
- */
- public String getPostannouncebuildStep();
-
- /**
+ *
+ * @return String
+ */
+ public String getPrebuildStep();
+
+ /**
+ * Returns the postbuild step command
+ *
+ * @return String
+ */
+ public String getPostbuildStep();
+
+ /**
+ * Returns the display string associated with the prebuild step
+ *
+ * @return String
+ */
+ public String getPreannouncebuildStep();
+
+ /**
+ * Returns the display string associated with the postbuild step
+ *
+ * @return String
+ */
+ public String getPostannouncebuildStep();
+
+ /**
* Answers the OS-specific command to remove files created by the build
* of this configuration.
- *
+ *
* @return String
*/
public String getCleanCommand();
/**
- * Answers the semicolon separated list of unique IDs of the error parsers associated
+ * Answers the semicolon separated list of unique IDs of the error parsers associated
* with this configuration.
- *
+ *
* @return String
*/
public String getErrorParserIds();
/**
- * Answers the ordered list of unique IDs of the error parsers associated
+ * Answers the ordered list of unique IDs of the error parsers associated
* with this configuration.
- *
+ *
* @return String[]
*/
public String[] getErrorParserList();
-
+
+ /** @since 8.1 */
public String getDefaultLanguageSettingsProvidersIds();
/**
- * Projects have C or CC natures. Tools can specify a filter so they are not
- * misapplied to a project. This method allows the caller to retrieve a list
- * of tools from a project that are correct for a project's nature.
- *
- * @return an array of ITools that have compatible filters
+ * Projects have C or CC natures. Tools can specify a filter so they are not
+ * misapplied to a project. This method allows the caller to retrieve a list
+ * of tools from a project that are correct for a project's nature.
+ *
+ * @return an array of ITools that have compatible filters
* for this configuration.
*/
ITool[] getFilteredTools();
-
+
/**
* Returns the managed-project parent of this configuration, if this is a
* project configuration. Otherwise, returns null.
- *
+ *
* @return IManagedProject
*/
public IManagedProject getManagedProject();
-
+
/**
* Returns the Eclipse project that owns the configuration.
- *
+ *
* @return IResource
*/
public IResource getOwner();
-
+
/**
- * Returns the configuration that this configuration is based on.
- *
+ * Returns the configuration that this configuration is based on.
+ *
* @return IConfiguration
*/
public IConfiguration getParent();
-
+
/**
* Returns the project-type parent of this configuration, if this is an
* extension configuration. Otherwise, returns null.
- *
+ *
* @return IProjectType
*/
public IProjectType getProjectType();
-
+
/**
* @param path - path of the resource
- *
+ *
* @return the resource configuration child of this configuration
* that is associated with the project resource, or null if none.
*/
public IResourceConfiguration getResourceConfiguration(String path);
-
+
/**
* Returns the resource configuration children of this configuration.
- *
+ *
* @return IResourceConfigurations[]
*/
public IResourceConfiguration[] getResourceConfigurations();
-
+
/**
* Returns the ITool in this configuration's tool-chain with
- * the same id as the argument, or null.
- *
+ * the same id as the argument, or null.
+ *
* @param id unique identifier to search for
* @return ITool
*/
public ITool getTool(String id);
/**
- * Returns the ITool in this configuration's tool-chain with
- * the specified ID, or the tool(s) with a superclass with this id.
- *
- *
If the tool-chain does not have a tool with that ID, the method
- * returns an empty array. It is the responsibility of the caller to
- * verify the return value.
- *
+ * Returns the ITool in this configuration's tool-chain with
+ * the specified ID, or the tool(s) with a superclass with this id.
+ *
+ *
If the tool-chain does not have a tool with that ID, the method
+ * returns an empty array. It is the responsibility of the caller to
+ * verify the return value.
+ *
* @param id unique identifier of the tool to search for
* @return ITool[]
* @since 3.0.2
*/
public ITool[] getToolsBySuperClassId(String id);
-
+
/**
* Returns the IToolChain child of this configuration.
- *
+ *
* @return IToolChain
*/
public IToolChain getToolChain();
-
+
/**
* Returns the command-line invocation command for the specified tool.
- *
+ *
* @param tool The tool that will have its command retrieved.
* @return String The command
*/
public String getToolCommand(ITool tool);
-
+
/**
* Returns the tools that are used in this configuration's tool-chain.
- *
+ *
* @return ITool[]
*/
public ITool[] getTools();
/**
- * Returns the tool in this configuration specified with
+ * Returns the tool in this configuration specified with
* the toolChain#targetTool attribute that creates the build artifact
- *
- * NOTE: This method returns null in case the toolChain definition
+ *
+ * NOTE: This method returns null in case the toolChain definition
* does not have the targetTool attribute or if the attribute does not
* refer to the appropriate tool.
* For the target tool calculation the IConfiguration#calculateTargetTool()
* method should be used
- *
+ *
* @see IConfiguration#calculateTargetTool()
- *
+ *
* @return ITool
*/
public ITool getTargetTool();
@@ -292,42 +294,42 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
/**
* Returns true if this configuration has overridden the default build
* build command in this configuration, otherwise false.
- *
- * @return boolean
+ *
+ * @return boolean
*/
public boolean hasOverriddenBuildCommand();
-
+
/**
- * Returns true if the extension matches one of the special
- * file extensions the tools for the configuration consider to be a header file.
- *
+ * Returns true if the extension matches one of the special
+ * file extensions the tools for the configuration consider to be a header file.
+ *
* @param ext the file extension of the resource
* @return boolean
*/
public boolean isHeaderFile(String ext);
-
+
/**
- * Returns true if this configuration has changes that need to
- * be saved in the project file, else false.
+ * Returns true if this configuration has changes that need to
+ * be saved in the project file, else false.
* Should not be called for an extension configuration.
- *
- * @return boolean
+ *
+ * @return boolean
*/
public boolean isDirty();
-
+
/**
* Returns true if this configuration was loaded from a manifest file,
* and false if it was loaded from a project (.cdtbuild) file.
- *
- * @return boolean
+ *
+ * @return boolean
*/
public boolean isExtensionElement();
/**
- * Returns whether this configuration has been changed and requires the
+ * Returns whether this configuration has been changed and requires the
* project to be rebuilt.
- *
- * @return true if the configuration contains a change
+ *
+ * @return true if the configuration contains a change
* that needs the project to be rebuilt.
* Should not be called for an extension configuration.
*/
@@ -335,13 +337,13 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
/**
* Removes a resource configuration from the configuration's list.
- *
+ *
* @param resConfig - resource configuration to remove
*/
public void removeResourceConfiguration(IResourceInfo resConfig);
-
+
public void removeResourceInfo(IPath path);
-
+
/**
* Set (override) the extension that should be appended to the build artifact
* for the receiver.
@@ -355,7 +357,7 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
public void setArtifactName(String name);
/**
- * Sets the arguments to be passed to the build utility used by the
+ * Sets the arguments to be passed to the build utility used by the
* receiver to produce a build goal.
*/
public void setBuildArguments(String makeArgs);
@@ -366,26 +368,26 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
public void setBuildCommand(String command);
/**
- * Sets the prebuild step for the receiver to the value in the argument.
- */
- public void setPrebuildStep(String step);
-
- /**
- * Sets the postbuild step for the receiver to the value in the argument.
- */
- public void setPostbuildStep(String step);
-
- /**
- * Sets the prebuild step display string for the receiver to the value in the argument.
- */
- public void setPreannouncebuildStep(String announceStep);
-
- /**
- * Sets the postbuild step display string for the receiver to the value in the argument.
- */
- public void setPostannouncebuildStep(String announceStep);
-
- /**
+ * Sets the prebuild step for the receiver to the value in the argument.
+ */
+ public void setPrebuildStep(String step);
+
+ /**
+ * Sets the postbuild step for the receiver to the value in the argument.
+ */
+ public void setPostbuildStep(String step);
+
+ /**
+ * Sets the prebuild step display string for the receiver to the value in the argument.
+ */
+ public void setPreannouncebuildStep(String announceStep);
+
+ /**
+ * Sets the postbuild step display string for the receiver to the value in the argument.
+ */
+ public void setPostannouncebuildStep(String announceStep);
+
+ /**
* Sets the command used to clean the outputs of this configuration.
* @param command - the command to clean outputs
*/
@@ -407,46 +409,46 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
* Sets the name of the receiver to the value specified in the argument
*/
public void setName(String name);
-
+
/**
* Sets the value of a boolean option for this configuration.
- *
+ *
* @param parent The holder/parent of the option.
* @param option The option to change.
* @param value The value to apply to the option.
- *
+ *
* @return IOption The modified option. This can be the same option or a newly created option.
- *
+ *
* @since 3.0 - The type of parent has changed from ITool to IHoldsOptions.
* Code assuming ITool as type, will continue to work unchanged.
*/
- public IOption setOption(IHoldsOptions parent, IOption option, boolean value)
- throws BuildException;
+ public IOption setOption(IHoldsOptions parent, IOption option, boolean value)
+ throws BuildException;
/**
* Sets the value of a string option for this configuration.
- *
+ *
* @param parent The holder/parent of the option.
* @param option The option that will be effected by change.
* @param value The value to apply to the option.
- *
+ *
* @return IOption The modified option. This can be the same option or a newly created option.
- *
+ *
* @since 3.0 - The type of parent has changed from ITool to IHoldsOptions.
* Code assuming ITool as type, will continue to work unchanged.
*/
public IOption setOption(IHoldsOptions parent, IOption option, String value)
throws BuildException;
-
+
/**
* Sets the value of a list option for this configuration.
- *
+ *
* @param parent The holder/parent of the option.
* @param option The option to change.
* @param value The values to apply to the option.
- *
+ *
* @return IOption The modified option. This can be the same option or a newly created option.
- *
+ *
* @since 3.0 - The type of parent has changed from ITool to IHoldsOptions.
* Code assuming ITool as type, will continue to work unchanged.
*/
@@ -455,7 +457,7 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
/**
* Sets the rebuild state in this configuration.
- *
+ *
* @param rebuild true will force a rebuild the next time the project builds
* @see org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo#setRebuildState(boolean)
*/
@@ -463,93 +465,93 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
/**
* Overrides the tool command for a tool defined in this configuration's tool-chain.
- *
+ *
* @param tool The tool that will have its command modified.
* @param command The command
*/
public void setToolCommand(ITool tool, String command);
-
+
/**
* Returns true if the configuration's tool-chain is supported on the system
* otherwise returns false
- *
- * @return boolean
- */
+ *
+ * @return boolean
+ */
public boolean isSupported();
-
+
/**
* Returns the implementation of the IConfigurationEnvironmentVariableSupplier provided
* by the tool-integrator or null if none.
- *
- * @return IConfigurationEnvironmentVariableSupplier
- */
+ *
+ * @return IConfigurationEnvironmentVariableSupplier
+ */
public IConfigurationEnvironmentVariableSupplier getEnvironmentVariableSupplier();
-
+
/**
* Returns the tool-integrator provided implementation of the configuration build macro supplier
- * or null if none.
- *
+ * or null if none.
+ *
* @return IConfigurationBuildMacroSupplier
*/
public IConfigurationBuildMacroSupplier getBuildMacroSupplier();
-
+
/**
* answers true if the configuration is temporary, otherwise - false
* @return boolean
*/
public boolean isTemporary();
-
+
/**
* Returns whether this configuration requires a full rebuild
- *
+ *
* @return boolean
*/
public boolean needsFullRebuild();
/**
* Calculates the configuration target tool.
- *
+ *
* @return ITool or null if not found
- *
+ *
* @since 3.1
*/
public ITool calculateTargetTool();
-
+
/**
- * Returns a ITool for the tool associated with the
+ * Returns a ITool for the tool associated with the
* output extension.
- *
+ *
* @param extension the file extension of the output file
* @return ITool
- *
+ *
* @since 3.1
*/
public ITool getToolFromOutputExtension(String extension);
-
+
/**
- * Returns a ITool for the tool associated with the
+ * Returns a ITool for the tool associated with the
* input extension.
- *
+ *
* @param sourceExtension the file extension of the input file
* @return ITool
- *
+ *
* @since 3.1
*/
public ITool getToolFromInputExtension(String sourceExtension);
-
+
IResourceInfo getResourceInfo(IPath path, boolean exactPath);
-
+
IResourceInfo[] getResourceInfos();
-
+
IResourceInfo getResourceInfoById(String id);
-
- IFolderInfo getRootFolderInfo();
-
+
+ IFolderInfo getRootFolderInfo();
+
IFileInfo createFileInfo(IPath path);
IFileInfo createFileInfo(IPath path, String id, String name);
-
+
IFileInfo createFileInfo(IPath path, IFolderInfo base, ITool baseTool, String id, String name);
IFileInfo createFileInfo(IPath path, IFileInfo base, String id, String name);
@@ -557,49 +559,49 @@ public interface IConfiguration extends IBuildObject, IBuildObjectPropertiesCont
IFolderInfo createFolderInfo(IPath path);
IFolderInfo createFolderInfo(IPath path, String id, String name);
-
+
IFolderInfo createFolderInfo(IPath path, IFolderInfo base, String id, String name);
-
+
CConfigurationData getConfigurationData();
-
+
ICSourceEntry[] getSourceEntries();
void setSourceEntries(ICSourceEntry[] entries);
-
+
CBuildData getBuildData();
-
+
IBuilder getBuilder();
-
+
IBuilder getEditableBuilder();
-
+
String getOutputPrefix(String outputExtension);
-
+
boolean isSystemObject();
-
+
String getOutputExtension(String resourceExtension);
-
+
String getOutputFlag(String outputExt);
-
- IManagedCommandLineInfo generateToolCommandLineInfo( String sourceExtension, String[] flags,
+
+ IManagedCommandLineInfo generateToolCommandLineInfo( String sourceExtension, String[] flags,
String outputFlag, String outputPrefix, String outputName, String[] inputResources, IPath inputLocation, IPath outputLocation );
-
+
String[] getUserObjects(String extension);
-
+
String[] getLibs(String extension);
-
+
boolean buildsFileType(String srcExt);
-
+
boolean supportsBuild(boolean managed);
-
+
boolean isManagedBuildOn();
void setManagedBuildOn(boolean on) throws BuildException;
-
+
boolean isBuilderCompatible(IBuilder builder);
-
+
void changeBuilder(IBuilder newBuilder, String id, String name);
-
+
IBuildPropertyValue getBuildArtefactType();
-
+
void setBuildArtefactType(String id) throws BuildException;
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolChain.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolChain.java
index 34a1a4331b7..2757a06b134 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolChain.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolChain.java
@@ -16,19 +16,19 @@ import org.eclipse.cdt.managedbuilder.macros.IConfigurationBuildMacroSupplier;
/**
- * This interface represents a tool-integrator-defined, ordered set of tools
- * that transform the project's input into the project's outputs. A
- * tool-chain can be defined as part of a configuration, or as an
+ * This interface represents a tool-integrator-defined, ordered set of tools
+ * that transform the project's input into the project's outputs. A
+ * tool-chain can be defined as part of a configuration, or as an
* independent specification that is referenced in a separate configuration
* via the toolChain superclass attribute.
*
* The toolChain contains one or more children of type tool. These define
- * the tools used in the tool-chain. The toolChain contains one child of
+ * the tools used in the tool-chain. The toolChain contains one child of
* type targetPlatform. This defines the architecture/os combination where
- * the outputs of the project can be deployed. The toolChain contains one
+ * the outputs of the project can be deployed. The toolChain contains one
* child of type builder. This defines the "build" or "make" utility that
* is used to drive the transformation of the inputs into outputs.
- *
+ *
* @since 2.1
* @noextend This class is not intended to be subclassed by clients.
* @noimplement This interface is not intended to be implemented by clients.
@@ -49,15 +49,16 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
public static final String IS_SYSTEM= "isSystem"; //$NON-NLS-1$
public static final String NON_INTERNAL_BUILDER_ID = "nonInternalBuilderId"; //$NON-NLS-1$
public static final String RESOURCE_TYPE_BASED_DISCOVERY = "resourceTypeBasedDiscovery"; //$NON-NLS-1$
-
+
// The attribute name for the scanner info collector
public static final String SCANNER_CONFIG_PROFILE_ID = "scannerConfigDiscoveryProfileId"; //$NON-NLS-1$
+ /** @since 8.1 */
public static final String LANGUAGE_SETTINGS_PROVIDERS = "languageSettingsProviders";
/**
* Returns the configuration that is the parent of this tool-chain.
- *
+ *
* @return IConfiguration
*/
public IConfiguration getParent();
@@ -69,14 +70,14 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
* @param Id The id for the new tool chain
* @param name The name for the new tool chain
* @param isExtensionElement Indicates whether this is an extension element or a managed project element
- *
+ *
* @return ITargetPlatform
*/
public ITargetPlatform createTargetPlatform(ITargetPlatform superClass, String Id, String name, boolean isExtensionElement);
/**
* Returns the target-platform child of this tool-chain
- *
+ *
* @return ITargetPlatform
*/
public ITargetPlatform getTargetPlatform();
@@ -89,30 +90,30 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
/**
* Returns the 'versionsSupported' of this tool-chain
- *
+ *
* @return String
*/
public String getVersionsSupported();
/**
* Returns the 'convertToId' of this tool-chain
- *
+ *
* @return String
*/
public String getConvertToId();
-
+
/**
- * Sets the 'versionsSupported' attribute of the tool-chain.
+ * Sets the 'versionsSupported' attribute of the tool-chain.
*/
-
+
public void setVersionsSupported(String versionsSupported);
-
+
/**
- * Sets the 'convertToId' attribute of the tool-chain.
+ * Sets the 'convertToId' attribute of the tool-chain.
*/
public void setConvertToId(String convertToId);
-
+
/**
* Creates the Builder child of this tool-chain.
*
@@ -120,7 +121,7 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
* @param Id The id for the new tool chain
* @param name The name for the new tool chain
* @param isExtensionElement Indicates whether this is an extension element or a managed project element
- *
+ *
* @return IBuilder
*/
public IBuilder createBuilder(IBuilder superClass, String Id, String name, boolean isExtensionElement);
@@ -133,7 +134,7 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
/**
* Returns the builder child of this tool-chain.
- *
+ *
* @return IBuilder
*/
public IBuilder getBuilder();
@@ -145,35 +146,35 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
* @param Id The id for the new tool chain
* @param name The name for the new tool chain
* @param isExtensionElement Indicates whether this is an extension element or a managed project element
- *
+ *
* @return ITool
*/
public ITool createTool(ITool superClass, String Id, String name, boolean isExtensionElement);
/**
* Returns an array of tool children of this tool-chain
- *
+ *
* @return ITool[]
*/
public ITool[] getTools();
/**
- * Returns the tool in this tool-chain with the ID specified in the argument,
- * or null
- *
+ * Returns the tool in this tool-chain with the ID specified in the argument,
+ * or null
+ *
* @param id The ID of the requested tool
* @return ITool
*/
public ITool getTool(String id);
/**
- * Returns the ITool in the tool-chain with the specified
- * ID, or the tool(s) with a superclass with this id.
- *
- *
If the tool-chain does not have a tool with that ID, the method
- * returns an empty array. It is the responsibility of the caller to
- * verify the return value.
- *
+ * Returns the ITool in the tool-chain with the specified
+ * ID, or the tool(s) with a superclass with this id.
+ *
+ *
If the tool-chain does not have a tool with that ID, the method
+ * returns an empty array. It is the responsibility of the caller to
+ * verify the return value.
+ *
* @param id unique identifier of the tool to search for
* @return ITool[]
* @since 3.0.2
@@ -183,55 +184,55 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
/**
* Returns the IToolChain that is the superclass of this
* tool-chain, or null if the attribute was not specified.
- *
+ *
* @return IToolChain
*/
public IToolChain getSuperClass();
-
+
/**
* Returns whether this element is abstract. Returns false
* if the attribute was not specified.
- * @return boolean
+ * @return boolean
*/
public boolean isAbstract();
/**
- * Sets the isAbstract attribute of the tool-chain.
+ * Sets the isAbstract attribute of the tool-chain.
*/
public void setIsAbstract(boolean b);
-
+
/**
* Returns a semi-colon delimited list of child Ids of the superclass'
* children that should not be automatically inherited by this element.
- * Returns an empty string if the attribute was not specified.
- * @return String
+ * Returns an empty string if the attribute was not specified.
+ * @return String
*/
public String getUnusedChildren();
-
+
/**
* Returns an array of operating systems the tool-chain outputs can run on.
- *
+ *
* @return String[]
*/
public String[] getOSList();
/**
* Sets the OS list.
- *
+ *
* @param OSs The list of OS names
*/
public void setOSList(String[] OSs);
-
+
/**
* Returns an array of architectures the tool-chain outputs can run on.
- *
+ *
* @return String[]
*/
public String[] getArchList();
-
+
/**
* Sets the architecture list.
- *
+ *
* @param archs The list of architecture names
*/
public void setArchList(String[] archs);
@@ -239,7 +240,7 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
/**
* Returns the semicolon separated list of unique IDs of the error parsers associated
* with the tool-chain.
- *
+ *
* @return String
*/
public String getErrorParserIds();
@@ -251,9 +252,9 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
public String getErrorParserIds(IConfiguration config);
/**
- * Returns the ordered list of unique IDs of the error parsers associated with the
+ * Returns the ordered list of unique IDs of the error parsers associated with the
* tool-chain.
- *
+ *
* @return String[]
*/
public String[] getErrorParserList();
@@ -267,12 +268,14 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
* Returns the default language settings providers IDs.
*
* @return the default language settings providers IDs separated by semicolon or {@code null} if none.
+ *
+ * @since 8.1
*/
public String getDefaultLanguageSettingsProvidersIds();
/**
- * Returns the scanner config discovery profile id or null if none.
- *
+ * Returns the scanner config discovery profile id or null if none.
+ *
* @return String
*/
public String getScannerConfigDiscoveryProfileId();
@@ -283,93 +286,93 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
public void setScannerConfigDiscoveryProfileId(String profileId);
/**
- * Returns the sem-colon separated list of Tool ids containing each
- * tool that can create the final build artifact (the end target of
- * the build). MBS will use the first ID in the list that matches
- * a Tool in the ToolChain. One reason for specifying a list, is
- * that different versions of a tool can be selected based upon the
+ * Returns the sem-colon separated list of Tool ids containing each
+ * tool that can create the final build artifact (the end target of
+ * the build). MBS will use the first ID in the list that matches
+ * a Tool in the ToolChain. One reason for specifying a list, is
+ * that different versions of a tool can be selected based upon the
* project nature (e.g. different tool definitions for a linker for C vs. C++).
- *
+ *
* @return String
*/
public String getTargetToolIds();
/**
- * Sets the sem-colon separated list of Tool ids containing each
- * tool that can create the final build artifact (the end target of
- * the build).
+ * Sets the sem-colon separated list of Tool ids containing each
+ * tool that can create the final build artifact (the end target of
+ * the build).
*/
public void setTargetToolIds(String targetToolIds);
/**
- * Returns the list of Tool ids containing each
- * tool that can create the final build artifact (the end target of
- * the build). MBS will use the first ID in the list that matches
- * a Tool in the ToolChain. One reason for specifying a list, is
- * that different versions of a tool can be selected based upon the
+ * Returns the list of Tool ids containing each
+ * tool that can create the final build artifact (the end target of
+ * the build). MBS will use the first ID in the list that matches
+ * a Tool in the ToolChain. One reason for specifying a list, is
+ * that different versions of a tool can be selected based upon the
* project nature (e.g. different tool definitions for a linker for C vs. C++).
- *
+ *
* @return String[]
*/
public String[] getTargetToolList();
-
+
/**
- * Returns the OutputTypes in this tool-chain, besides the primary
- * output of the targetTool, that are also considered to be build
- * artifacts.
- *
+ * Returns the OutputTypes in this tool-chain, besides the primary
+ * output of the targetTool, that are also considered to be build
+ * artifacts.
+ *
* @return IOutputType[]
*/
public IOutputType[] getSecondaryOutputs();
-
+
/**
- * Sets the semicolon separated list of OutputType identifiers in
+ * Sets the semicolon separated list of OutputType identifiers in
* this tool-chain, besides the primary output of the targetTool,
- * that are also considered to be build artifacts.
+ * that are also considered to be build artifacts.
*/
public void setSecondaryOutputs(String ids);
/**
- * Returns true if this tool-chain has changes that need to
+ * Returns true if this tool-chain has changes that need to
* be saved in the project file, else false.
- *
- * @return boolean
+ *
+ * @return boolean
*/
public boolean isDirty();
-
+
/**
* Sets the element's "dirty" (have I been modified?) flag.
*/
public void setDirty(boolean isDirty);
-
+
/**
* Returns true if this tool-chain was loaded from a manifest file,
* and false if it was loaded from a project (.cdtbuild) file.
- *
- * @return boolean
+ *
+ * @return boolean
*/
public boolean isExtensionElement();
-
+
/**
* Returns true if the tool-chain support is installed on the system
* otherwise returns false
- *
- * @return boolean
- */
+ *
+ * @return boolean
+ */
public boolean isSupported();
-
+
/**
* Returns the tool-integrator provided implementation of the configuration environment variable supplier
- * or null if none.
- *
+ * or null if none.
+ *
* @return IConfigurationEnvironmentVariableSupplier
*/
public IConfigurationEnvironmentVariableSupplier getEnvironmentVariableSupplier();
-
+
/**
* Returns the tool-integrator provided implementation of the configuration build macro supplier
- * or null if none.
- *
+ * or null if none.
+ *
* @return IConfigurationBuildMacroSupplier
*/
public IConfigurationBuildMacroSupplier getBuildMacroSupplier();
@@ -379,16 +382,16 @@ public interface IToolChain extends IBuildObject, IHoldsOptions {
* or null, if no conversion is required
*/
public IOptionPathConverter getOptionPathConverter() ;
-
+
IFolderInfo getParentFolderInfo();
-
+
CTargetPlatformData getTargetPlatformData();
-
+
boolean supportsBuild(boolean managed);
-
+
boolean isSystemObject();
-
+
boolean matches(IToolChain tc);
-
+
String getUniqueRealName();
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/scannerconfig/ToolchainBuiltinSpecsDetector.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/scannerconfig/ToolchainBuiltinSpecsDetector.java
index c8fb17ca9be..802f4551f7f 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/scannerconfig/ToolchainBuiltinSpecsDetector.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/scannerconfig/ToolchainBuiltinSpecsDetector.java
@@ -21,6 +21,9 @@ import org.eclipse.cdt.managedbuilder.core.IToolChain;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
+/**
+ * @since 8.1
+ */
public abstract class ToolchainBuiltinSpecsDetector extends AbstractBuiltinSpecsDetector {
private Map toolMap = new HashMap();
/**
@@ -33,7 +36,7 @@ public abstract class ToolchainBuiltinSpecsDetector extends AbstractBuiltinSpecs
if (langTool != null) {
return langTool;
}
-
+
String toolchainId = getToolchainId();
IToolChain toolchain = ManagedBuildManager.getExtensionToolChain(toolchainId);
if (toolchain != null) {
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java
index d0b4433aa57..2968615327e 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java
@@ -94,6 +94,7 @@ public class MBSWizardHandler extends CWizardHandler {
private static final String PROP_VAL = PROPERTY + ".debug"; //$NON-NLS-1$
private static final String UI_USER_LANGUAGE_SETTINGS_PROVIDER = "org.eclipse.cdt.ui.user.LanguageSettingsProvider";
+ /** @since 8.1 */
public static final String MBS_LANGUAGE_SETTINGS_PROVIDER = "org.eclipse.cdt.managedbuilder.core.LanguageSettingsProvider";
private static final String LANGUAGE_SETTINGS_PROVIDER_DELIMITER = ";";
@@ -885,6 +886,9 @@ public class MBSWizardHandler extends CWizardHandler {
return "";
}
+ /**
+ * @since 8.1
+ */
public static List getLanguageSettingsProviders(IConfiguration cfg) {
List providers = new ArrayList();
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewMakeProjFromExistingPage.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewMakeProjFromExistingPage.java
index 22a07ea68ba..2ac6b45746b 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewMakeProjFromExistingPage.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewMakeProjFromExistingPage.java
@@ -53,7 +53,7 @@ public class NewMakeProjFromExistingPage extends WizardPage {
IWorkspaceRoot root;
List tcList;
Map tcMap = new HashMap();
-
+
private Button checkBoxTryNewSD;
@@ -233,6 +233,10 @@ public class NewMakeProjFromExistingPage extends WizardPage {
return selection.length != 0 ? tcMap.get(selection[0]) : null;
}
+ /**
+ * AG FIXME temporary method to be removed before CDT Juno release.
+ * @since 8.1
+ */
public boolean isTryingNewSD() {
return checkBoxTryNewSD.getSelection();
}
diff --git a/core/org.eclipse.cdt.core/.settings/.api_filters b/core/org.eclipse.cdt.core/.settings/.api_filters
new file mode 100644
index 00000000000..10c87060341
--- /dev/null
+++ b/core/org.eclipse.cdt.core/.settings/.api_filters
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ICListenerAgent.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ICListenerAgent.java
index 087992c1d21..ca5368fbf5b 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ICListenerAgent.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ICListenerAgent.java
@@ -25,6 +25,8 @@ import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
* Implementers are to create a specific listener and register it to
* appropriate event manager in {@link #registerListener(ICConfigurationDescription)}
* then unregister and dispose in {@link #unregisterListener()}.
+ *
+ * @since 5.4
*/
public interface ICListenerAgent {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsBroadcastingProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsBroadcastingProvider.java
index 68a1b95da54..143be533f12 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsBroadcastingProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsBroadcastingProvider.java
@@ -19,6 +19,8 @@ import org.eclipse.core.resources.IResource;
/**
* This interface is to be implemented by providers which want to broadcast the changes in their setting entries
* with {@link ILanguageSettingsChangeEvent}.
+ *
+ * @since 5.4
*/
public interface ILanguageSettingsBroadcastingProvider extends ILanguageSettingsProvider {
@Override
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeEvent.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeEvent.java
index fca6b4a60ef..8bcb1046571 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeEvent.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeEvent.java
@@ -28,6 +28,8 @@ import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ *
+ * @since 5.4
*/
public interface ILanguageSettingsChangeEvent {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeListener.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeListener.java
index 2c3ca4c7886..4f5d5697efe 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeListener.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsChangeListener.java
@@ -17,6 +17,8 @@ import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
*
* @see LanguageSettingsManager#registerLanguageSettingsChangeListener(ILanguageSettingsChangeListener)
* @see LanguageSettingsManager#unregisterLanguageSettingsChangeListener(ILanguageSettingsChangeListener)
+ *
+ * @since 5.4
*/
public interface ILanguageSettingsChangeListener {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsEditableProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsEditableProvider.java
index 3ba6e16d52c..fe282cb6360 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsEditableProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsEditableProvider.java
@@ -22,6 +22,8 @@ import org.eclipse.core.resources.IResource;
* contrary to some subclasses of {@link LanguageSettingsSerializableProvider} managing
* their settings themselves and not providing such option to the user.
*
+ * @since 5.4
+ *
*/
public interface ILanguageSettingsEditableProvider extends ILanguageSettingsBroadcastingProvider, Cloneable {
@Override
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvider.java
index 1dee2448905..f60b313bd6e 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvider.java
@@ -39,6 +39,8 @@ import org.eclipse.core.resources.IResource;
* plugins {@code AbstractBuildCommandParser} and {@code AbstractBuiltinSpecsDetector} which
* serve as a base for output parsers and built-in compiler language settings detectors.
* See also extension point schema description LanguageSettingsProvider.exsd.
+ *
+ * @since 5.4
*/
public interface ILanguageSettingsProvider {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvidersKeeper.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvidersKeeper.java
index 51dc65f05e5..c25e3922af6 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvidersKeeper.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ILanguageSettingsProvidersKeeper.java
@@ -18,6 +18,8 @@ import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
* Providers.
* @see ILanguageSettingsProvider
*
+ * @since 5.4
+ *
*/
public interface ILanguageSettingsProvidersKeeper {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsBaseProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsBaseProvider.java
index 21e2879b096..048523fc461 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsBaseProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsBaseProvider.java
@@ -29,6 +29,8 @@ import org.eclipse.core.resources.IResource;
*
* This implementation supports "static" list of entries for languages specified in
* the extension point.
+ *
+ * @since 5.4
*/
public class LanguageSettingsBaseProvider extends AbstractExecutableExtensionBase implements ILanguageSettingsProvider {
/** Language scope, i.e. list of languages the entries will be provided for. */
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java
index 8a7e8db180c..74f2bfc12ce 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java
@@ -16,6 +16,8 @@ package org.eclipse.cdt.core.language.settings.providers;
* The instances of this class can be used in plugin.xml to create a new provider
* but this class is not intended to be extended. For more details how to create a
* language settings provider see the description of {@link ILanguageSettingsProvider}.
+ *
+ * @since 5.4
*/
final public class LanguageSettingsGenericProvider extends LanguageSettingsSerializableProvider
implements ILanguageSettingsEditableProvider {
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsManager.java
index 4aa43ae7290..64554799e38 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsManager.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsManager.java
@@ -34,6 +34,8 @@ import org.eclipse.core.runtime.IPath;
/**
* A collection of utility methods to manage language settings providers.
* See {@link ILanguageSettingsProvider}.
+ *
+ * @since 5.4
*/
public class LanguageSettingsManager {
/**
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableProvider.java
index 936429c73e1..577de48e4a7 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableProvider.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableProvider.java
@@ -38,6 +38,8 @@ import org.w3c.dom.NodeList;
* design. Implement {@link ILanguageSettingsEditableProvider} interface for that.
* For more on the suggested way of extending this class see the description of
* {@link ILanguageSettingsProvider}.
+ *
+ * @since 5.4
*/
public class LanguageSettingsSerializableProvider extends LanguageSettingsBaseProvider implements ILanguageSettingsBroadcastingProvider {
protected static final String ATTR_ID = LanguageSettingsProvidersSerializer.ATTR_ID;
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsStorage.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsStorage.java
index 7ed56cb75ae..72f72333e41 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsStorage.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsStorage.java
@@ -25,6 +25,8 @@ import org.eclipse.cdt.internal.core.parser.util.WeakHashSet;
/**
* The class representing the (in-memory) storage for language settings entries {@link ICLanguageSettingEntry}.
+ *
+ * @since 5.4
*/
public class LanguageSettingsStorage implements Cloneable {
/** Storage to keep settings entries. */
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ScannerDiscoveryLegacySupport.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ScannerDiscoveryLegacySupport.java
index 610db25b207..730c311e2e5 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ScannerDiscoveryLegacySupport.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/ScannerDiscoveryLegacySupport.java
@@ -29,6 +29,8 @@ import org.osgi.service.prefs.Preferences;
*
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
+ *
+ * @since 5.4
*/
public class ScannerDiscoveryLegacySupport {
/** Name of MBS language settings provider (from org.eclipse.cdt.managedbuilder.core) */
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACExclusionFilterEntry.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACExclusionFilterEntry.java
index e6db0464024..fb5909ff556 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACExclusionFilterEntry.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACExclusionFilterEntry.java
@@ -36,7 +36,9 @@ public abstract class ACExclusionFilterEntry extends ACPathEntry implements ICEx
this.exclusionPatterns = exclusionPatterns != null ? (IPath[])exclusionPatterns.clone() : new IPath[0];
}
- /** @since 5.3 */
+ /**
+ * @since 5.4
+ */
@Override
public final boolean isFile() {
return false;
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACPathEntry.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACPathEntry.java
index 4fbb27a953c..bf67bc52176 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACPathEntry.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ACPathEntry.java
@@ -66,9 +66,9 @@ public abstract class ACPathEntry extends ACSettingEntry implements ICPathEntry
return rcs[0].getFullPath();
return null;
}
-
+
/**
- * @since 5.3
+ * @since 5.4
*/
public abstract boolean isFile();
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICDescriptionDelta.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICDescriptionDelta.java
index 11172d5d99d..a38e6595eca 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICDescriptionDelta.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICDescriptionDelta.java
@@ -10,7 +10,10 @@
*******************************************************************************/
package org.eclipse.cdt.core.settings.model;
-
+/**
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
public interface ICDescriptionDelta {
/*
* delta kinds
@@ -18,8 +21,8 @@ public interface ICDescriptionDelta {
/**
* kind specifying that the setting object returned by
* the {@link #getSetting()} was removed
- * the {@link #getNewSetting()} returns null
- * the {@link #getOldSetting()} returns the same object as {@link #getSetting()}
+ * the {@link #getNewSetting()} returns null
+ * the {@link #getOldSetting()} returns the same object as {@link #getSetting()}
*/
int REMOVED = 1;
@@ -27,28 +30,29 @@ public interface ICDescriptionDelta {
* kind specifying that the setting object returned by
* the {@link #getSetting()} was added
* the {@link #getNewSetting()} returns the same object as {@link #getSetting()}
- * the {@link #getOldSetting()} returns null
+ * the {@link #getOldSetting()} returns null
*/
int ADDED = 2;
/**
* kind specifying that the setting object was changed
- * the {@link #getNewSetting()} returns new object
- * the {@link #getOldSetting()} returns old object
+ * the {@link #getNewSetting()} returns new object
+ * the {@link #getOldSetting()} returns old object
* the {@link #getSetting()} returns the same object as {@link #getNewSetting()}
*/
int CHANGED = 3;
-
+
/*
* delta change flags
*/
-
+
int ACTIVE_CFG = 1;
int NAME = 1 << 1;
int DESCRIPTION = 1 << 2;
// int PATH = 1 << 3;
int LANGUAGE_ID = 1 << 4;
int SOURCE_CONTENT_TYPE = 1 << 5;
+ /** @since 5.4 */
int SOURCE_EXTENSIONS = 1 << 6;
/** @deprecated Use ICDescriptionDelta.SOURCE_EXTENSIONS */
@Deprecated
@@ -69,18 +73,19 @@ public interface ICDescriptionDelta {
int OWNER = 1 << 20;
int INDEX_CFG = 1 << 21;
int SETTING_CFG = INDEX_CFG;
+ /** @since 5.4 */
int LANGUAGE_SETTINGS_PROVIDERS = 1 << 22;
-
+
/**
* specifies that the project "isCdtProjectCreating" state was set to false
* the PROJECT_CREAION_COMPLETED delta gets notified ONLY in case
- * the project previously contained the project description with
+ * the project previously contained the project description with
* the true "isCdtProjectCreating" state
- *
+ *
* in case the initial project description does NOT contain the true "isCdtProjectCreating"
- * the project is considered as initialized from the very beginning
+ * the project is considered as initialized from the very beginning
* and the PROJECT_CREAION_COMPLETED delta is NOT notified
- *
+ *
* @see ICProjectDescription#isCdtProjectCreating()
* @see ICProjectDescription#setCdtProjectCreated()
* @see ICProjectDescriptionManager#createProjectDescription(org.eclipse.core.resources.IProject, boolean, boolean)
@@ -89,19 +94,19 @@ public interface ICDescriptionDelta {
/**
* returns the kind
- * @see #ADDED
- * @see #REMOVED
+ * @see #ADDED
+ * @see #REMOVED
* @see #CHANGED
- *
+ *
* @return int
*/
int getDeltaKind();
-
+
/**
* @return ored delta flags
*/
int getChangeFlags();
-
+
int getSettingType();
int getAddedEntriesKinds();
@@ -115,8 +120,8 @@ public interface ICDescriptionDelta {
ICSettingObject getNewSetting();
ICSettingObject getSetting();
-
+
ICSettingObject getOldSetting();
-
+
ICDescriptionDelta getParent();
}
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICSettingEntry.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICSettingEntry.java
index 4cef66d3750..af776d96bc0 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICSettingEntry.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/ICSettingEntry.java
@@ -12,6 +12,10 @@ package org.eclipse.cdt.core.settings.model;
import org.eclipse.cdt.core.model.IIncludeEntry;
+/**
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
public interface ICSettingEntry {
/**
* Flag {@code BUILTIN} indicates settings built in a tool (compiler) itself.
@@ -49,15 +53,16 @@ public interface ICSettingEntry {
/**
* Flag {@code UNDEFINED} indicates that the entry should not be defined.
* It's main purpose to provide the means to negate entries defined elsewhere.
- *
- * @since 6.0
+ *
+ * @since 5.4
*/
int UNDEFINED = 1 << 5;
/**
* Flag {@code FRAMEWORKS_MAC} applies for path entries. Such a path entry will be treated
* in a special way to imitate resolving paths by Apple's version of gcc, see bug 69529.
- * .
+ *
+ * @since 5.4
*/
int FRAMEWORKS_MAC = 1 << 6;
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/LanguageSettingEntriesSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/LanguageSettingEntriesSerializer.java
index 7047e40fd55..150b01a967b 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/LanguageSettingEntriesSerializer.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/LanguageSettingEntriesSerializer.java
@@ -40,10 +40,10 @@ public class LanguageSettingEntriesSerializer {
public static final String ATTRIBUTE_SOURCE_ATTACHMENT_PATH = "srcPath"; //$NON-NLS-1$
public static final String ATTRIBUTE_SOURCE_ATTACHMENT_ROOT_PATH = "srcRootPath"; //$NON-NLS-1$
public static final String ATTRIBUTE_SOURCE_ATTACHMENT_PREFIX_MAPPING = "srcPrefixMapping"; //$NON-NLS-1$
-
+
// public static final String ATTRIBUTE_FULL_PATH = "fullPath"; //$NON-NLS-1$
// public static final String ATTRIBUTE_LOCATION = "location"; //$NON-NLS-1$
-
+
public static final String INCLUDE_PATH = "includePath"; //$NON-NLS-1$
public static final String INCLUDE_FILE = "includeFile"; //$NON-NLS-1$
@@ -61,7 +61,7 @@ public class LanguageSettingEntriesSerializer {
public static final String RESOLVED = "RESOLVED"; //$NON-NLS-1$
private static final String UNDEFINED = "UNDEFINED"; //$NON-NLS-1$
private static final String FRAMEWORK = "FRAMEWORK"; //$NON-NLS-1$
-
+
public static final String FLAGS_SEPARATOR = "|"; //$NON-NLS-1$
public static ICSettingEntry[] loadEntries(ICStorageElement el){
@@ -86,7 +86,7 @@ public class LanguageSettingEntriesSerializer {
child = children[i];
if(ELEMENT_ENTRY.equals(child.getName())){
entry = loadEntry(child);
- if(entry != null
+ if(entry != null
&& (kindFilter == 0
|| (kindFilter & entry.getKind()) != 0))
list.add(entry);
@@ -99,11 +99,11 @@ public class LanguageSettingEntriesSerializer {
int kind = stringToKind(el.getAttribute(ATTRIBUTE_KIND));
if(kind == 0)
return null;
-
+
int flags = composeFlags(el.getAttribute(ATTRIBUTE_FLAGS));
String name = el.getAttribute(ATTRIBUTE_NAME);
-
+
switch(kind){
case ICLanguageSettingEntry.INCLUDE_PATH:
return new CIncludePathEntry(name, flags);
@@ -128,7 +128,7 @@ public class LanguageSettingEntriesSerializer {
}
return null;
}
-
+
private static IPath loadPath(ICStorageElement el, String attr){
String value = el.getAttribute(attr);
if(value != null)
@@ -151,18 +151,18 @@ public class LanguageSettingEntriesSerializer {
}
return paths;
}
- return null;
+ return null;
}
private static void storeExclusions(ICStorageElement el, IPath[] paths){
if(paths == null || paths.length == 0)
return;
-
+
String[] strs = new String[paths.length];
for(int i = 0; i < strs.length; i++){
strs[i] = paths[i].toString();
}
-
+
String attr = CDataUtil.arrayToString(strs, FLAGS_SEPARATOR);
el.setAttribute(ATTRIBUTE_EXCLUDING, attr);
}
@@ -176,7 +176,7 @@ public class LanguageSettingEntriesSerializer {
}
}
}
-
+
public static void serializeEntry(ICSettingEntry entry, ICStorageElement element){
String kind = kindToString(entry.getKind());
String flags = composeFlagsString(entry.getFlags());
@@ -199,7 +199,7 @@ public class LanguageSettingEntriesSerializer {
IPath path = libFile.getSourceAttachmentPath();
if(path != null)
element.setAttribute(ATTRIBUTE_SOURCE_ATTACHMENT_PATH, path.toString());
-
+
path = libFile.getSourceAttachmentRootPath();
if(path != null)
element.setAttribute(ATTRIBUTE_SOURCE_ATTACHMENT_ROOT_PATH, path.toString());
@@ -209,7 +209,7 @@ public class LanguageSettingEntriesSerializer {
element.setAttribute(ATTRIBUTE_SOURCE_ATTACHMENT_PREFIX_MAPPING, path.toString());
}
}
-
+
public static String kindToString(int kind){
switch(kind){
case ICLanguageSettingEntry.INCLUDE_PATH:
@@ -261,25 +261,25 @@ public class LanguageSettingEntriesSerializer {
if((flags & ICLanguageSettingEntry.READONLY) != 0){
if(buf.length() != 0)
buf.append(FLAGS_SEPARATOR);
-
+
buf.append(READONLY);
}
if((flags & ICLanguageSettingEntry.LOCAL) != 0){
if(buf.length() != 0)
buf.append(FLAGS_SEPARATOR);
-
+
buf.append(LOCAL);
}
if((flags & ICLanguageSettingEntry.VALUE_WORKSPACE_PATH) != 0){
if(buf.length() != 0)
buf.append(FLAGS_SEPARATOR);
-
+
buf.append(VALUE_WORKSPACE_PATH);
}
if((flags & ICLanguageSettingEntry.RESOLVED) != 0){
if(buf.length() != 0)
buf.append(FLAGS_SEPARATOR);
-
+
buf.append(RESOLVED);
}
if((flags & ICLanguageSettingEntry.UNDEFINED) != 0){
@@ -291,37 +291,40 @@ public class LanguageSettingEntriesSerializer {
if((flags & ICLanguageSettingEntry.FRAMEWORKS_MAC) != 0){
if(buf.length() != 0)
buf.append(FLAGS_SEPARATOR);
-
+
buf.append(FRAMEWORK);
}
return buf.toString();
}
-
+
+ /**
+ * @since 5.4
+ */
public static int composeFlags(String flagsString){
if(flagsString == null || flagsString.length() == 0)
return 0;
-
+
StringTokenizer tokenizer = new StringTokenizer(flagsString, FLAGS_SEPARATOR);
int flags = 0;
String f;
while(tokenizer.hasMoreElements()){
f = tokenizer.nextToken();
if(BUILTIN.equals(f))
- flags |= ICLanguageSettingEntry.BUILTIN;
+ flags |= ICLanguageSettingEntry.BUILTIN;
if(READONLY.equals(f))
- flags |= ICLanguageSettingEntry.READONLY;
+ flags |= ICLanguageSettingEntry.READONLY;
if(LOCAL.equals(f))
- flags |= ICLanguageSettingEntry.LOCAL;
+ flags |= ICLanguageSettingEntry.LOCAL;
if(VALUE_WORKSPACE_PATH.equals(f))
- flags |= ICLanguageSettingEntry.VALUE_WORKSPACE_PATH;
+ flags |= ICLanguageSettingEntry.VALUE_WORKSPACE_PATH;
if(RESOLVED.equals(f))
- flags |= ICLanguageSettingEntry.RESOLVED;
+ flags |= ICLanguageSettingEntry.RESOLVED;
if(UNDEFINED.equals(f))
flags |= ICLanguageSettingEntry.UNDEFINED;
if(FRAMEWORK.equals(f))
flags |= ICLanguageSettingEntry.FRAMEWORKS_MAC;
}
-
+
return flags;
}
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/AbstractExecutableExtensionBase.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/AbstractExecutableExtensionBase.java
index f371e85d1d0..0da0d9629ca 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/AbstractExecutableExtensionBase.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/AbstractExecutableExtensionBase.java
@@ -15,6 +15,8 @@ package org.eclipse.cdt.core;
* Helper abstract class serving as a base for creating a frame of executable class
* defined as an extension in plugin.xml.
*
+ * @since 5.4
+ *
*/
public abstract class AbstractExecutableExtensionBase {
private String fId;
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
index 83100d58ca2..1fc3c62b8c5 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
@@ -529,6 +529,8 @@ public class CCorePlugin extends Plugin {
*
*
* @return CDT console adapter.
+ *
+ * @since 5.4
*/
public IConsole getConsole(String extConsoleId, String contextId, String name, URL iconUrl) {
try {
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICConsoleParser.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICConsoleParser.java
index 44b216124bc..dd55807a4f8 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICConsoleParser.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICConsoleParser.java
@@ -19,6 +19,8 @@ import org.eclipse.core.runtime.CoreException;
* can be without configurations, in that case IProject should be passed
* to startup somehow. Perhaps another interface "IPConsoleParser" could
* be created when needed?
+ *
+ * @since 5.4
*/
public interface ICConsoleParser extends IConsoleParser {
public void startup(ICConfigurationDescription cfgDescription) throws CoreException;
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CDTSharedImages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CDTSharedImages.java
index 95c5d4618d5..7460041ac4a 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CDTSharedImages.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CDTSharedImages.java
@@ -47,7 +47,7 @@ import org.eclipse.swt.graphics.Image;
*
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
- *
+ *
* @since 5.3
*/
public class CDTSharedImages {
@@ -116,6 +116,7 @@ public class CDTSharedImages {
public static final String IMG_OBJS_INCLUDES_FOLDER_WORKSPACE = "icons/obj16/wsp_includefolder.gif"; //$NON-NLS-1$
public static final String IMG_OBJS_QUOTE_INCLUDES_FOLDER = "icons/obj16/hfolder_quote_obj.gif"; //$NON-NLS-1$
public static final String IMG_OBJS_INCLUDES_FOLDER_SYSTEM = "icons/obj16/fldr_sys_obj.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OBJS_FRAMEWORKS_FOLDER = "icons/obj16/frameworks.gif"; //$NON-NLS-1$
public static final String IMG_OBJS_MACROS_FILE= "icons/obj16/macros_file.gif"; //$NON-NLS-1$
public static final String IMG_OBJS_LIBRARY_FOLDER= "icons/obj16/fldr_lib_obj.gif"; // $NON-NLS-1$ //$NON-NLS-1$
@@ -185,21 +186,21 @@ public class CDTSharedImages {
public static final String IMG_OVR_ERROR = "icons/ovr16/error_co.gif"; //$NON-NLS-1$
public static final String IMG_OVR_SETTING = "icons/ovr16/setting_nav.gif"; //$NON-NLS-1$
public static final String IMG_OVR_INACTIVE = "icons/ovr16/inactive_co.gif"; //$NON-NLS-1$
-
+
// Pin & Clone
public static final String IMG_THREAD_SUSPENDED_R_PINNED = "icons/obj16/threads_obj_r.gif"; //$NON-NLS-1$
public static final String IMG_THREAD_SUSPENDED_G_PINNED = "icons/obj16/threads_obj_g.gif"; //$NON-NLS-1$
public static final String IMG_THREAD_SUSPENDED_B_PINNED = "icons/obj16/threads_obj_b.gif"; //$NON-NLS-1$
-
+
public static final String IMG_THREAD_RUNNING_R_PINNED = "icons/obj16/thread_obj_r.gif"; //$NON-NLS-1$
public static final String IMG_THREAD_RUNNING_G_PINNED = "icons/obj16/thread_obj_g.gif"; //$NON-NLS-1$
- public static final String IMG_THREAD_RUNNING_B_PINNED = "icons/obj16/thread_obj_b.gif"; //$NON-NLS-1$
-
+ public static final String IMG_THREAD_RUNNING_B_PINNED = "icons/obj16/thread_obj_b.gif"; //$NON-NLS-1$
+
public static final String IMG_CONTAINER_SUSPENDED_R_PINNED = "icons/obj16/debugts_obj_r.gif"; //$NON-NLS-1$
public static final String IMG_CONTAINER_SUSPENDED_G_PINNED = "icons/obj16/debugts_obj_g.gif"; //$NON-NLS-1$
public static final String IMG_CONTAINER_SUSPENDED_B_PINNED = "icons/obj16/debugts_obj_b.gif"; //$NON-NLS-1$
-
- public static final String IMG_CONTAINER_RUNNING_R_PINNED = "icons/obj16/debugt_obj_r.gif"; //$NON-NLS-1$
+
+ public static final String IMG_CONTAINER_RUNNING_R_PINNED = "icons/obj16/debugt_obj_r.gif"; //$NON-NLS-1$
public static final String IMG_CONTAINER_RUNNING_G_PINNED = "icons/obj16/debugt_obj_g.gif"; //$NON-NLS-1$
public static final String IMG_CONTAINER_RUNNING_B_PINNED = "icons/obj16/debugt_obj_b.gif"; //$NON-NLS-1$
@@ -210,20 +211,34 @@ public class CDTSharedImages {
public static final String IMG_VIEW_PIN_ACTION_MULTI = "icons/obj16/toolbar_pinned_multi.gif"; //$NON-NLS-1$
// Language Settings Images
+ /** @since 5.4 */
public static final String IMG_OBJS_LANG_SETTINGS_PROVIDER = "icons/obj16/ls_entries_provider.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_ETOOL_PROJECT = "icons/etool16/prj_obj.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_GLOBAL = "icons/ovr16/global_ovr.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_IMPORT = "icons/ovr16/import_co.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_LINK = "icons/ovr16/link_ovr.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_CONFIGURATION = "icons/ovr16/cfg_ovr.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_PARENT = "icons/ovr16/path_inherit_co.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_INDEXED = "icons/ovr16/indexedFile.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_REFERENCE = "icons/ovr16/referencedby_co.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_PROJECT = "icons/ovr16/project_co.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_CONTEXT = "icons/ovr16/overlay-has-context.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_LOCK = "icons/ovr16/lock_ovr.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_EDITED = "icons/ovr16/edited_ov.gif"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String IMG_OVR_EMPTY = "icons/ovr16/empty_ovr.png"; //$NON-NLS-1$
/**
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java
index 412011c2196..ddd9791406d 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java
@@ -64,71 +64,72 @@ import org.eclipse.cdt.internal.ui.dialogs.StatusInfo;
import org.eclipse.cdt.internal.ui.newui.Messages;
/**
- * It is a parent for all standard property tabs
+ * It is a parent for all standard property tabs
* in new CDT model.
- *
+ *
* Although it's enough for new tabs to implement
- * ICPropertyTab interface only, it would be better
+ * ICPropertyTab interface only, it would be better
* to extend them from this class.
*
* In this case, we'll able to use:
* - a lot of utility methods via "provider" link.
* In particular, it allows to get current project,
- * configuration etc. See ICPropertyProvider interface.
+ * configuration etc. See ICPropertyProvider interface.
* - a standard way to create buttons (ins/edit/del etc)
* and to handle their events (see buttonPressed(int))
* - several utility methods to create widgets in the
- * uniform manner (setupLabel(), setupText() etc).
+ * uniform manner (setupLabel(), setupText() etc).
* - means to handle control messages which are the main
- * communication way for new CDT model pages and tabs.
+ * communication way for new CDT model pages and tabs.
*/
public abstract class AbstractCPropertyTab implements ICPropertyTab {
-
+
public static final Method GRAY_METHOD = getGrayEnabled();
public static final int BUTTON_WIDTH = 120; // used as hint for all push buttons
// commonly used button names
public static final String EMPTY_STR = ""; //$NON-NLS-1$
- public static final String ADD_STR = Messages.FileListControl_add;
- public static final String DEL_STR = Messages.FileListControl_delete;
- public static final String EDIT_STR = Messages.FileListControl_edit;
- public static final String MOVEUP_STR = Messages.FileListControl_moveup;
- public static final String MOVEDOWN_STR = Messages.FileListControl_movedown;
- public static final String PROJECTBUTTON_NAME = "Project...";
- public static final String WORKSPACEBUTTON_NAME = Messages.FileListControl_button_workspace;
- public static final String FILESYSTEMBUTTON_NAME = Messages.FileListControl_button_fs;
- public static final String VARIABLESBUTTON_NAME = Messages.AbstractCPropertyTab_1;
- public static final String FILESYSTEM_DIR_DIALOG_MSG = Messages.BrowseEntryDialog_fs_dir_dlg_msg;
- public static final String FILESYSTEM_FILE_DIALOG_TITLE = EMPTY_STR;
- public static final String WORKSPACE_DIR_DIALOG_TITLE = Messages.BrowseEntryDialog_wsp_dir_dlg_title;
- public static final String WORKSPACE_FILE_DIALOG_TITLE = Messages.BrowseEntryDialog_wsp_file_dlg_title;
- public static final String WORKSPACE_DIR_DIALOG_MSG = Messages.BrowseEntryDialog_wsp_dir_dlg_msg;
- public static final String WORKSPACE_FILE_DIALOG_MSG = Messages.BrowseEntryDialog_wsp_file_dlg_msg;
- public static final String WORKSPACE_FILE_DIALOG_ERR = Messages.BrowseEntryDialog_wsp_file_dlg_err;
- public static final String WORKSPACE_DIR_DIALOG_ERR = Messages.BrowseEntryDialog_wsp_dir_dlg_err;
- public static final String BACKGROUND_TEXT_DEFAULT = Messages.AbstractCPropertyTab_2;
+ public static final String ADD_STR = Messages.FileListControl_add;
+ public static final String DEL_STR = Messages.FileListControl_delete;
+ public static final String EDIT_STR = Messages.FileListControl_edit;
+ public static final String MOVEUP_STR = Messages.FileListControl_moveup;
+ public static final String MOVEDOWN_STR = Messages.FileListControl_movedown;
+ /** @since 5.4 */
+ public static final String PROJECTBUTTON_NAME = "Project...";
+ public static final String WORKSPACEBUTTON_NAME = Messages.FileListControl_button_workspace;
+ public static final String FILESYSTEMBUTTON_NAME = Messages.FileListControl_button_fs;
+ public static final String VARIABLESBUTTON_NAME = Messages.AbstractCPropertyTab_1;
+ public static final String FILESYSTEM_DIR_DIALOG_MSG = Messages.BrowseEntryDialog_fs_dir_dlg_msg;
+ public static final String FILESYSTEM_FILE_DIALOG_TITLE = EMPTY_STR;
+ public static final String WORKSPACE_DIR_DIALOG_TITLE = Messages.BrowseEntryDialog_wsp_dir_dlg_title;
+ public static final String WORKSPACE_FILE_DIALOG_TITLE = Messages.BrowseEntryDialog_wsp_file_dlg_title;
+ public static final String WORKSPACE_DIR_DIALOG_MSG = Messages.BrowseEntryDialog_wsp_dir_dlg_msg;
+ public static final String WORKSPACE_FILE_DIALOG_MSG = Messages.BrowseEntryDialog_wsp_file_dlg_msg;
+ public static final String WORKSPACE_FILE_DIALOG_ERR = Messages.BrowseEntryDialog_wsp_file_dlg_err;
+ public static final String WORKSPACE_DIR_DIALOG_ERR = Messages.BrowseEntryDialog_wsp_dir_dlg_err;
+ public static final String BACKGROUND_TEXT_DEFAULT = Messages.AbstractCPropertyTab_2;
public static final Color BACKGROUND_FOR_USER_VAR = new Color(Display.getDefault(), 255, 255, 200); // light yellow
private static final String PREFIX = "org.eclipse.cdt.ui."; //$NON-NLS-1$
-
+
public static final int TRI_UNKNOWN = 2;
public static final int TRI_YES = 1;
public static final int TRI_NO = 0;
protected static final String ENUM = "enum"; //$NON-NLS-1$
protected static final String SSET = "set"; //$NON-NLS-1$
-
+
private PageBook pageBook; // to select between background and usercomp.
private CLabel background;
private Composite userdata;
-
- protected Composite usercomp; // space where user can create widgets
+
+ protected Composite usercomp; // space where user can create widgets
protected Composite buttoncomp; // space for buttons on the right
private Button[] buttons; // buttons in buttoncomp
public ICPropertyProvider page;
- protected Image icon = null;
- private String helpId = EMPTY_STR;
-
+ protected Image icon = null;
+ private String helpId = EMPTY_STR;
+
protected boolean visible;
@Override
@@ -140,8 +141,8 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
/**
* Creates basic widgets for property tab.
* Descendants should, normally, override
- * this method but call super.createControls().
- *
+ * this method but call super.createControls().
+ *
* @param parent
*/
protected void createControls(Composite parent) {
@@ -154,27 +155,27 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
GridData gd;
userdata= new Composite(pageBook, SWT.NONE);
userdata.setLayout(new GridLayout(2, false));
-
+
usercomp = new Composite(userdata, SWT.NONE);
usercomp.setLayoutData(gd= new GridData(GridData.FILL_BOTH));
gd.widthHint= 150;
-
+
buttoncomp = new Composite(userdata, SWT.NONE);
buttoncomp.setLayoutData(gd= new GridData(GridData.END));
// width hint must be set to one, otherwise subclasses that do not have buttons
// don't look pretty, bug 242408
gd.widthHint= 1;
-
+
pageBook.showPage(userdata);
-
+
PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, helpId);
}
-
+
/**
* The common way to create buttons cluster
* on the right of tab workspace.
* @param names : array of button names
- * null instead of name means "skip place"
+ * null instead of name means "skip place"
*/
protected void initButtons(String[] names) {
initButtons(buttoncomp, names, 80);
@@ -182,7 +183,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
protected void initButtons(String[] names, int width) {
initButtons(buttoncomp, names, width);
}
-
+
/**
* Ability to create standard button on any composite.
* @param c
@@ -202,15 +203,15 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
gdb.grabExcessHorizontalSpace = false;
gdb.horizontalAlignment = SWT.FILL;
gdb.minimumWidth = width;
-
+
if (names[i] != null)
buttons[i].setText(names[i]);
- else { // no button, but placeholder !
+ else { // no button, but placeholder !
buttons[i].setVisible(false);
buttons[i].setEnabled(false);
gdb.heightHint = 10;
}
-
+
buttons[i].setLayoutData(gdb);
buttons[i].addSelectionListener(new SelectionAdapter() {
@Override
@@ -220,15 +221,15 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
});
}
}
-
+
/**
- * Called when user changes
+ * Called when user changes
* @param cfg - selected configuration
*/
private void configChanged(ICResourceDescription cfg) {
if (visible) updateData(cfg);
}
-
+
/**
* Disposes the SWT resources allocated by this dialog page.
*/
@@ -245,13 +246,13 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
visible = _visible;
if (visible) updateData(page.getResDesc());
}
-
+
/**
- * Descendant tabs should implement this method so
- * that it copies it's data from one description
+ * Descendant tabs should implement this method so
+ * that it copies it's data from one description
* to another. Only data affected by given tab
* should be copied.
- *
+ *
* @param src
* @param dst
*/
@@ -273,32 +274,32 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
}
}
}
-
+
/**
- * Method should be rewritten to handle button presses
+ * Method should be rewritten to handle button presses
* @param i : number of button pressed
- *
- * Does nothing by default.
+ *
+ * Does nothing by default.
* May (but not must) be overridden.
*/
protected void buttonPressed(int i) {}
-
+
/**
* Checks state of existing button.
- *
+ *
* @param i - button index
- * @return - true if button exists and enabled
+ * @return - true if button exists and enabled
*/
protected boolean buttonIsEnabled(int i) {
- if (buttons == null || buttons.length <= i )
+ if (buttons == null || buttons.length <= i )
return false;
return buttons[i].isEnabled();
}
-
+
/**
* Changes state of existing button.
* Does nothing if index is invalid
- *
+ *
* @param i - button index
* @param state - required state
*/
@@ -306,11 +307,11 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
if (buttons == null || buttons.length <= i ) return;
buttons[i].setEnabled(state);
}
-
+
/**
* Changes text of existing button
* Does nothing if index is invalid
- *
+ *
* @param i - button index
* @param text - text to display
*/
@@ -346,13 +347,13 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
b.setLayoutData(g);
return b;
}
-
+
protected Text setupText(Composite c, int span, int mode) {
Text t = new Text(c, SWT.SINGLE | SWT.BORDER);
setupControl(t, span, mode);
return t;
}
-
+
protected Group setupGroup(Composite c, String name, int cols, int mode) {
Group g = new Group(c, SWT.NONE);
g.setText(name);
@@ -360,7 +361,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
setupControl(g, 1, mode);
return g;
}
-
+
protected Button setupCheck(Composite c, String name, int span, int mode) {
Button b = new Button(c, SWT.CHECK);
b.setText(name);
@@ -376,23 +377,23 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
}
/**
- * Selection handler for checkbox created
- * by methods "setupCheck()" or "setupTri()"
- * Descendants should override this method
- * if they use "setupCheck".
+ * Selection handler for checkbox created
+ * by methods "setupCheck()" or "setupTri()"
+ * Descendants should override this method
+ * if they use "setupCheck".
* Usually the method body will look like:
- * {
+ * {
* Control b = (Control)e.widget;
- * if (b.equals(myFirstCheckbox) { ... }
+ * if (b.equals(myFirstCheckbox) { ... }
* else if (b.equals(mySecondCheckbox) { ... }
- * ... }
+ * ... }
*/
protected void checkPressed(SelectionEvent e) {
}
protected void setupControl(Control c, int span, int mode) {
// although we use GridLayout usually,
- // exceptions can occur: do nothing.
+ // exceptions can occur: do nothing.
if (c != null) {
if (span != 0) {
GridData gd = new GridData(mode);
@@ -403,11 +404,11 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
c.setFont(p.getFont());
}
}
-
+
/*
- * A set of methods providing selection dialogs for files or dirs.
+ * A set of methods providing selection dialogs for files or dirs.
*/
-
+
public static String getFileSystemDirDialog(Shell shell, String text) {
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN|SWT.APPLICATION_MODAL);
if(text != null && text.trim().length() != 0) dialog.setFilterPath(text);
@@ -432,12 +433,12 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
dialog.setText(FILESYSTEM_FILE_DIALOG_TITLE);
return dialog.open();
}
-
+
public static String getVariableDialog(Shell shell, ICConfigurationDescription cfgd) {
-
+
ICdtVariableManager vm = CCorePlugin.getDefault().getCdtVariableManager();
BuildVarListDialog dialog = new BuildVarListDialog(shell, vm.getVariables(cfgd));
- dialog.setTitle(Messages.AbstractCPropertyTab_0);
+ dialog.setTitle(Messages.AbstractCPropertyTab_0);
if (dialog.open() == Window.OK) {
Object[] selected = dialog.getResult();
if (selected.length > 0) {
@@ -454,13 +455,19 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
public static String getWorkspaceFileDialog(Shell shell, String text) {
return getWorkspaceDialog(shell, text, false, null);
}
+ /**
+ * @since 5.4
+ */
public static String getProjectDirDialog(Shell shell, String text, IProject prj) {
return getWorkspaceDialog(shell, text, true, prj);
}
+ /**
+ * @since 5.4
+ */
public static String getProjectFileDialog(Shell shell, String text, IProject prj) {
return getWorkspaceDialog(shell, text, false, prj);
}
-
+
private static String getWorkspaceDialog(Shell shell, String text, boolean dir, IProject prj) {
String currentPathText;
IPath path;
@@ -468,7 +475,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
/* Remove double quotes */
currentPathText = currentPathText.replaceAll("\"", ""); //$NON-NLS-1$ //$NON-NLS-2$
path = new Path(currentPathText);
-
+
ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(shell,
new WorkbenchLabelProvider(), new WorkbenchContentProvider());
@@ -477,7 +484,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
else
dialog.setInput(prj);
dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
-
+
if (dir) {
IResource container = null;
if(path.isAbsolute()){
@@ -519,14 +526,14 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
}
if (dialog.open() == Window.OK) {
IResource resource = (IResource) dialog.getFirstResult();
- if (resource != null) {
+ if (resource != null) {
StringBuffer buf = new StringBuffer();
return buf.append("${").append("workspace_loc:").append(resource.getFullPath()).append("}").toString(); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
}
}
return null;
}
-
+
// shortcut to frequently-used method
public ICResourceDescription getResDesc() {
return page.getResDesc();
@@ -560,19 +567,19 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
dispose();
break;
case ICPropertyTab.VISIBLE:
- if (canBeVisible())
+ if (canBeVisible())
setVisible(data != null);
- else
+ else
setVisible(false);
break;
case ICPropertyTab.SET_ICON:
- icon = (Image)data;
+ icon = (Image)data;
break;
default:
break;
}
}
-
+
// By default, returns true (no visibility restriction)
// But several pages should rewrite this functionality.
@Override
@@ -594,20 +601,20 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
}
/**
- * Sets checkbox to appropriate state:
+ * Sets checkbox to appropriate state:
* unchecked or checked
* @param b - checkbox to set
- * @param state
+ * @param state
*/
public static void setTriSelection(Button b, boolean state) {
setTriSelection(b, state ? TRI_YES : TRI_NO);
}
-
+
/**
- * Sets checkbox to appropriate state:
+ * Sets checkbox to appropriate state:
* unchecked, checked or unknown (grayed)
* @param b - checkbox to set
- * @param state
+ * @param state
*/
public static void setTriSelection(Button b, int state) {
switch (state) {
@@ -630,7 +637,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
* This method will be simplified after M5 release,
* when Button.setGrayed() method will be accessible.
* In this case, reflection will not be required.
- *
+ *
* @param b
* @param value
* @deprecated call {@link Button#setGrayed(boolean)} instead
@@ -643,7 +650,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
/**
* This method will be removed after M5 release,
* when Button.setGrayed() will be officially accessible.
- *
+ *
* @return reference to Button.setGrayed() method
*/
private static Method getGrayEnabled() {
@@ -659,8 +666,8 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
/**
* Utility method to show/hide working panes
- * When panes are hidden, message becomes visible
- *
+ * When panes are hidden, message becomes visible
+ *
* @param visible - true or false
* @param msg - text to be shown instead of panes
*/
@@ -680,21 +687,21 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
b.setVisible(visible);
}
}
-
+
/**
* Allows changing message on background pane,
* which becomes visible after usercomp hidden
- *
- * @param s - text to display or null for default
+ *
+ * @param s - text to display or null for default
*/
protected void setBackgroundText(String s) {
background.setText(s == null ? BACKGROUND_TEXT_DEFAULT : s);
}
-
+
/**
* Used to display double-clickable buttons for multiple configurations
* string list mode (see Multiple Configurations Edit Preference page).
- *
+ *
* @deprecated as of CDT 8.0. This functionality is presented as links
* to the preference page, see {@link AbstractLangsListTab#updateStringListModeControl()}
*/
@@ -721,7 +728,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
* The writing mode for multiple configurations edits (configuration drop-down list
* in project properties). This mode applies to lists of entries.
* See preference Multiple Configurations Edit, String List Write Mode.
- *
+ *
* @return
* {@code true} if each list should be replaced as a whole with the
* list user is currently working with in UI
@@ -736,12 +743,12 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab {
public String getHelpContextId() {
return helpId;
}
-
+
public void setHelpContextId(String id) {
helpId = PREFIX + id;
}
- /**
+ /**
* Allows subclasses to inform the container about changes relevant to the indexer.
* The tab will be asked before the apply is performed. As a consequence of returning
* true the user will be asked whether she wants to rebuild the index.
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/CDTPrefUtil.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/CDTPrefUtil.java
index 58594cf3146..063f3470a8d 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/CDTPrefUtil.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/CDTPrefUtil.java
@@ -33,12 +33,14 @@ import org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigurationManager;
public class CDTPrefUtil {
// boolean keys (KEY_NO-s are to be inverted !)
public static final String KEY_NOSUPP = "wizard.show.unsupported.disable"; //$NON-NLS-1$
+ /** @since 5.4 */ // AG FIXME - remove before CDT Juno release
public static final String KEY_NEWSD = "wizard.try.new.sd.enable"; //$NON-NLS-1$
public static final String KEY_OTHERS = "wizard.group.others.enable"; //$NON-NLS-1$
public static final String KEY_NOMNG = "properties.manage.config.disable"; //$NON-NLS-1$
public static final String KEY_DTREE = "properties.data.hierarchy.enable"; //$NON-NLS-1$
public static final String KEY_NOTOOLM = "properties.toolchain.modification.disable"; //$NON-NLS-1$
public static final String KEY_EXPORT = "properties.export.page.enable"; //$NON-NLS-1$
+ /** @since 5.4 */
public static final String KEY_NO_SHOW_PROVIDERS = "properties.providers.tab.disable"; //$NON-NLS-1$
/** @since 5.2 Show the "Include Files" settings entry tab */
public static final String KEY_SHOW_INC_FILES = "properties.includefiles.page.enable"; //$NON-NLS-1$
@@ -52,34 +54,34 @@ public class CDTPrefUtil {
public static final int POSITION_SAVE_SIZE = 0;
public static final int POSITION_SAVE_NONE = 2;
public static final int POSITION_SAVE_BOTH = 3;
-
+
public static final String KEY_DISC_NAMES = "properties.discovery.naming"; //$NON-NLS-1$
public static final int DISC_NAMING_UNIQUE_OR_BOTH = 0;
public static final int DISC_NAMING_UNIQUE_OR_IDS = 1;
public static final int DISC_NAMING_ALWAYS_BOTH = 2;
public static final int DISC_NAMING_ALWAYS_IDS = 3;
public static final int DISC_NAMING_DEFAULT = DISC_NAMING_UNIQUE_OR_BOTH;
-
+
/** Property key used for string list display mode for multi-configuration edits (conjunction/disjunction) */
public static final String KEY_DMODE = "properties.multi.displ.mode"; //$NON-NLS-1$
/** Conjunction implies showing only common elements (intersection) */
public static final int DMODE_CONJUNCTION = 1;
/** Disjunction implies showing all elements (union) */
public static final int DMODE_DISJUNCTION = 2;
-
+
/** Property key used for string list write mode for multi-configuration edits (modify/replace) */
public static final String KEY_WMODE = "properties.multi.write.mode"; //$NON-NLS-1$
/** Modify implies changing only given elements and not changing any others */
public static final int WMODE_MODIFY = 4;
/** Replace implies replacing the whole list with the given one, overwriting old entries */
public static final int WMODE_REPLACE = 8;
-
+
public static final String NULL = "NULL"; //$NON-NLS-1$
private static final IPreferenceStore pref = CUIPlugin.getDefault().getPreferenceStore();
private static final String DELIMITER = " "; //$NON-NLS-1$
public static final String CONFSETDEL = "\f"; //$NON-NLS-1$
private static LinkedList preferredTCs = null;
-
+
public static final Object[] EMPTY_ARRAY = new Object[0];
// low-level methods
@@ -95,40 +97,40 @@ public class CDTPrefUtil {
preferredTCs = new LinkedList(Arrays.asList(getStr(KEY_PREFTC).split(DELIMITER)));
}
public static List getPreferredTCs() {
- if (preferredTCs == null) readPreferredTCs();
- return preferredTCs;
+ if (preferredTCs == null) readPreferredTCs();
+ return preferredTCs;
}
- public static void delPreferredTC(String s) {
- if (preferredTCs == null) readPreferredTCs();
- preferredTCs.remove(s);
+ public static void delPreferredTC(String s) {
+ if (preferredTCs == null) readPreferredTCs();
+ preferredTCs.remove(s);
}
public static void addPreferredTC(String s) {
- if (preferredTCs == null) readPreferredTCs();
- if (!preferredTCs.contains(s)) preferredTCs.add(s);
+ if (preferredTCs == null) readPreferredTCs();
+ if (!preferredTCs.contains(s)) preferredTCs.add(s);
}
public static void cleanPreferredTCs() {
setStr(KEY_PREFTC, IPreferenceStore.STRING_DEFAULT_DEFAULT);
- readPreferredTCs();
+ readPreferredTCs();
}
public static void savePreferredTCs() {
- if (preferredTCs == null) return;
+ if (preferredTCs == null) return;
Iterator it = preferredTCs.iterator();
- StringBuilder b = new StringBuilder();
+ StringBuilder b = new StringBuilder();
while (it.hasNext()) {
String s = it.next();
- if (s == null) continue;
+ if (s == null) continue;
b.append(s);
b.append(DELIMITER);
}
setStr(KEY_PREFTC, b.toString().trim());
}
-
+
/**
* Returns string list display mode for multi-configuration edits (conjunction/disjunction).
- *
+ *
* @return the mode which can be either {@link CDTPrefUtil#DMODE_CONJUNCTION} (default value)
* or else {@link CDTPrefUtil#DMODE_DISJUNCTION}.
- *
+ *
* @since 5.3
*/
public static int getMultiCfgStringListDisplayMode() {
@@ -138,25 +140,25 @@ public class CDTPrefUtil {
}
return mode;
}
-
+
/**
* Sets string list display mode for multi-configuration edits (conjunction/disjunction).
- *
+ *
* @param mode must be either {@link CDTPrefUtil#DMODE_CONJUNCTION}
* or {@link CDTPrefUtil#DMODE_DISJUNCTION}.
- *
+ *
* @since 5.3
*/
public static void setMultiCfgStringListDisplayMode(int mode) {
setInt(KEY_DMODE, mode);
}
-
+
/**
* Returns string list write mode for multi-configuration edits (modify/replace).
- *
+ *
* @return the mode which can be either {@link CDTPrefUtil#WMODE_MODIFY} (default value)
* or else {@link CDTPrefUtil#WMODE_REPLACE}.
- *
+ *
* @since 5.3
*/
public static int getMultiCfgStringListWriteMode() {
@@ -166,19 +168,19 @@ public class CDTPrefUtil {
}
return mode;
}
-
+
/**
* Sets string list write mode for multi-configuration edits (modify/replace).
- *
+ *
* @param mode must be either {@link CDTPrefUtil#WMODE_MODIFY}
* or {@link CDTPrefUtil#WMODE_REPLACE}.
- *
+ *
* @since 5.3
*/
public static void setMultiCfgStringListWriteMode(int mode) {
setInt(KEY_WMODE, mode);
}
-
+
/**
* @deprecated as of CDT 8.0. Use {@link StringListModeControl} to display string list modes.
*/
@@ -187,15 +189,15 @@ public class CDTPrefUtil {
String s = null;
switch(getMultiCfgStringListDisplayMode()) {
case DMODE_CONJUNCTION:
- s = Messages.EnvironmentTab_17;
+ s = Messages.EnvironmentTab_17;
break;
case DMODE_DISJUNCTION:
- s = Messages.EnvironmentTab_18;
+ s = Messages.EnvironmentTab_18;
break;
}
- return Messages.EnvironmentTab_19 + s;
+ return Messages.EnvironmentTab_19 + s;
}
-
+
/**
* @deprecated as of CDT 8.0. Use {@link StringListModeControl} to display string list modes.
*/
@@ -204,15 +206,15 @@ public class CDTPrefUtil {
String s = null;
switch(getMultiCfgStringListWriteMode()) {
case WMODE_MODIFY:
- s = Messages.EnvironmentTab_24;
+ s = Messages.EnvironmentTab_24;
break;
case WMODE_REPLACE:
- s = Messages.EnvironmentTab_21;
+ s = Messages.EnvironmentTab_21;
break;
}
- return Messages.EnvironmentTab_22 + s;
+ return Messages.EnvironmentTab_22 + s;
}
-
+
/**
* Toggle string list display mode: conjunction <-> disjunction.
*/
@@ -242,21 +244,21 @@ public class CDTPrefUtil {
public static final String[] getStrListForDisplay(String[][] input) {
return getStrListForDisplay(input, getMultiCfgStringListDisplayMode());
}
-
+
private static final String[] getStrListForDisplay(String[][] input, int mode) {
Object[] ob = getListForDisplay(input, getMultiCfgStringListDisplayMode(), null);
String[] ss = new String[ob.length];
System.arraycopy(ob, 0, ss, 0, ob.length);
return ss;
}
-
+
public static final Object[] getListForDisplay(Object[][] input, Comparator