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..bae06d286ce1 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 @@ - - + @@ -35,16 +32,13 @@ - + - - - - + - - + + 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..8615546035bb 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 @@ -26,6 +26,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.ui.LabeledComponent; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.ui.RawCommandLineEditor; import javax.swing.*; @@ -42,9 +43,9 @@ public class CommonJavaParameters extends JPanel { }; private JPanel myWholePanel; - private LabeledComponent myWorkingDirectory; private LabeledComponent myProgramParameters; private LabeledComponent myVMParameters; + private LabeledComponent myWorkingDirectoryCombo; private final LabeledComponent[] myFields = new LabeledComponent[3]; private Module myModule = null; @@ -54,21 +55,27 @@ public class CommonJavaParameters extends JPanel { add(myWholePanel, BorderLayout.CENTER); copyDialogCaption(myProgramParameters); copyDialogCaption(myVMParameters); - myWorkingDirectory.getComponent() + + final JComboBox comboBox = myWorkingDirectoryCombo.getComponent().getChildComponent(); + comboBox.setEditable(true); + comboBox.setModel(new DefaultComboBoxModel(new String[] {"$MODULE_DIR$"})); + + myWorkingDirectoryCombo.getComponent() .addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { FileChooserDescriptor fileChooserDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor(); fileChooserDescriptor.setTitle(ExecutionBundle.message("select.working.directory.message")); fileChooserDescriptor.putUserData(LangDataKeys.MODULE_CONTEXT, myModule); - VirtualFile[] files = FileChooser.chooseFiles(myWorkingDirectory, fileChooserDescriptor); + VirtualFile[] files = FileChooser.chooseFiles(myWorkingDirectoryCombo, fileChooserDescriptor); if (files.length != 0) { setText(RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY, files[0].getPresentableUrl()); } } }); + myFields[RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY] = myProgramParameters; myFields[RunJavaConfiguration.VM_PARAMETERS_PROPERTY] = myVMParameters; - myFields[RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY] = myWorkingDirectory; + myFields[RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY] = myWorkingDirectoryCombo; } private static void copyDialogCaption(final LabeledComponent component) { @@ -104,6 +111,8 @@ public class CommonJavaParameters extends JPanel { ((TextFieldWithBrowseButton)component).setText(value); else if (component instanceof RawCommandLineEditor) ((RawCommandLineEditor)component).setText(value); + else if (component instanceof ComboboxWithBrowseButton) + ((ComboboxWithBrowseButton)component).getChildComponent().setSelectedItem(value); else LOG.error(component.getClass().getName()); } @@ -113,6 +122,8 @@ public class CommonJavaParameters extends JPanel { return ((TextFieldWithBrowseButton)component).getText(); else if (component instanceof RawCommandLineEditor) return ((RawCommandLineEditor)component).getText(); + else if (component instanceof ComboboxWithBrowseButton) + return (String) ((ComboboxWithBrowseButton)component).getComboBox().getSelectedItem(); else LOG.error(component.getClass().getName()); return ""; }