diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt index 7a463449fb0..192278625cf 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.tools.projectWizard.projectTemplates.ProjectTemplate import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.* import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.setting.SettingComponent import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.setting.ValidationIndicator +import java.awt.Dimension import javax.swing.JComponent class ProjectTemplateSettingComponent( @@ -64,10 +65,11 @@ class ProjectTemplateSettingComponent( class TemplateDescriptionComponent : Component() { private val descriptionLabel = label("").apply { fontColor = UIUtil.FontColor.BRIGHTER + preferredSize = Dimension(preferredSize.width, 50) } fun setTemplate(template: ProjectTemplate) { - descriptionLabel.text = template.description + descriptionLabel.text = template.description.asHtml() } override val component: JComponent = descriptionLabel diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/ui.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/ui.kt index 5485fdd7bb2..93d04259db3 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/ui.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/ui.kt @@ -13,7 +13,6 @@ import com.intellij.ui.components.JBTextField import com.intellij.util.ui.UIUtil import com.intellij.util.ui.components.BorderLayoutPanel import org.jetbrains.kotlin.idea.KotlinIcons -import org.jetbrains.kotlin.tools.projectWizard.core.Failure import org.jetbrains.kotlin.tools.projectWizard.core.entity.ValidationResult import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.ModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.SimpleTargetConfigurator diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplate.kt index 1b57115d3a6..e829db242a0 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplate.kt @@ -1,14 +1,11 @@ package org.jetbrains.kotlin.tools.projectWizard.projectTemplates -import org.intellij.lang.annotations.Language import org.jetbrains.kotlin.tools.projectWizard.core.buildList import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.* -import org.jetbrains.kotlin.tools.projectWizard.core.safeAs import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.withAllSubModules import org.jetbrains.kotlin.tools.projectWizard.settings.DisplayableSettingItem import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.templates.* @@ -16,7 +13,7 @@ import org.jetbrains.kotlin.tools.projectWizard.templates.* sealed class ProjectTemplate : DisplayableSettingItem { abstract val title: String override val text: String get() = title - abstract val htmlDescription: String + abstract val description: String abstract val suggestedProjectName: String abstract val projectKind: ProjectKind open val id: String @@ -103,8 +100,8 @@ private fun ModuleType.createDefaultTarget( ) = MultiplatformTargetModule(name, defaultTarget, createDefaultSourcesets()) object EmptySingleplatformProjectTemplate : ProjectTemplate() { - override val title = "Empty Kotlin/JVM Project" - override val htmlDescription = title + override val title = "Backend Application" + override val description = "Create a backend application with Kotlin/JVM." override val suggestedProjectName = "myKotlinJvmProject" override val projectKind = ProjectKind.Singleplatform @@ -117,8 +114,8 @@ object EmptySingleplatformProjectTemplate : ProjectTemplate() { } object EmptyMultiplatformProjectTemplate : ProjectTemplate() { - override val title = "Empty Kotlin Multiplatform Project" - override val htmlDescription = "Multiplatform Gradle project without predefined targets" + override val title = "Multiplatform Application" + override val description = "Create applications for different platforms that support sharing common code." override val suggestedProjectName = "myKotlinMultiplatformProject" override val projectKind = ProjectKind.Multiplatform @@ -131,8 +128,8 @@ object EmptyMultiplatformProjectTemplate : ProjectTemplate() { } object JvmConsoleApplication : ProjectTemplate() { - override val title = "Kotlin/JVM Console Application" - override val htmlDescription = title + override val title = "Console Application" + override val description = "Create a console application with Kotlin/JVM. Use it for prototyping or testing purposes" override val suggestedProjectName = "myConsoleApplication" override val projectKind = ProjectKind.Singleplatform @@ -150,13 +147,8 @@ object JvmConsoleApplication : ProjectTemplate() { } object MultiplatformLibrary : ProjectTemplate() { - override val title = "Kotlin Multiplatform Library" - - @Language("HTML") - override val htmlDescription = """ - Multiplatform Gradle project allowing reuse of the same Kotlin code between all three main platforms - (JVM, JS, and Native) - """.trimIndent() + override val title = "Multiplatform Library" + override val description = "Create a library for sharing common code among different platforms." override val suggestedProjectName = "myMultiplatformLibrary" override val projectKind = ProjectKind.Multiplatform @@ -177,9 +169,9 @@ object MultiplatformLibrary : ProjectTemplate() { } object JvmServerJsClient : ProjectTemplate() { - override val title: String = "Web Application with Kotlin/JS Client and Kotlin/JVM Server" - override val htmlDescription: String = - "Multiplatform Gradle project with client module running on Kotlin/JS and server module on Kotlin/JVM" + override val title: String = "Full-Stack Web Application" + override val description: String = "" + + "Create a fully-functional web application using Kotlin/JS for the frontend and Kotlin/JVM for the backend" override val suggestedProjectName: String = "myFullStackApplication" override val projectKind: ProjectKind = ProjectKind.Multiplatform override val setsPluginSettings: List> = listOf( @@ -204,10 +196,7 @@ object JvmServerJsClient : ProjectTemplate() { object AndroidApplication : ProjectTemplate() { override val title = "Android Application" - @Language("HTML") - override val htmlDescription = """ - Simple Android application with single activity - """.trimIndent() + override val description = "Simple Android application with single activity" override val suggestedProjectName = "myAndroidApplication" override val projectKind = ProjectKind.Android @@ -228,8 +217,9 @@ object AndroidApplication : ProjectTemplate() { } object NativeConsoleApplication : ProjectTemplate() { - override val title = "Kotlin/Native Console Application" - override val htmlDescription = title + override val title = "Native Application" + override val description = + "Create an application with Kotlin/Native that works as a standalone application under a specific platform." override val suggestedProjectName = "myNativeConsoleApp" override val projectKind = ProjectKind.Multiplatform @@ -252,8 +242,8 @@ object NativeConsoleApplication : ProjectTemplate() { } object JsBrowserApplication : ProjectTemplate() { - override val title = "Kotlin/JS Frontend Application" - override val htmlDescription = "Gradle project for a Kotlin/JS frontend web application" + override val title = "Frontend Application" + override val description = "Create a frontend application with Kotlin/JS if you already have a backend." override val suggestedProjectName = "myKotlinJsApplication" override val projectKind = ProjectKind.Js @@ -276,10 +266,7 @@ object JsBrowserApplication : ProjectTemplate() { object IOSApplication : ProjectTemplate() { override val title = "IOS Application" - @Language("HTML") - override val htmlDescription = """ - Simple IOS application with single screen - """.trimIndent() + override val description = "Simple IOS application with single screen " override val suggestedProjectName = "myIOSApplication" override val projectKind = ProjectKind.Multiplatform