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 d0b27f065425..7e5fd2bc54ff 100644 --- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java +++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurable.java @@ -17,9 +17,9 @@ package com.intellij.execution.applet; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.impl.CheckableRunConfigurationEditor; -import com.intellij.execution.junit2.configuration.ClassBrowser; -import com.intellij.execution.junit2.configuration.ConfigurationModuleSelector; import com.intellij.execution.ui.AlternativeJREPanel; +import com.intellij.execution.ui.ClassBrowser; +import com.intellij.execution.ui.ConfigurationModuleSelector; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.options.SettingsEditor; import com.intellij.openapi.project.Project; diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.form b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.form index 2a3bffa533bf..e5b071cd1d10 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.form +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.form @@ -13,13 +13,11 @@ - + - - - + @@ -56,6 +54,7 @@ + diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.java index 1c638934a79f..b32098aa306d 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable2.java @@ -17,10 +17,10 @@ package com.intellij.execution.application; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.configuration.EnvironmentVariablesComponent; -import com.intellij.execution.junit2.configuration.ClassBrowser; -import com.intellij.execution.junit2.configuration.CommonJavaParameters; -import com.intellij.execution.junit2.configuration.ConfigurationModuleSelector; import com.intellij.execution.ui.AlternativeJREPanel; +import com.intellij.execution.ui.ClassBrowser; +import com.intellij.execution.ui.CommonJavaParameters; +import com.intellij.execution.ui.ConfigurationModuleSelector; import com.intellij.execution.util.JreVersionDetector; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.SettingsEditor; @@ -34,7 +34,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ApplicationConfigurable2 extends SettingsEditor { - private CommonJavaParameters myCommonJavaParameters; + private CommonJavaParameters myCommonProgramParameters; private LabeledComponent myMainClass; private LabeledComponent myModule; private JPanel myWholePanel; @@ -49,14 +49,14 @@ public class ApplicationConfigurable2 extends SettingsEditor -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/java/execution/impl/src/com/intellij/execution/junit2/configuration/ClassBrowser.java b/java/execution/impl/src/com/intellij/execution/ui/ClassBrowser.java similarity index 99% rename from java/execution/impl/src/com/intellij/execution/junit2/configuration/ClassBrowser.java rename to java/execution/impl/src/com/intellij/execution/ui/ClassBrowser.java index 36eb1e37e3dd..ea65d0316b32 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/configuration/ClassBrowser.java +++ b/java/execution/impl/src/com/intellij/execution/ui/ClassBrowser.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.execution.junit2.configuration; +package com.intellij.execution.ui; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.JavaExecutionUtil; diff --git a/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParameters.java b/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParameters.java new file mode 100644 index 000000000000..2364ccece6aa --- /dev/null +++ b/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParameters.java @@ -0,0 +1,64 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution.ui; + +import com.intellij.execution.ExecutionBundle; +import com.intellij.execution.RunJavaConfiguration; +import com.intellij.openapi.ui.LabeledComponent; +import com.intellij.ui.RawCommandLineEditor; + +import java.awt.*; + +public class CommonJavaParameters extends CommonProgramParameters { + private LabeledComponent myVMParameters; + + public CommonJavaParameters() { + super(); + } + + @Override + protected void addComponents(GridBagConstraints c) { + myVMParameters = LabeledComponent.create(new RawCommandLineEditor(), + ExecutionBundle.message("run.configuration.java.vm.parameters.label")); + copyDialogCaption(myVMParameters); + + + c.gridy++; + add(myVMParameters, c); + + super.addComponents(c); + } + + public void applyTo(RunJavaConfiguration configuration) { + configuration.setProperty(RunJavaConfiguration.VM_PARAMETERS_PROPERTY, getVMParameters()); + configuration.setProperty(RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY, getProgramParameters()); + configuration.setProperty(RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY, getWorkingDirectory()); + } + + public void setVMParameters(String text) { + myVMParameters.getComponent().setText(text); + } + + public String getVMParameters() { + return myVMParameters.getComponent().getText(); + } + + public void reset(final RunJavaConfiguration configuration) { + setVMParameters(configuration.getProperty(RunJavaConfiguration.VM_PARAMETERS_PROPERTY)); + setProgramParameters(configuration.getProperty(RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY)); + setWorkingDirectory(configuration.getProperty(RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY)); + } +} diff --git a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java b/java/execution/impl/src/com/intellij/execution/ui/CommonProgramParameters.java similarity index 51% rename from java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java rename to java/execution/impl/src/com/intellij/execution/ui/CommonProgramParameters.java index f32438d59ee4..367a085e7e08 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/configuration/CommonJavaParameters.java +++ b/java/execution/impl/src/com/intellij/execution/ui/CommonProgramParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,13 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.execution.junit2.configuration; +package com.intellij.execution.ui; import com.intellij.execution.ExecutionBundle; -import com.intellij.execution.RunJavaConfiguration; import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.application.PathMacros; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.fileChooser.FileChooser; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; @@ -41,106 +39,34 @@ import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; -public class CommonJavaParameters extends JPanel { - private static final Logger LOG = Logger.getInstance("#com.intellij.execution.junit2.configuration.CommonJavaParameters"); - +public class CommonProgramParameters extends JPanel { private static final Icon ICON = IconLoader.getIcon("/runConfigurations/variables.png"); - private static final int[] ourProperties = new int[]{ - RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY, - RunJavaConfiguration.VM_PARAMETERS_PROPERTY, - RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY - }; - - private JPanel myWholePanel; - private LabeledComponent myProgramParameters; - private LabeledComponent myVMParameters; + private LabeledComponent myProgramParametersComponent; private LabeledComponent myWorkingDirectoryComponent; - - private final LabeledComponent[] myFields = new LabeledComponent[3]; - private Module myModule = null; - private JButton myVariablesButton; private TextFieldWithBrowseButton myWorkingDirectoryField; - public CommonJavaParameters() { - super(new BorderLayout()); - add(myWholePanel, BorderLayout.CENTER); - copyDialogCaption(myProgramParameters); - copyDialogCaption(myVMParameters); + private Module myModuleContext = null; - myFields[RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY] = myProgramParameters; - myFields[RunJavaConfiguration.VM_PARAMETERS_PROPERTY] = myVMParameters; - myFields[RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY] = myWorkingDirectoryComponent; + public CommonProgramParameters() { + super(new GridBagLayout()); + initComponents(); + copyDialogCaption(myProgramParametersComponent); } - private static void copyDialogCaption(final LabeledComponent component) { - final RawCommandLineEditor rawCommandLineEditor = component.getComponent(); - rawCommandLineEditor.setDialogCaption(component.getRawText()); - component.getLabel().setLabelFor(rawCommandLineEditor.getTextField()); - } + protected void initComponents() { + myProgramParametersComponent = LabeledComponent.create(new RawCommandLineEditor(), + ExecutionBundle.message("run.configuration.program.parameters")); - public String getProgramParametersText() { - return getLabeledComponent(RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY).getText(); - } - - public void setProgramParametersText(String textWithMnemonic) { - getLabeledComponent(RunJavaConfiguration.PROGRAM_PARAMETERS_PROPERTY).setText(textWithMnemonic); - copyDialogCaption(myProgramParameters); - } - - public void applyTo(final RunJavaConfiguration configuration) { - for (final int property : ourProperties) { - configuration.setProperty(property, getText(property)); - } - } - - public void reset(final RunJavaConfiguration configuration) { - for (final int property : ourProperties) { - setText(property, configuration.getProperty(property)); - } - } - - public void setText(final int property, final String value) { - final JComponent component = getLabeledComponent(property).getComponent(); - if (component instanceof TextFieldWithBrowseButton) - ((TextFieldWithBrowseButton)component).setText(value); - else if (component instanceof RawCommandLineEditor) - ((RawCommandLineEditor)component).setText(value); - else if (component instanceof JPanel) - myWorkingDirectoryField.setText(value); - else LOG.error(component.getClass().getName()); - } - - public String getText(final int property) { - final JComponent component = getLabeledComponent(property).getComponent(); - if (component instanceof TextFieldWithBrowseButton) - return ((TextFieldWithBrowseButton)component).getText(); - else if (component instanceof RawCommandLineEditor) - return ((RawCommandLineEditor)component).getText(); - else if (component instanceof JPanel) - return myWorkingDirectoryField.getText(); - else LOG.error(component.getClass().getName()); - return ""; - } - - private LabeledComponent getLabeledComponent(final int index) { - return myFields[index]; - } - - public void setModuleContext(final Module module) { - myModule = module; - } - - private void createUIComponents() { final JPanel panel = new JPanel(new BorderLayout()); myWorkingDirectoryField = new TextFieldWithBrowseButton(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); + fileChooserDescriptor.putUserData(LangDataKeys.MODULE_CONTEXT, myModuleContext); VirtualFile[] files = FileChooser.chooseFiles(myWorkingDirectoryComponent, fileChooserDescriptor); if (files.length != 0) { - setText(RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY, files[0].getPresentableUrl()); + setWorkingDirectory(files[0].getPresentableUrl()); } } }); @@ -158,7 +84,7 @@ public class CommonJavaParameters extends JPanel { public void run() { final Object value = list.getSelectedValue(); if (value instanceof String) { - setText(RunJavaConfiguration.WORKING_DIRECTORY_PROPERTY, "$" + value + "$"); + setWorkingDirectory("$" + value + "$"); } } }).setMovable(false).setResizable(false).createPopup(); @@ -167,6 +93,56 @@ public class CommonJavaParameters extends JPanel { }); panel.add(button, BorderLayout.EAST); - myWorkingDirectoryComponent = LabeledComponent.create(panel, "&Working directory"); + myWorkingDirectoryComponent = LabeledComponent.create(panel, ExecutionBundle.message("run.configuration.working.directory.label")); + + GridBagConstraints c = new GridBagConstraints(); + c.weightx = 1; + c.fill = GridBagConstraints.HORIZONTAL; + c.anchor = GridBagConstraints.LINE_START; + c.gridx = 0; + + addComponents(c); + } + + protected void addComponents(GridBagConstraints c) { + c.gridy++; + add(myProgramParametersComponent, c); + c.gridy++; + add(myWorkingDirectoryComponent, c); + } + + protected void copyDialogCaption(final LabeledComponent component) { + final RawCommandLineEditor rawCommandLineEditor = component.getComponent(); + rawCommandLineEditor.setDialogCaption(component.getRawText()); + component.getLabel().setLabelFor(rawCommandLineEditor.getTextField()); + } + + public String getProgramParametersLabel() { + return myProgramParametersComponent.getText(); + } + + public void setProgramParametersLabel(String textWithMnemonic) { + myProgramParametersComponent.setText(textWithMnemonic); + copyDialogCaption(myProgramParametersComponent); + } + + public String getProgramParameters() { + return myProgramParametersComponent.getComponent().getText(); + } + + public void setProgramParameters(String text) { + myProgramParametersComponent.getComponent().setText(text); + } + + public String getWorkingDirectory() { + return myWorkingDirectoryField.getText(); + } + + public void setWorkingDirectory(String text) { + myWorkingDirectoryField.setText(text); + } + + public void setModuleContext(Module module) { + myModuleContext = module; } } diff --git a/java/execution/impl/src/com/intellij/execution/junit2/configuration/ConfigurationModuleSelector.java b/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java similarity index 98% rename from java/execution/impl/src/com/intellij/execution/junit2/configuration/ConfigurationModuleSelector.java rename to java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java index 06221a7054ca..3ebb7c2af88f 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/configuration/ConfigurationModuleSelector.java +++ b/java/execution/impl/src/com/intellij/execution/ui/ConfigurationModuleSelector.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.execution.junit2.configuration; +package com.intellij.execution.ui; import com.intellij.execution.configurations.JavaRunConfigurationModule; import com.intellij.execution.configurations.ModuleBasedConfiguration; diff --git a/platform/platform-resources-en/src/messages/ExecutionBundle.properties b/platform/platform-resources-en/src/messages/ExecutionBundle.properties index 7be7fe972198..be900117299b 100644 --- a/platform/platform-resources-en/src/messages/ExecutionBundle.properties +++ b/platform/platform-resources-en/src/messages/ExecutionBundle.properties @@ -141,6 +141,9 @@ junit.tests.in.progress.label=Tests in Progress junit.auto.scroll.to.source.action.name=Auto Scroll to Source junit.open.text.in.editor.action.name=Open selected test in editor +run.configuration.java.vm.parameters.label=&VM parameters: +run.configuration.program.parameters=Program pa&rameters: +run.configuration.working.directory.label=&Working directory: run.configuration.use.alternate.jre.checkbox=Use alternative &JRE: run.configuration.select.alternate.jre.label=Select Alternative JRE run.configuration.select.jre.dir.label=Select directory with JRE to run with @@ -155,7 +158,6 @@ run.error.message.title=Run Error default.runner.start.action.text=R&un remote.debug.configuration.description=Remote debug configuration remote.debug.configuration.display.name=Remote -run.configuration.program.parameters=Program pa&rameters: default.runner.start.action.label=Running {0} applet.configuration.url.label=&URL @@ -191,9 +193,7 @@ no.tests.found.in.package.error.message=No tests found in the package ''{0}'' package.does.not.exist.error.message=Package ''{0}'' does not exist choose.main.class.dialog.title=Choose Main Class choose.applet.class.dialog.title=Choose Applet Class -junit.configuration.working.directory.label=&Working directory: junit.configuration.test.runner.parameters.label=Test runner pa&rameters: -junit.configuration.vm.parameters.label=&VM parameters: junit.configuration.use.classpath.and.jdk.of.module.label=Use classpath and JDK of m&odule: junit.configuration.test.border=Test junit.configuration.across.module.dependencies.radio=Across modu&le dependencies diff --git a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.form b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.form index a6c4dc652285..e11706f8fa8b 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.form +++ b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.form @@ -3,7 +3,7 @@ - + @@ -179,11 +179,13 @@ - + - + + + diff --git a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java index 9ad7f4ce1f8b..1a0cd56b4ae4 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java +++ b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java @@ -25,6 +25,9 @@ import com.intellij.execution.junit.JUnitUtil; import com.intellij.execution.junit.TestClassFilter; import com.intellij.execution.testframework.TestSearchScope; import com.intellij.execution.ui.AlternativeJREPanel; +import com.intellij.execution.ui.ClassBrowser; +import com.intellij.execution.ui.CommonJavaParameters; +import com.intellij.execution.ui.ConfigurationModuleSelector; import com.intellij.ide.util.PackageChooserDialog; import com.intellij.ide.util.TreeClassChooser; import com.intellij.openapi.module.Module; @@ -98,6 +101,8 @@ public class JUnitConfigurable extends SettingsEditor { configuration.getPersistentData().setEnvs(myEnvVariablesComponent.getEnvs()); configuration.getPersistentData().PASS_PARENT_ENVS = myEnvVariablesComponent.isPassParentEnvs(); + + myCommonJavaParameters.setProgramParametersLabel(ExecutionBundle.message("junit.configuration.test.runner.parameters.label")); } public void resetEditorFrom(final JUnitConfiguration configuration) { diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java index f2fb3b7bfff4..7d7f0b56a4d9 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java @@ -22,13 +22,14 @@ */ package com.theoryinpractice.testng.configuration; +import com.intellij.execution.ExecutionBundle; import com.intellij.execution.JavaExecutionUtil; import com.intellij.execution.configuration.BrowseModuleValueActionListener; import com.intellij.execution.configuration.EnvironmentVariablesComponent; -import com.intellij.execution.junit2.configuration.CommonJavaParameters; -import com.intellij.execution.junit2.configuration.ConfigurationModuleSelector; import com.intellij.execution.testframework.TestSearchScope; import com.intellij.execution.ui.AlternativeJREPanel; +import com.intellij.execution.ui.CommonJavaParameters; +import com.intellij.execution.ui.ConfigurationModuleSelector; import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; import com.intellij.openapi.diagnostic.Logger; @@ -160,6 +161,8 @@ public class TestNGConfigurationEditor extends SettingsEditor