From f767fd50e898a412512dc7c5f8999b70def8aba2 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 25 Mar 2020 00:32:03 +0300 Subject: [PATCH] Wizard: add scroll bar to the project templates list --- .../ui/firstStep/ProjectTemplateSettingComponent.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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 b23ab4a2eb6..bc8bbf4170e 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 @@ -1,6 +1,6 @@ package org.jetbrains.kotlin.tools.projectWizard.wizard.ui.firstStep -import com.intellij.ui.JBColor +import com.intellij.ui.ScrollPaneFactory import com.intellij.util.ui.JBUI import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.tools.projectWizard.core.Context @@ -34,11 +34,14 @@ class ProjectTemplateSettingComponent( append(value.title) }, onValueSelected = { value = it } - ).addBorder(JBUI.Borders.customLine(JBColor.border())) + ) + private val scrollPane = ScrollPaneFactory.createScrollPane(list).apply { + preferredSize = Dimension(minimumSize.width, HEIGHT) + } override val component: JComponent = borderPanel { - addToCenter(borderPanel { addToCenter(list) }.addBorder(JBUI.Borders.empty(0,/*left*/ 3, 0, /*right*/ 3))) + addToCenter(borderPanel { addToCenter(scrollPane) }.addBorder(JBUI.Borders.empty(0,/*left*/ 3, 0, /*right*/ 3))) addToBottom(templateDescriptionComponent.component.addBorder(JBUI.Borders.empty(/*top*/8,/*left*/ 3, 0, 0))) } @@ -61,6 +64,10 @@ class ProjectTemplateSettingComponent( value = setting.type.values.firstOrNull() } } + + companion object { + private const val HEIGHT = 230 + } } class TemplateDescriptionComponent : Component() {