IDEA-297793 Port PyPackagingToolWindowPanel to Kotlin UI DSL 2

GitOrigin-RevId: 7c8b49887c5f9c3ebdd8c7299f0bf8febad6c6f5
This commit is contained in:
Pavel Porvatov
2022-07-12 11:44:54 +00:00
committed by intellij-monorepo-bot
parent ef2fc85c6d
commit 9910f832fe
4 changed files with 27 additions and 15 deletions
@@ -126,6 +126,7 @@ interface CellBuilder<out T : JComponent> {
*/
@Deprecated("Use Kotlin UI DSL Version 2, see Cell.widthGroup()")
fun sizeGroup(name: String): CellBuilder<T>
@Deprecated("Use Kotlin UI DSL Version 2")
fun growPolicy(growPolicy: GrowPolicy): CellBuilder<T>
fun constraints(vararg constraints: CCFlags): CellBuilder<T>
@@ -654,6 +654,7 @@ private class CellBuilderImpl<T : JComponent>(
}
}
@Deprecated("Use Kotlin UI DSL Version 2, see Cell.widthGroup()")
override fun sizeGroup(name: String): CellBuilderImpl<T> {
builder.updateComponentConstraints(viewComponent) {
sizeGroup(name)
@@ -661,6 +662,7 @@ private class CellBuilderImpl<T : JComponent>(
return this
}
@Deprecated("Use Kotlin UI DSL Version 2")
override fun growPolicy(growPolicy: GrowPolicy): CellBuilder<T> {
builder.updateComponentConstraints(viewComponent) {
builder.defaultComponentConstraintCreator.applyGrowPolicy(this, growPolicy)
@@ -1214,7 +1214,7 @@ python.toolwindow.packages.add.package.vcs.git=Git
python.toolwindow.packages.add.package.vcs.svn=Subversion
python.toolwindow.packages.add.package.vcs.hg=Mercurial
python.toolwindow.packages.add.package.vcs.bzr=Bazaar
python.toolwindow.packages.add.package.path=Path
python.toolwindow.packages.add.package.path=Path:
python.toolwindow.packages.add.package.path.selector=Select File Or Directory
python.toolwindow.packages.add.package.dialog.title=Install Package
python.toolwindow.packages.load.more=\u2026 {0} more items. Double click to show more.
@@ -19,8 +19,9 @@ import com.intellij.openapi.wm.ToolWindowManager
import com.intellij.openapi.wm.ex.ToolWindowManagerListener
import com.intellij.ui.*
import com.intellij.ui.components.*
import com.intellij.ui.dsl.builder.*
import com.intellij.ui.dsl.gridLayout.HorizontalAlign
import com.intellij.ui.jcef.JCEFHtmlPanel
import com.intellij.ui.layout.*
import com.intellij.util.Alarm
import com.intellij.util.Alarm.ThreadToUse
import com.intellij.util.SingleAlarm
@@ -28,7 +29,9 @@ import com.intellij.util.ui.JBFont
import com.intellij.util.ui.JBUI
import com.intellij.util.ui.UIUtil
import com.jetbrains.python.PyBundle.message
import java.awt.*
import java.awt.BorderLayout
import java.awt.Component
import java.awt.Dimension
import java.awt.event.ActionEvent
import java.awt.event.MouseAdapter
import java.awt.event.MouseEvent
@@ -251,20 +254,24 @@ class PyPackagingToolWindowPanel(service: PyPackagingToolWindowService, toolWind
private fun showInstallFromVcsDialog(service: PyPackagingToolWindowService): Pair<String, Boolean>? {
var editable = false
var link = ""
val systems = arrayOf(message("python.toolwindow.packages.add.package.vcs.git"),
message("python.toolwindow.packages.add.package.vcs.svn"),
message("python.toolwindow.packages.add.package.vcs.hg"),
message("python.toolwindow.packages.add.package.vcs.bzr"))
val systems = listOf(message("python.toolwindow.packages.add.package.vcs.git"),
message("python.toolwindow.packages.add.package.vcs.svn"),
message("python.toolwindow.packages.add.package.vcs.hg"),
message("python.toolwindow.packages.add.package.vcs.bzr"))
var vcs = systems.first()
val panel = panel {
row {
comboBox<String>(DefaultComboBoxModel(systems), getter = { vcs },
setter = { vcs = it!! })
textField({ link }, { link = it }).growPolicy(GrowPolicy.MEDIUM_TEXT)
comboBox(systems)
.bindItem({ vcs }, { vcs = it!! })
textField()
.columns(COLUMNS_MEDIUM)
.bindText({ link }, { link = it })
.horizontalAlign(HorizontalAlign.FILL)
}
row {
checkBox(message("python.toolwindow.packages.add.package.as.editable"), { editable }, { editable = it })
checkBox(message("python.toolwindow.packages.add.package.as.editable"))
.bindSelected({ editable }, { editable = it })
}
}
@@ -290,12 +297,14 @@ class PyPackagingToolWindowPanel(service: PyPackagingToolWindowService, toolWind
FileChooserDescriptorFactory.createSingleFileOrFolderDescriptor())
}
val panel = panel {
row {
label(message("python.toolwindow.packages.add.package.path"))
textField().growPolicy(GrowPolicy.MEDIUM_TEXT)
row(message("python.toolwindow.packages.add.package.path")) {
cell(textField)
.columns(COLUMNS_MEDIUM)
.horizontalAlign(HorizontalAlign.FILL)
}
row {
checkBox(message("python.toolwindow.packages.add.package.as.editable"), { editable }, { editable = it })
checkBox(message("python.toolwindow.packages.add.package.as.editable"))
.bindSelected({ editable }, { editable = it })
}
}