Skip to content

Commit 85de597

Browse files
committed
Add BaseModel support and create framework WIP
1 parent 2933246 commit 85de597

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/js/JsDialogWindow.kt

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,22 @@ package org.utbot.intellij.plugin.js
22

33
import com.intellij.lang.javascript.refactoring.ui.JSMemberSelectionTable
44
import com.intellij.lang.javascript.refactoring.util.JSMemberInfo
5+
import com.intellij.openapi.ui.ComboBox
56
import com.intellij.openapi.ui.DialogPanel
67
import com.intellij.openapi.ui.DialogWrapper
8+
import com.intellij.ui.ContextHelpLabel
9+
import com.intellij.ui.components.Panel
10+
import com.intellij.ui.layout.CellBuilder
11+
import com.intellij.ui.layout.Row
712
import com.intellij.ui.layout.panel
813
import com.intellij.util.ui.JBUI
14+
import org.utbot.framework.codegen.TestFramework
15+
import org.utbot.framework.plugin.api.CodeGenerationSettingItem
16+
import org.utbot.intellij.plugin.ui.components.TestFolderComboWithBrowseButton
17+
import java.awt.BorderLayout
18+
import javax.swing.DefaultComboBoxModel
919
import javax.swing.JComponent
10-
20+
import javax.swing.JPanel
1121

1222
class JsDialogWindow(val model: JsTestsModel): DialogWrapper(model.project) {
1323

@@ -20,27 +30,40 @@ class JsDialogWindow(val model: JsTestsModel): DialogWrapper(model.project) {
2030
}
2131
}
2232

23-
private val testSourceFolderField = JsTestFolderComboWithBrowseButton(model)
33+
private val testSourceFolderField = TestFolderComboWithBrowseButton(model)
34+
35+
private val testFrameworks = ComboBox(DefaultComboBoxModel(TestFramework.allItems.toTypedArray()))
2436

2537
private lateinit var panel: DialogPanel
2638

39+
@Suppress("UNCHECKED_CAST")
40+
private val itemsToHelpTooltip = hashMapOf(
41+
(testFrameworks as ComboBox<CodeGenerationSettingItem>) to ContextHelpLabel.create(""),
42+
)
43+
2744
init {
2845
title = "Generate tests with UtBot"
2946
setResizable(false)
3047
init()
3148
}
3249

50+
@Suppress("UNCHECKED_CAST")
3351
override fun createCenterPanel(): JComponent {
3452
panel = panel {
3553
row("Test source root:") {
3654
component(testSourceFolderField)
3755
}
56+
row("Test framework:") {
57+
makePanelWithHelpTooltip(
58+
testFrameworks as ComboBox<CodeGenerationSettingItem>,
59+
itemsToHelpTooltip[testFrameworks]
60+
)
61+
}
3862
row("Generate test methods for:") {}
3963
row {
4064
scrollPane(functionsTable)
4165
}
4266
}
43-
initDefaultValues()
4467
checkBoxUpdate()
4568
return panel
4669
}
@@ -58,11 +81,14 @@ class JsDialogWindow(val model: JsTestsModel): DialogWrapper(model.project) {
5881
}
5982
}
6083

61-
private fun initDefaultValues() {
62-
}
63-
64-
private fun setListeners() {
65-
}
66-
6784
private fun checkMembers(members: Collection<JSMemberInfo>) = members.forEach { it.isChecked = true }
85+
86+
private fun Row.makePanelWithHelpTooltip(
87+
mainComponent: JComponent,
88+
contextHelpLabel: ContextHelpLabel?
89+
): CellBuilder<JPanel> =
90+
component(Panel().apply {
91+
add(mainComponent, BorderLayout.LINE_START)
92+
contextHelpLabel?.let { add(it, BorderLayout.LINE_END) }
93+
})
6894
}

0 commit comments

Comments
 (0)