Skip to content

Commit cf1f74f

Browse files
authored
Refactoring of JavaScript dialog window (#1861)
* Change coverage buttons to toggle buttons * Remove gap between coverage buttons * Expand tooltip text * Reformulate text of the coverage buttons tooltip
1 parent fadba72 commit cf1f74f

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
package org.utbot.intellij.plugin.language.js
22

33
import service.CoverageMode
4-
import javax.swing.JToggleButton
4+
import javax.swing.ButtonGroup
5+
import javax.swing.JRadioButton
56

67
object CoverageModeButtons {
78

89
var mode = CoverageMode.FAST
9-
val baseButton = JToggleButton("Basic")
10-
val fastButton = JToggleButton("Fast")
10+
11+
val fastButton = JRadioButton("Fast")
12+
val baseButton = JRadioButton("Basic")
13+
1114

1215
init {
16+
val buttonGroup = ButtonGroup()
17+
fastButton.isSelected = true
1318
val baseButtonModel = baseButton.model
1419
baseButtonModel.addChangeListener {
1520
if (baseButtonModel.isPressed) {
@@ -22,5 +27,7 @@ object CoverageModeButtons {
2227
mode = CoverageMode.FAST
2328
}
2429
}
30+
buttonGroup.add(fastButton)
31+
buttonGroup.add(baseButton)
2532
}
2633
}

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,20 @@ import com.intellij.openapi.vfs.VirtualFile
1111
import com.intellij.openapi.vfs.VirtualFileManager
1212
import com.intellij.ui.ContextHelpLabel
1313
import com.intellij.ui.JBIntSpinner
14-
import com.intellij.ui.components.JBLabel
1514
import com.intellij.ui.components.Panel
1615
import com.intellij.ui.layout.Cell
1716
import com.intellij.ui.layout.panel
1817
import com.intellij.util.ui.JBUI
1918
import framework.codegen.Mocha
19+
import org.utbot.framework.plugin.api.CodeGenerationSettingItem
20+
import org.utbot.intellij.plugin.ui.components.TestSourceDirectoryChooser
21+
import settings.JsTestGenerationSettings.defaultTimeout
2022
import java.awt.BorderLayout
2123
import java.io.File
2224
import java.nio.file.Paths
2325
import javax.swing.DefaultComboBoxModel
2426
import javax.swing.JComboBox
2527
import javax.swing.JComponent
26-
import org.utbot.framework.plugin.api.CodeGenerationSettingItem
27-
import org.utbot.intellij.plugin.ui.components.TestSourceDirectoryChooser
28-
import settings.JsTestGenerationSettings.defaultTimeout
2928

3029
class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
3130

@@ -53,6 +52,7 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
5352

5453
init {
5554
title = "Generate Tests with UtBot"
55+
super.setOKButtonText("Generate Tests")
5656
isResizable = false
5757
init()
5858
}
@@ -75,15 +75,16 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
7575
component(nycSourceFileChooserField)
7676
}
7777
row("Coverage mode:") {
78-
panelWithHelpTooltip("Fast mode can't find timeouts, but works faster") {
79-
component(coverageMode.fastButton)
80-
component(coverageMode.baseButton)
78+
cell {
79+
panelWithHelpTooltip("Fast mode does not guarantee proper handling of user timeouts") {
80+
coverageMode.fastButton()
81+
coverageMode.baseButton()
82+
}
8183
}
8284
}
8385
row("Timeout for Node.js (in seconds):") {
84-
panelWithHelpTooltip("The execution timeout") {
86+
panelWithHelpTooltip("The execution timeout for each generated test") {
8587
component(timeoutSpinner)
86-
component(JBLabel("sec"))
8788
}
8889
}
8990
row("Generate test methods for:") {}

0 commit comments

Comments
 (0)