From 764f54693705779633214548904edf7dd55f052a Mon Sep 17 00:00:00 2001 From: Alexey Pegov Date: Thu, 4 Feb 2010 16:27:39 +0300 Subject: [PATCH] use module dir as working directory checkbox --- .../configuration/CommonJavaParameters.form | 22 +++++++++++-------- .../configuration/CommonJavaParameters.java | 17 ++++++++++++++ 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.form b/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.form index f669e9c28087..74016d22149e 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.form +++ b/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.form @@ -1,18 +1,16 @@
- + - - + - - + @@ -24,8 +22,7 @@ - - + @@ -37,8 +34,7 @@ - - + @@ -48,6 +44,14 @@ + + + + + + + + diff --git a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java b/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java index f3b7a1c991bd..0b027bc580c8 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java +++ b/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java @@ -45,6 +45,7 @@ public class CommonJavaParameters extends JPanel { private LabeledComponent myWorkingDirectory; private LabeledComponent myProgramParameters; private LabeledComponent myVMParameters; + private JCheckBox myUseModuleDirectoryAsCheckBox; private final LabeledComponent[] myFields = new LabeledComponent[3]; private Module myModule = null; @@ -69,6 +70,13 @@ public class CommonJavaParameters extends JPanel { myFields[RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY] = myProgramParameters; myFields[RunJavaConfiguration.VM_PARAMETERS_PROPERTY] = myVMParameters; myFields[RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY] = myWorkingDirectory; + + myUseModuleDirectoryAsCheckBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + final boolean selected = ((JCheckBox)e.getSource()).isSelected(); + myWorkingDirectory.getComponent().setEnabled(!selected); + } + }); } private static void copyDialogCaption(final LabeledComponent component) { @@ -99,6 +107,11 @@ public class CommonJavaParameters extends JPanel { } public void setText(final int property, final String value) { + if (RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY == property && value != null && "$MODULE_DIR$".equals(value.trim())) { + myUseModuleDirectoryAsCheckBox.setSelected(true); + myWorkingDirectory.getComponent().setEnabled(false); + } + final JComponent component = getLabeledComponent(property).getComponent(); if (component instanceof TextFieldWithBrowseButton) ((TextFieldWithBrowseButton)component).setText(value); @@ -108,6 +121,10 @@ public class CommonJavaParameters extends JPanel { } public String getText(final int property) { + if (RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY == property && myUseModuleDirectoryAsCheckBox.isSelected()) { + return "$MODULE_DIR$"; + } + final JComponent component = getLabeledComponent(property).getComponent(); if (component instanceof TextFieldWithBrowseButton) return ((TextFieldWithBrowseButton)component).getText();