Skip to content

Commit f8903f9

Browse files
committed
feat: udpate for roles
1 parent 5fffc8c commit f8903f9

File tree

1 file changed

+28
-19
lines changed

1 file changed

+28
-19
lines changed

src/main/kotlin/cc/unitmesh/devti/gui/chat/ChatCodingPanel.kt

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@ import cc.unitmesh.devti.gui.block.whenDisposed
55
import cc.unitmesh.devti.provider.ContextPrompter
66
import com.intellij.ide.BrowserUtil
77
import com.intellij.openapi.Disposable
8+
import com.intellij.openapi.ui.DialogPanel
89
import com.intellij.openapi.ui.NullableComponent
910
import com.intellij.openapi.ui.SimpleToolWindowPanel
1011
import com.intellij.openapi.wm.IdeFocusManager
1112
import com.intellij.ui.Gray
1213
import com.intellij.ui.JBColor
13-
import com.intellij.ui.OnePixelSplitter
1414
import com.intellij.ui.components.ActionLink
1515
import com.intellij.ui.components.JBLabel
16-
import com.intellij.ui.components.JBPanel
1716
import com.intellij.ui.components.JBScrollPane
1817
import com.intellij.ui.components.panels.VerticalLayout
19-
import com.intellij.ui.dsl.builder.*
18+
import com.intellij.ui.dsl.builder.panel
2019
import com.intellij.ui.dsl.gridLayout.HorizontalAlign
2120
import com.intellij.ui.dsl.gridLayout.VerticalAlign
2221
import com.intellij.util.ui.JBEmptyBorder
@@ -25,9 +24,13 @@ import com.intellij.util.ui.JBUI
2524
import com.intellij.util.ui.UIUtil
2625
import kotlinx.coroutines.flow.Flow
2726
import kotlinx.coroutines.flow.collect
28-
import java.awt.BorderLayout
29-
import java.awt.event.*
30-
import javax.swing.*
27+
import java.awt.event.ActionListener
28+
import java.awt.event.MouseAdapter
29+
import java.awt.event.MouseEvent
30+
import javax.swing.JButton
31+
import javax.swing.JPanel
32+
import javax.swing.JProgressBar
33+
import javax.swing.ScrollPaneConstants
3134

3235

3336
class ChatCodingPanel(private val chatCodingService: ChatCodingService, val disposable: Disposable?) :
@@ -36,14 +39,10 @@ class ChatCodingPanel(private val chatCodingService: ChatCodingService, val disp
3639
private var progressBar: JProgressBar
3740
private val myTitle = JBLabel("Conversation")
3841
private val myList = JPanel(VerticalLayout(JBUI.scale(10)))
39-
private val myScrollPane = JBScrollPane(
40-
myList,
41-
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
42-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
43-
)
4442
private var inputSection: AutoDevInputSection
4543
private val focusMouseListener: MouseAdapter
46-
44+
private var panelContent: DialogPanel
45+
private val myScrollPane: JBScrollPane
4746
init {
4847
focusMouseListener = object : MouseAdapter() {
4948
override fun mouseClicked(e: MouseEvent?) {
@@ -56,12 +55,17 @@ class ChatCodingPanel(private val chatCodingService: ChatCodingService, val disp
5655

5756
myList.isOpaque = true
5857
myList.background = UIUtil.getListBackground()
58+
59+
myScrollPane = JBScrollPane(
60+
myList,
61+
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
62+
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
63+
)
5964
myScrollPane.border = JBEmptyBorder(10, 15, 10, 15)
65+
myScrollPane.verticalScrollBar.autoscrolls = true
6066

6167
progressBar = JProgressBar()
6268

63-
myScrollPane.verticalScrollBar.autoscrolls = true
64-
6569
val actionLink = ActionLink(AutoDevBundle.message("label.submit.issue")) {
6670
BrowserUtil.browse("https://github.com/unit-mesh/auto-dev/issues")
6771
}
@@ -82,22 +86,27 @@ class ChatCodingPanel(private val chatCodingService: ChatCodingService, val disp
8286
}
8387
})
8488

85-
setContent(
86-
panel {
89+
panelContent = panel {
8790
row {
88-
cell(myList).verticalAlign(VerticalAlign.FILL)
89-
}
91+
cell(myScrollPane)
92+
.verticalAlign(VerticalAlign.FILL)
93+
.horizontalAlign(HorizontalAlign.FILL)
94+
}.resizableRow()
95+
9096
row {
9197
cell(progressBar).horizontalAlign(HorizontalAlign.FILL)
9298
}
99+
93100
row {
94101
cell(actionLink).horizontalAlign(HorizontalAlign.RIGHT)
95102
}
103+
96104
row {
97105
cell(inputSection).horizontalAlign(HorizontalAlign.FILL)
98106
}
99107
}
100-
)
108+
109+
setContent(panelContent)
101110

102111
inputSection.text = ""
103112

0 commit comments

Comments
 (0)