From 5193eabc6677a3533701b56337c099d83c15ea05 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 12 Jun 2014 18:57:04 +0400 Subject: [PATCH] reworked new web2py project creation --- .../actions/AbstractProjectSettingsStep.java | 14 ++++++++++---- .../python/newProject/PythonProjectGenerator.java | 5 +++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java index 4d754725f5e4..7ecfb2b895f6 100644 --- a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java +++ b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java @@ -231,6 +231,9 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane public boolean checkValid() { final String projectName = myLocationField.getText(); + setErrorText(null); + myInstallFramework = false; + if (projectName.trim().isEmpty()) { setErrorText("Project name can't be empty"); return false; @@ -246,7 +249,12 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane setErrorText(validationResult.getErrorMessage()); return false; } - + if (myProjectGenerator instanceof PythonProjectGenerator) { + final ValidationResult warningResult = ((PythonProjectGenerator)myProjectGenerator).warningValitation(); + if (!warningResult.isOk()) { + setWarningText(warningResult.getErrorMessage()); + } + } if (myProjectGenerator instanceof WebProjectTemplate) { final ValidationInfo validationInfo = ((WebProjectTemplate)myProjectGenerator).getPeer().validate(); if (validationInfo != null) { @@ -257,8 +265,6 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane } final Sdk sdk = getSdk(); - setErrorText(null); - myInstallFramework = false; final boolean isPy3k = sdk != null && PythonSdkType.getLanguageLevelForSdk(sdk).isPy3K(); if (sdk != null && PythonSdkType.isRemote(sdk) && !acceptsRemoteSdk(myProjectGenerator)) { @@ -305,7 +311,7 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane } public void setWarningText(@Nullable String text) { - myErrorLabel.setText("Note: " + text); + myErrorLabel.setText("Note: " + text + " "); myErrorLabel.setForeground(JBColor.YELLOW); } diff --git a/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java b/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java index 3743ff332069..f506181237dc 100644 --- a/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java +++ b/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java @@ -1,5 +1,6 @@ package com.jetbrains.python.newProject; +import com.intellij.facet.ui.ValidationResult; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -21,6 +22,10 @@ public abstract class PythonProjectGenerator { return new PyNewProjectSettings(); } + public ValidationResult warningValitation() { + return ValidationResult.OK; + } + public void addSettingsStateListener(@NotNull SettingsListener listener) { myListeners.add(listener); }