@@ -31,7 +31,7 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
31
31
32
32
private var markdownEditor: MarkdownLanguageField ? = null
33
33
private val contentPanel = JBUI .Panels .simplePanel()
34
-
34
+
35
35
private var currentView: PlannerView ? = null
36
36
private var currentCallback: ((String ) -> Unit )? = null
37
37
private val plannerResultSummary = PlannerResultSummary (project, mutableListOf ())
@@ -43,10 +43,10 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
43
43
ActionUtil .getAction(" AutoDevPlanner.ToolWindow.TitleActions" ) as ActionGroup ,
44
44
true
45
45
)
46
-
46
+
47
47
val toolbarPanel = JPanel (FlowLayout (FlowLayout .RIGHT ))
48
48
toolbarPanel.add(toolbar.component)
49
-
49
+
50
50
add(toolbarPanel, BorderLayout .NORTH )
51
51
add(contentPanel, BorderLayout .CENTER )
52
52
@@ -58,14 +58,14 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
58
58
59
59
connection.subscribe(PlanUpdateListener .Companion .TOPIC , object : PlanUpdateListener {
60
60
override fun onPlanUpdate (items : MutableList <AgentTaskEntry >) {
61
- if (currentView is PlanSketchView ) {
62
- runInEdt {
63
- planLangSketch.updatePlan(items)
64
- contentPanel.components.find { it is LoadingPanel }?. let {
65
- contentPanel.remove(it)
66
- contentPanel.revalidate( )
67
- contentPanel.repaint ()
68
- }
61
+ switchToPlanView()
62
+
63
+ runInEdt {
64
+ planLangSketch.updatePlan(items)
65
+ contentPanel.components.find { it is LoadingPanel }?. let {
66
+ contentPanel.remove(it )
67
+ contentPanel.revalidate ()
68
+ contentPanel.repaint()
69
69
}
70
70
}
71
71
}
@@ -92,7 +92,7 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
92
92
93
93
currentView = view
94
94
view.initialize(this )
95
-
95
+
96
96
contentPanel.revalidate()
97
97
contentPanel.repaint()
98
98
}
@@ -118,16 +118,16 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
118
118
override fun dispose () {
119
119
markdownEditor = null
120
120
}
121
-
121
+
122
122
interface PlannerView {
123
123
val viewType: PlannerViewType
124
124
fun initialize (window : AutoDevPlannerToolWindow )
125
125
}
126
-
126
+
127
127
enum class PlannerViewType {
128
128
PLAN , EDITOR , ISSUE_INPUT , LOADING
129
129
}
130
-
130
+
131
131
inner class PlanSketchView : PlannerView {
132
132
override val viewType = PlannerViewType .PLAN
133
133
override fun initialize (window : AutoDevPlannerToolWindow ) {
@@ -138,12 +138,12 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
138
138
.resizableColumn()
139
139
}
140
140
}
141
-
141
+
142
142
contentPanel.add(planPanel, BorderLayout .CENTER )
143
143
contentPanel.add(plannerResultSummary, BorderLayout .SOUTH )
144
144
}
145
145
}
146
-
146
+
147
147
inner class EditPlanView : PlannerView {
148
148
override val viewType = PlannerViewType .EDITOR
149
149
override fun initialize (window : AutoDevPlannerToolWindow ) {
@@ -165,11 +165,11 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
165
165
contentPanel.add(editPlanViewPanel, BorderLayout .CENTER )
166
166
}
167
167
}
168
-
168
+
169
169
inner class IssueInputView : PlannerView {
170
170
override val viewType = PlannerViewType .ISSUE_INPUT
171
171
private lateinit var viewPanel: IssueInputViewPanel
172
-
172
+
173
173
override fun initialize (window : AutoDevPlannerToolWindow ) {
174
174
viewPanel = IssueInputViewPanel (
175
175
project,
@@ -182,13 +182,13 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
182
182
switchToPlanView()
183
183
}
184
184
)
185
-
185
+
186
186
contentPanel.add(viewPanel, BorderLayout .CENTER )
187
187
viewPanel.setText(" " )
188
188
viewPanel.requestTextAreaFocus()
189
189
}
190
190
}
191
-
191
+
192
192
inner class LoadingView : PlannerView {
193
193
override val viewType = PlannerViewType .LOADING
194
194
override fun initialize (window : AutoDevPlannerToolWindow ) {
@@ -199,7 +199,7 @@ class AutoDevPlannerToolWindow(val project: Project) : SimpleToolWindowPanel(tru
199
199
.resizableColumn()
200
200
}
201
201
}
202
-
202
+
203
203
contentPanel.add(planPanel, BorderLayout .CENTER )
204
204
contentPanel.add(LoadingPanel (project), BorderLayout .NORTH )
205
205
}
0 commit comments