package fr.adrienbrault.idea.symfony2plugin.installer; import com.intellij.ide.util.projectWizard.SettingsStep; import com.intellij.openapi.ui.ValidationInfo; import com.intellij.platform.WebProjectGenerator; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; /** * @author Daniel Espendiller <daniel@espendiller.net> */ public class SymfonyInstallerGeneratorPeer implements WebProjectGenerator.GeneratorPeer<SymfonyInstallerSettings> { private SymfonyInstallerForm symfonyInstallerForm; public SymfonyInstallerGeneratorPeer() { symfonyInstallerForm = new SymfonyInstallerForm(); } @NotNull @Override public JComponent getComponent() { return symfonyInstallerForm.getContentPane(); } @Override public void buildUI(@NotNull SettingsStep settingsStep) { settingsStep.addSettingsComponent(symfonyInstallerForm.getContentPane()); } @NotNull @Override public SymfonyInstallerSettings getSettings() { return new SymfonyInstallerSettings( symfonyInstallerForm.getVersion(), symfonyInstallerForm.getInterpreter() ); } @Nullable @Override public ValidationInfo validate() { /* issue in: PhpStorm 8.0.2 ? if(StringUtils.isBlank(symfonyInstallerForm.getInterpreter())) { return new ValidationInfo("Invalid PHP interpreter"); } */ return null; } @Override public boolean isBackgroundJobRunning() { return false; } @Override public void addSettingsStateListener(@NotNull WebProjectGenerator.SettingsStateListener settingsStateListener) { } }