From 1325ea8cc05f3e7b69d0aea7ca4ec544361ff617 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 19 Nov 2010 12:05:15 +0300 Subject: [PATCH] run configurations: fill name on class selected (IDEA-56817) --- .../application/ApplicationConfiguration.java | 4 ++++ .../configurations/RuntimeConfiguration.java | 6 ++++++ .../intellij/execution/impl/RunConfigurable.java | 14 ++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java index e6023fd5f7b8..901685def43a 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java @@ -89,6 +89,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration DATA_KEY = DataKey.create("runtimeConfiguration"); @@ -60,4 +61,9 @@ public abstract class RuntimeConfiguration extends RunConfigurationBase implemen @NonNls public String suggestedName() { return null; } + + @Nullable + public String getGeneratedName() { + return suggestedName(); + } } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java index 67248bbda6c8..f0fab2231765 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java @@ -289,6 +289,20 @@ class RunConfigurable extends BaseConfigurable { info.getEditor().addSettingsEditorListener(new SettingsEditorListener() { public void stateChanged(final SettingsEditor editor) { update(); + final RunConfiguration configuration = info.getConfiguration(); + if (configuration instanceof RuntimeConfiguration) { + final RuntimeConfiguration runtimeConfiguration = (RuntimeConfiguration)configuration; + if (runtimeConfiguration.isGeneratedName()) { + try { + final String generatedName = ((RuntimeConfiguration)editor.getSnapshot().getConfiguration()).getGeneratedName(); + if (generatedName != null && generatedName.length() > 0) { + info.setNameText(generatedName); + } + } + catch (ConfigurationException ignore) { + } + } + } setupDialogBounds(); } });