CLion: CPP-66 Automatically generate run configurations for targets

* API extended without breaking it
This commit is contained in:
Anton Makeev
2014-09-01 11:53:09 +02:00
parent eddd26e593
commit b7c4461434
3 changed files with 6 additions and 12 deletions
@@ -17,12 +17,11 @@ package com.intellij.execution.configurations;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.options.UnnamedConfigurable;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
public interface RunConfigurationsSettings {
ExtensionPointName<RunConfigurationsSettings> EXTENSION_POINT = ExtensionPointName.create("com.intellij.runConfigurationsSettings");
@NotNull
UnnamedConfigurable createConfigurable(@NotNull Project project);
UnnamedConfigurable createConfigurable();
}
@@ -588,15 +588,9 @@ class RunConfigurable extends BaseConfigurable {
@Override
public JComponent createComponent() {
for (RunConfigurationsSettings each : Extensions.getExtensions(RunConfigurationsSettings.EXTENSION_POINT)) {
try {
UnnamedConfigurable configurable = each.createConfigurable(myProject);
myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent()));
}
catch (NoSuchMethodError e) {
// in case someone has already implemented old RunConfigurationsSettings.createConfigurable()
LOG.error(e);
}
for (RunConfigurationsSettings each : Extensions.getExtensions(RunConfigurationsSettings.EXTENSION_POINT, myProject)) {
UnnamedConfigurable configurable = each.createConfigurable();
myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent()));
}
myWholePanel = new JPanel(new BorderLayout());
@@ -385,7 +385,8 @@
interface="com.intellij.execution.configurations.ConfigurationType"/>
<extensionPoint name="runConfigurationsSettings"
interface="com.intellij.execution.configurations.RunConfigurationsSettings"/>
interface="com.intellij.execution.configurations.RunConfigurationsSettings"
area="IDEA_PROJECT"/>
<extensionPoint name="programRunner"
interface="com.intellij.execution.runners.ProgramRunner"/>