@@ -2,74 +2,49 @@ package org.utbot.intellij.plugin.js
2
2
3
3
import com.intellij.lang.javascript.refactoring.ui.JSMemberSelectionTable
4
4
import com.intellij.lang.javascript.refactoring.util.JSMemberInfo
5
- import com.intellij.openapi.ui.ComboBox
6
5
import com.intellij.openapi.ui.DialogPanel
7
6
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
12
7
import com.intellij.ui.layout.panel
13
8
import com.intellij.util.ui.JBUI
14
- import org.utbot.framework.codegen.TestFramework
15
- import org.utbot.framework.plugin.api.CodeGenerationSettingItem
16
9
import org.utbot.intellij.plugin.ui.components.TestFolderComboWithBrowseButton
17
- import java.awt.BorderLayout
18
- import javax.swing.DefaultComboBoxModel
19
10
import javax.swing.JComponent
20
- import javax.swing.JPanel
11
+
21
12
22
13
class JsDialogWindow (val model : JsTestsModel ): DialogWrapper(model.project) {
23
14
24
15
private val items = model.fileMethods
25
16
26
17
private val functionsTable = JSMemberSelectionTable (items, null , null ).apply {
27
- items?.let {
28
- val height = this .rowHeight * (items.size.coerceAtMost(12 ) + 1 )
29
- this .preferredScrollableViewportSize = JBUI .size(- 1 , height)
30
- }
18
+ val height = this .rowHeight * (items.size.coerceAtMost(12 ) + 1 )
19
+ this .preferredScrollableViewportSize = JBUI .size(- 1 , height)
31
20
}
32
21
33
22
private val testSourceFolderField = TestFolderComboWithBrowseButton (model)
34
23
35
- private val testFrameworks = ComboBox (DefaultComboBoxModel (TestFramework .allItems.toTypedArray()))
36
-
37
24
private lateinit var panel: DialogPanel
38
25
39
- @Suppress(" UNCHECKED_CAST" )
40
- private val itemsToHelpTooltip = hashMapOf(
41
- (testFrameworks as ComboBox <CodeGenerationSettingItem >) to ContextHelpLabel .create(" " ),
42
- )
43
-
44
26
init {
45
27
title = " Generate tests with UtBot"
46
28
setResizable(false )
47
29
init ()
48
30
}
49
31
50
- @Suppress(" UNCHECKED_CAST" )
51
32
override fun createCenterPanel (): JComponent {
52
33
panel = panel {
53
34
row(" Test source root:" ) {
54
35
component(testSourceFolderField)
55
36
}
56
- row(" Test framework:" ) {
57
- makePanelWithHelpTooltip(
58
- testFrameworks as ComboBox <CodeGenerationSettingItem >,
59
- itemsToHelpTooltip[testFrameworks]
60
- )
61
- }
62
37
row(" Generate test methods for:" ) {}
63
38
row {
64
39
scrollPane(functionsTable)
65
40
}
66
41
}
67
- checkBoxUpdate ()
42
+ updateMembersTable ()
68
43
return panel
69
44
}
70
45
71
- private fun checkBoxUpdate () {
72
- if (items == null ) return
46
+ private fun updateMembersTable () {
47
+ if (items.isEmpty()) isOKActionEnabled = false
73
48
val focusedNames = model.focusedMethod?.map { it.name }
74
49
val selectedMethods = items.filter {
75
50
focusedNames?.contains(it.member.name) ? : false
@@ -82,13 +57,4 @@ class JsDialogWindow(val model: JsTestsModel): DialogWrapper(model.project) {
82
57
}
83
58
84
59
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
- })
94
60
}
0 commit comments