diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.form b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.form
index 5a122ebee17c..decd17c17f37 100644
--- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.form
+++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.form
@@ -64,7 +64,7 @@
-
+
diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java
index d7027dd5a517..5e23915c7be3 100644
--- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java
+++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java
@@ -15,6 +15,7 @@
*/
package com.intellij.execution.applet;
+import com.intellij.application.options.ModulesComboBox;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.impl.CheckableRunConfigurationEditor;
import com.intellij.execution.ui.AlternativeJREPanel;
@@ -57,7 +58,7 @@ public class AppletConfigurable extends SettingsEditor impl
private TextFieldWithBrowseButton myHtmlFile;
private JTextField myWidth;
private JTextField myHeight;
- private LabeledComponent myModule;
+ private LabeledComponent myModule;
private JPanel myTablePlace;
private JBLabel myHtmlFileLabel;
private JBLabel myClassNameLabel;
@@ -175,7 +176,7 @@ public class AppletConfigurable extends SettingsEditor impl
myTable.scrollRectToVisible(myTable.getCellRect(index, 0, true));
}
- private JComboBox getModuleComponent() {
+ private ModulesComboBox getModuleComponent() {
return myModule.getComponent();
}
diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
index 75c7ef537017..9803e48deb67 100644
--- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
+++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
@@ -35,7 +35,7 @@
-
+
diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
index 27958a922d2c..0f6b641976c5 100644
--- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
+++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
@@ -15,6 +15,7 @@
*/
package com.intellij.execution.application;
+import com.intellij.application.options.ModulesComboBox;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.JavaExecutionUtil;
import com.intellij.execution.configurations.ConfigurationUtil;
@@ -44,7 +45,7 @@ import java.awt.event.ActionListener;
public class ApplicationConfigurable extends SettingsEditor implements PanelWithAnchor {
private CommonJavaParametersPanel myCommonProgramParameters;
private LabeledComponent myMainClass;
- private LabeledComponent myModule;
+ private LabeledComponent myModule;
private JPanel myWholePanel;
private final ConfigurationModuleSelector myModuleSelector;
diff --git a/java/execution/impl/src/com/intellij/execution/remote/RemoteConfigurable.java b/java/execution/impl/src/com/intellij/execution/remote/RemoteConfigurable.java
index 5cfd535d081b..f40c81bac8ba 100644
--- a/java/execution/impl/src/com/intellij/execution/remote/RemoteConfigurable.java
+++ b/java/execution/impl/src/com/intellij/execution/remote/RemoteConfigurable.java
@@ -20,6 +20,7 @@
*/
package com.intellij.execution.remote;
+import com.intellij.application.options.ModulesComboBox;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.configurations.RemoteConnection;
import com.intellij.execution.ui.ConfigurationArgumentsHelpArea;
@@ -52,7 +53,7 @@ public class RemoteConfigurable extends SettingsEditor {
private ConfigurationArgumentsHelpArea myHelpArea;
@NonNls private ConfigurationArgumentsHelpArea myJDK13HelpArea;
private ConfigurationArgumentsHelpArea myJDK14HelpArea;
- private LabeledComponent myModule;
+ private LabeledComponent myModule;
private String myHostName = "";
@NonNls
protected static final String LOCALHOST = "localhost";
diff --git a/java/execution/impl/src/com/intellij/execution/testDiscovery/TestDiscoveryConfigurable.java b/java/execution/impl/src/com/intellij/execution/testDiscovery/TestDiscoveryConfigurable.java
index 83a585f55881..be87a810c784 100644
--- a/java/execution/impl/src/com/intellij/execution/testDiscovery/TestDiscoveryConfigurable.java
+++ b/java/execution/impl/src/com/intellij/execution/testDiscovery/TestDiscoveryConfigurable.java
@@ -15,6 +15,7 @@
*/
package com.intellij.execution.testDiscovery;
+import com.intellij.application.options.ModulesComboBox;
import com.intellij.execution.MethodBrowser;
import com.intellij.execution.ui.AlternativeJREPanel;
import com.intellij.execution.ui.ClassBrowser;
@@ -51,7 +52,7 @@ public class TestDiscoveryConfigurable ext
private final ConfigurationModuleSelector myModuleSelector;
// Fields
private JPanel myWholePanel = new JPanel(new BorderLayout());
- private LabeledComponent myModule = new LabeledComponent();
+ private LabeledComponent myModule = new LabeledComponent();
private CommonJavaParametersPanel myCommonJavaParameters = new CommonJavaParametersPanel();
private AlternativeJREPanel myAlternativeJREPanel = new AlternativeJREPanel();
private LabeledComponent myClass = new LabeledComponent();
@@ -65,7 +66,7 @@ public class TestDiscoveryConfigurable ext
public TestDiscoveryConfigurable(final Project project) {
myModule.setText("Use classpath of");
myModule.setLabelLocation(BorderLayout.WEST);
- myModule.setComponent(new JComboBox());
+ myModule.setComponent(new ModulesComboBox());
myModuleSelector = new ConfigurationModuleSelector(project, getModulesComponent());
myCommonJavaParameters.setModuleContext(myModuleSelector.getModule());
myCommonJavaParameters.setHasModuleMacro();
@@ -225,7 +226,7 @@ public class TestDiscoveryConfigurable ext
updateComponents();
}
- public JComboBox getModulesComponent() {
+ public ModulesComboBox getModulesComponent() {
return myModule.getComponent();
}
diff --git a/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java b/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java
index 24a93afade62..1e58a5c15fdf 100644
--- a/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java
+++ b/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java
@@ -15,6 +15,8 @@
*/
package com.intellij.execution.ui;
+import com.intellij.application.options.ModuleListCellRenderer;
+import com.intellij.application.options.ModulesComboBox;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import com.intellij.execution.configurations.ModuleBasedConfiguration;
import com.intellij.openapi.module.Module;
@@ -22,38 +24,42 @@ import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.module.ModuleTypeManager;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.ui.configuration.ModulesAlphaComparator;
import com.intellij.psi.PsiClass;
import com.intellij.ui.ComboboxSpeedSearch;
-import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.ui.SortedComboBoxModel;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Comparator;
import java.util.List;
public class ConfigurationModuleSelector {
-
- private final String myNoModule;
private final Project myProject;
private final JComboBox myModulesList;
- private final SortedComboBoxModel