From 308b9ffc394f72bad7b84ce7bd4300c5fc5c8748 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 23 Jun 2015 14:11:36 +0200 Subject: [PATCH 1/5] add missing UI for specifying alternative JRE path to Kotlin run configuration --- .../kotlin/idea/run/JetRunConfigurationEditor.form | 14 ++++++++++---- .../kotlin/idea/run/JetRunConfigurationEditor.java | 5 +++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form index 23783532227..527234af01d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form @@ -1,9 +1,9 @@
- + - + @@ -18,7 +18,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -43,6 +43,12 @@ + + + + + + diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java index 2fd241402b1..a776d040e04 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.run; +import com.intellij.execution.ui.AlternativeJREPanel; import com.intellij.execution.ui.CommonJavaParametersPanel; import com.intellij.execution.ui.ConfigurationModuleSelector; import com.intellij.openapi.options.ConfigurationException; @@ -34,6 +35,7 @@ public class JetRunConfigurationEditor extends SettingsEditor Date: Tue, 23 Jun 2015 16:32:15 +0200 Subject: [PATCH 2/5] validate some of the settings in KotlinRunConfiguration --- .../jetbrains/kotlin/idea/run/JetRunConfiguration.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java index f081f001690..57a41b23f6a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java @@ -23,6 +23,7 @@ import com.intellij.execution.configurations.*; import com.intellij.execution.filters.TextConsoleBuilderFactory; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.util.JavaParametersUtil; +import com.intellij.execution.util.ProgramParametersUtil; import com.intellij.openapi.components.PathMacroManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; @@ -202,6 +203,13 @@ public class JetRunConfiguration extends ModuleBasedConfiguration Date: Tue, 23 Jun 2015 17:16:32 +0200 Subject: [PATCH 3/5] use PanelWithAnchor to align all labels and text fields in Kotlin run configuration --- .../idea/run/JetRunConfigurationEditor.form | 25 ++++++--------- .../idea/run/JetRunConfigurationEditor.java | 31 +++++++++++++++++-- 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form index 527234af01d..47a50b2f982 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form @@ -8,27 +8,11 @@ - - - - - - - - - - - - - - - - @@ -49,6 +33,15 @@ + + + + + + + + + diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java index a776d040e04..515b6ad9040 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java @@ -23,6 +23,8 @@ import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.SettingsEditor; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.LabeledComponent; +import com.intellij.ui.PanelWithAnchor; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -30,16 +32,19 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -public class JetRunConfigurationEditor extends SettingsEditor { +public class JetRunConfigurationEditor extends SettingsEditor implements PanelWithAnchor { private JPanel myMainPanel; private JTextField myMainClassField; private JPanel myModuleChooserHolder; private CommonJavaParametersPanel myCommonProgramParameters; private AlternativeJREPanel alternativeJREPanel; + private LabeledComponent mainClass; private ConfigurationModuleSelector myModuleSelector; + private JComponent anchor; + private final LabeledComponent moduleChooser; public JetRunConfigurationEditor(Project project) { - LabeledComponent moduleChooser = LabeledComponent.create(new JComboBox(), "Use classpath and JDK of module:"); + moduleChooser = LabeledComponent.create(new JComboBox(), "Use classpath and JDK of module:"); myModuleChooserHolder.add(moduleChooser, BorderLayout.CENTER); myModuleSelector = new ConfigurationModuleSelector(project, moduleChooser.getComponent()); myCommonProgramParameters.setModuleContext(myModuleSelector.getModule()); @@ -49,6 +54,8 @@ public class JetRunConfigurationEditor extends SettingsEditor(); + myMainClassField = new JTextField(); + mainClass.setComponent(myMainClassField); + } } From a3b543a05a7ba7b925be2cb90f33d24a38b5e233 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 23 Jun 2015 17:48:34 +0200 Subject: [PATCH 4/5] change module chooser to look like in IDEA's Java run configuration --- .../jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java index 515b6ad9040..684786ac3fb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.java @@ -44,7 +44,8 @@ public class JetRunConfigurationEditor extends SettingsEditor moduleChooser; public JetRunConfigurationEditor(Project project) { - moduleChooser = LabeledComponent.create(new JComboBox(), "Use classpath and JDK of module:"); + moduleChooser = LabeledComponent.create(new JComboBox(), "Use classpath of module:"); + moduleChooser.setLabelLocation(BorderLayout.WEST); myModuleChooserHolder.add(moduleChooser, BorderLayout.CENTER); myModuleSelector = new ConfigurationModuleSelector(project, moduleChooser.getComponent()); myCommonProgramParameters.setModuleContext(myModuleSelector.getModule()); From 02211f14313b9bf703ac297c2a2a2160efc46781 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 23 Jun 2015 18:02:15 +0200 Subject: [PATCH 5/5] reorder fields to match Java --- .../idea/run/JetRunConfigurationEditor.form | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form index 47a50b2f982..c71fd05d308 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfigurationEditor.form @@ -13,14 +13,6 @@ - - - - - - - - @@ -29,7 +21,7 @@ - + @@ -42,6 +34,14 @@ + + + + + + + +