RunConfigurable: "Share" option moved next to "Name" field

This commit is contained in:
Dmitry Avdeev
2012-07-25 14:24:58 +04:00
parent 289a6a9b6c
commit de4dec0ae5
6 changed files with 58 additions and 57 deletions
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.execution.impl.ConfigurationSettingsEditorWrapper">
<grid id="27dc6" binding="myWholePanel" layout-manager="GridLayoutManager" row-count="5" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="27dc6" binding="myWholePanel" layout-manager="GridLayoutManager" row-count="4" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="5" bottom="0" right="0"/>
<constraints>
<xy x="124" y="274" width="276" height="150"/>
@@ -28,14 +28,6 @@
<border type="etched" title-resource-bundle="messages/ExecutionBundle" title-key="before.launch.panel.title"/>
<children/>
</grid>
<component id="c7b94" class="javax.swing.JCheckBox" binding="myCbStoreProjectConfiguration">
<constraints>
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="messages/ExecutionBundle" key="run.configuration.store.place.option"/>
</properties>
</component>
<vspacer id="6092a">
<constraints>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="0" indent="0" use-parent-layout="false">
@@ -32,8 +32,6 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collections;
import java.util.List;
@@ -45,14 +43,11 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor<RunnerAnd
implements BeforeRunStepsPanel.StepsBeforeRunListener {
public static DataKey<ConfigurationSettingsEditorWrapper> CONFIGURATION_EDITOR_KEY = DataKey.create("ConfigurationSettingsEditor");
private JPanel myComponentPlace;
private JCheckBox myCbStoreProjectConfiguration;
private JPanel myWholePanel;
private JPanel myBeforeLaunchContainer;
private BeforeRunStepsPanel myBeforeRunStepsPanel;
private boolean myStoreProjectConfiguration;
private final ConfigurationSettingsEditor myEditor;
public ConfigurationSettingsEditorWrapper(final RunnerAndConfigurationSettings settings) {
@@ -65,21 +60,9 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor<RunnerAnd
private void doReset(RunnerAndConfigurationSettings settings) {
final RunConfiguration runConfiguration = settings.getConfiguration();
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(runConfiguration.getProject());
myBeforeRunStepsPanel.doReset(settings);
myBeforeLaunchContainer.setVisible(!(runConfiguration instanceof UnknownRunConfiguration));
myStoreProjectConfiguration = runManager.isConfigurationShared(settings);
myCbStoreProjectConfiguration.setEnabled(!(runConfiguration instanceof UnknownRunConfiguration));
myCbStoreProjectConfiguration.setSelected(myStoreProjectConfiguration);
myCbStoreProjectConfiguration.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
myStoreProjectConfiguration = myCbStoreProjectConfiguration.isSelected();
}
});
myCbStoreProjectConfiguration.setVisible(!settings.isTemplate());
}
@NotNull
@@ -113,7 +96,6 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor<RunnerAnd
final RunConfiguration runConfiguration = settings.getConfiguration();
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(runConfiguration.getProject());
runManager.setBeforeRunTasks(runConfiguration, myBeforeRunStepsPanel.getTasks(true), false);
runManager.shareConfiguration(runConfiguration, myStoreProjectConfiguration);
RunnerAndConfigurationSettings runManagerSettings = runManager.getSettings(runConfiguration);
if (runManagerSettings != null) {
runManagerSettings.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun());
@@ -128,10 +110,6 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor<RunnerAnd
return Collections.unmodifiableList(myBeforeRunStepsPanel.getTasks(true));
}
public boolean isStoreProjectConfiguration() {
return myStoreProjectConfiguration;
}
@Override
public void fireStepsBeforeRunChanged() {
fireEditorStateChanged();
@@ -1227,7 +1227,7 @@ class RunConfigurable extends BaseConfigurable {
myConfigurable = configurable;
mySettings = (RunnerAndConfigurationSettings)myConfigurable.getSettings();
final ConfigurationSettingsEditorWrapper editorWrapper = (ConfigurationSettingsEditorWrapper)myConfigurable.getEditor();
myShared = editorWrapper.isStoreProjectConfiguration();
myShared = configurable.isStoreProjectConfiguration();
myStepsBeforeLaunch = editorWrapper.getStepsBeforeLaunch();
}
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.execution.impl.SingleConfigurationConfigurable.MyValidatableComponent">
<grid id="cae26" binding="myWholePanel" layout-manager="GridLayoutManager" row-count="4" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="cae26" binding="myWholePanel" layout-manager="GridLayoutManager" row-count="3" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="13" y="24" width="615" height="174"/>
<xy x="13" y="24" width="427" height="174"/>
</constraints>
<properties/>
<border type="none"/>
@@ -11,7 +11,7 @@
<grid id="cd390" layout-manager="GridLayoutManager" row-count="2" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="5" bottom="0" right="0"/>
<constraints>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="2" fill="1" indent="0" use-parent-layout="false"/>
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="2" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@@ -46,14 +46,14 @@
<xy id="49cf" binding="myComponentPlace" layout-manager="XYLayout" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</xy>
<grid id="bb10e" layout-manager="GridLayoutManager" row-count="1" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="5" bottom="0" right="0"/>
<grid id="bb10e" layout-manager="GridLayoutManager" row-count="1" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="5" bottom="3" right="0"/>
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
@@ -71,20 +71,27 @@
</component>
<component id="4f1db" class="javax.swing.JTextField" binding="myNameText">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="7" anchor="0" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="100" height="-1"/>
</grid>
</constraints>
<properties/>
</component>
<component id="53321" class="javax.swing.JCheckBox" binding="myCbStoreProjectConfiguration">
<constraints>
<grid row="0" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="messages/ExecutionBundle" key="run.configuration.store.place.option"/>
</properties>
</component>
<hspacer id="e4047">
<constraints>
<grid row="0" column="3" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
</hspacer>
</children>
</grid>
<component id="c89fa" class="javax.swing.JSeparator">
<constraints>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
</children>
</grid>
</form>
@@ -49,18 +49,17 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
private MyValidatableComponent myComponent;
private final String myDisplayName;
private final String myHelpTopic;
private final Icon myIcon;
private final boolean myBrokenConfiguration;
private boolean myStoreProjectConfiguration;
private SingleConfigurationConfigurable(RunnerAndConfigurationSettings settings, @Nullable Executor executor) {
super(new ConfigurationSettingsEditorWrapper(settings), settings);
myExecutor = executor;
final Config configuration = (Config)getSettings().getConfiguration();
final Config configuration = getConfiguration();
myDisplayName = getSettings().getName();
myHelpTopic = "reference.dialogs.rundebug." + configuration.getType().getId();
myIcon = configuration.getType().getIcon();
myBrokenConfiguration = configuration instanceof UnknownRunConfiguration;
@@ -87,6 +86,9 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
public void apply() throws ConfigurationException {
RunnerAndConfigurationSettings settings = getSettings();
RunConfiguration runConfiguration = settings.getConfiguration();
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(runConfiguration.getProject());
runManager.shareConfiguration(runConfiguration, myStoreProjectConfiguration);
settings.setName(getNameText());
super.apply();
RunManagerImpl.getInstanceImpl(getConfiguration().getProject()).fireRunConfigurationChanged(settings);
@@ -94,20 +96,24 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
public void reset() {
RunnerAndConfigurationSettings configuration = getSettings();
if (configuration != null) {
setNameText(configuration.getName());
}
setNameText(configuration.getName());
super.reset();
if (myComponent == null) {
myComponent = new MyValidatableComponent();
}
myComponent.doReset(configuration);
}
public final JComponent createComponent() {
if (myComponent == null) {
myComponent = new MyValidatableComponent();
myComponent.myNameText.setEnabled(!myBrokenConfiguration);
}
myComponent.myNameText.setEnabled(!myBrokenConfiguration);
return myComponent.getWholePanel();
}
public boolean isStoreProjectConfiguration() {
return myStoreProjectConfiguration;
}
@Nullable
private ValidationResult getValidationResult() {
if (!myValidationResultValid) {
myLastValidationResult = null;
@@ -212,6 +218,8 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
private JLabel myWarningLabel;
private JButton myFixButton;
private JSeparator mySeparator;
private JCheckBox myCbStoreProjectConfiguration;
private Runnable myQuickFix = null;
public MyValidatableComponent() {
@@ -247,6 +255,21 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
settingAnchor();
}
private void doReset(RunnerAndConfigurationSettings settings) {
final RunConfiguration runConfiguration = settings.getConfiguration();
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(runConfiguration.getProject());
myStoreProjectConfiguration = runManager.isConfigurationShared(settings);
myCbStoreProjectConfiguration.setEnabled(!(runConfiguration instanceof UnknownRunConfiguration));
myCbStoreProjectConfiguration.setSelected(myStoreProjectConfiguration);
myCbStoreProjectConfiguration.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
myStoreProjectConfiguration = myCbStoreProjectConfiguration.isSelected();
}
});
myCbStoreProjectConfiguration.setVisible(!settings.isTemplate());
}
private void settingAnchor() {
}
@@ -258,6 +281,7 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
return getEditor().getComponent();
}
@Nullable
public ValidationResult getValidationResult() {
return SingleConfigurationConfigurable.this.getValidationResult();
}
@@ -276,7 +276,7 @@ coverage.tab.title=Code Coverage
show.swing.inspector=&Enable capturing form snapshots
show.swing.inspector.disabled=&Enable capturing form snapshots (requires JRE 5.0 or higher)
before.run.property.make=Make
run.configuration.store.place.option=&Share configuration
run.configuration.store.place.option=&Share
run.configuration.default.type.description=configuration
#GeneralCommandLine