package jetbrains.mps.execution.configurations.implementation.plugin.plugin; /*Generated by MPS */ import jetbrains.mps.execution.api.settings.SettingsEditorEx; import org.jetbrains.annotations.NotNull; import javax.swing.JPanel; import java.awt.GridBagLayout; import jetbrains.mps.internal.collections.runtime.ListSequence; import java.util.ArrayList; import org.jetbrains.mps.openapi.model.SNodeReference; import jetbrains.mps.ide.common.LayoutUtil; import com.intellij.openapi.options.ConfigurationException; import jetbrains.mps.internal.collections.runtime.ISelector; import jetbrains.mps.execution.lib.PointerUtils; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Factory; public class DeployPluginsSettings_Configuration_Editor extends SettingsEditorEx<DeployPluginsSettings_Configuration> { private PluginsListPanel myPluginsPanel; public void disposeEditor() { } @NotNull public JPanel createEditor() { JPanel panel = new JPanel(new GridBagLayout()); myPluginsPanel = new PluginsListPanel(myp); myPluginsPanel.setData(ListSequence.fromList(new ArrayList<SNodeReference>())); panel.add(myPluginsPanel, LayoutUtil.createPanelConstraints(0)); return panel; } public void applyEditorTo(final DeployPluginsSettings_Configuration configuration) throws ConfigurationException { configuration.getPluginsToDeploy().clear(); ListSequence.fromList(configuration.getPluginsToDeploy().getData()).addSequence(ListSequence.fromList(myPluginsPanel.getItems()).select(new ISelector<SNodeReference, String>() { public String select(SNodeReference it) { return PointerUtils.pointerToString(it); } })); } public void resetEditorFrom(final DeployPluginsSettings_Configuration configuration) { myPluginsPanel.setData(PointerUtils.clonableListToNodes(configuration.getPluginsToDeploy())); } private Project myp; public DeployPluginsSettings_Configuration_Editor(final Project p) { super(new Factory<DeployPluginsSettings_Configuration>() { public DeployPluginsSettings_Configuration create() { return new DeployPluginsSettings_Configuration(p); } }); myp = p; } }