Skip to content

Commit d1a10b0

Browse files
committed
feat: simplify panels
1 parent 8bbf7ba commit d1a10b0

File tree

5 files changed

+34
-35
lines changed

5 files changed

+34
-35
lines changed

src/main/kotlin/com/github/xepozz/php_dump/CompositeWindowFactory.kt

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ package com.github.xepozz.php_dump
22

33
import com.github.xepozz.php_dump.panel.OpcodesTerminalPanel
44
import com.github.xepozz.php_dump.panel.TokensTerminalPanel
5-
import com.github.xepozz.php_dump.services.OpcodesDumperService
6-
import com.github.xepozz.php_dump.services.TokensDumperService
7-
import com.intellij.execution.filters.TextConsoleBuilderFactory
85
import com.intellij.openapi.project.DumbAware
96
import com.intellij.openapi.project.Project
107
import com.intellij.openapi.wm.ToolWindow
@@ -20,24 +17,8 @@ open class CompositeWindowFactory : ToolWindowFactory, DumbAware {
2017
val contentFactory = ContentFactory.getInstance()
2118
val contentManager = toolWindow.contentManager
2219

23-
val opcodesTerminalLayout = run {
24-
val consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(project).console
25-
26-
val service = toolWindow.project.getService(OpcodesDumperService::class.java)
27-
service.consoleView = consoleView
28-
29-
OpcodesTerminalPanel(consoleView.component)
30-
}
31-
32-
val tokensTerminalLayout = run {
33-
val consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(project).console
34-
35-
val service = toolWindow.project.getService(TokensDumperService::class.java)
36-
service.consoleView = consoleView
37-
38-
TokensTerminalPanel(consoleView.component)
39-
}
40-
20+
val opcodesTerminalLayout = OpcodesTerminalPanel(project)
21+
val tokensTerminalLayout = TokensTerminalPanel(project)
4122

4223
contentFactory.apply {
4324
this.createContent(opcodesTerminalLayout, "Opcodes", false).apply {

src/main/kotlin/com/github/xepozz/php_dump/panel/OpcodesTerminalPanel.kt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.github.xepozz.php_dump.panel
22

33
import com.github.xepozz.php_dump.actions.RunDumpCommandAction
44
import com.github.xepozz.php_dump.services.OpcodesDumperService
5+
import com.intellij.execution.filters.TextConsoleBuilderFactory
56
import com.intellij.openapi.actionSystem.ActionManager
67
import com.intellij.openapi.actionSystem.DefaultActionGroup
78
import com.intellij.openapi.fileEditor.FileEditorManager
@@ -15,9 +16,18 @@ import javax.swing.JComponent
1516
import javax.swing.JPanel
1617

1718
class OpcodesTerminalPanel(
18-
val terminalViewComponent: JComponent,
19+
val project: Project,
1920
) : SimpleToolWindowPanel(false, false), RefreshablePanel {
21+
val viewComponent: JComponent
22+
val service: OpcodesDumperService
23+
2024
init {
25+
val consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(project).console
26+
viewComponent = consoleView.component
27+
28+
service = project.getService(OpcodesDumperService::class.java)
29+
service.consoleView = consoleView
30+
2131
createToolBar()
2232
createContent()
2333
}
@@ -39,11 +49,11 @@ class OpcodesTerminalPanel(
3949

4050
private fun createContent() {
4151
val responsivePanel = JPanel(BorderLayout())
42-
responsivePanel.add(terminalViewComponent, BorderLayout.CENTER)
52+
responsivePanel.add(viewComponent, BorderLayout.CENTER)
4353
responsivePanel.addComponentListener(object : ComponentAdapter() {
4454
override fun componentResized(e: ComponentEvent?) {
45-
terminalViewComponent.revalidate()
46-
terminalViewComponent.repaint()
55+
viewComponent.revalidate()
56+
viewComponent.repaint()
4757
}
4858
})
4959

@@ -54,6 +64,6 @@ class OpcodesTerminalPanel(
5464
val editor = FileEditorManager.getInstance(project).selectedTextEditor ?: return
5565
val virtualFile = editor.virtualFile ?: return
5666

57-
OpcodesDumperService.dump(virtualFile, project)
67+
service.dump(virtualFile.path)
5868
}
5969
}

src/main/kotlin/com/github/xepozz/php_dump/panel/TokensTerminalPanel.kt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.github.xepozz.php_dump.panel
22

33
import com.github.xepozz.php_dump.actions.RunDumpTokensCommandAction
44
import com.github.xepozz.php_dump.services.TokensDumperService
5+
import com.intellij.execution.filters.TextConsoleBuilderFactory
56
import com.intellij.openapi.actionSystem.ActionManager
67
import com.intellij.openapi.actionSystem.DefaultActionGroup
78
import com.intellij.openapi.fileEditor.FileEditorManager
@@ -15,9 +16,18 @@ import javax.swing.JComponent
1516
import javax.swing.JPanel
1617

1718
class TokensTerminalPanel(
18-
val terminalViewComponent: JComponent,
19+
val project: Project,
1920
) : SimpleToolWindowPanel(false, false), RefreshablePanel {
21+
var viewComponent: JComponent
22+
var service: TokensDumperService
23+
2024
init {
25+
val consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(project).console
26+
viewComponent = consoleView.component
27+
28+
service = project.getService(TokensDumperService::class.java)
29+
service.consoleView = consoleView
30+
2131
createToolBar()
2232
createContent()
2333
}
@@ -39,11 +49,11 @@ class TokensTerminalPanel(
3949

4050
private fun createContent() {
4151
val responsivePanel = JPanel(BorderLayout())
42-
responsivePanel.add(terminalViewComponent, BorderLayout.CENTER)
52+
responsivePanel.add(viewComponent, BorderLayout.CENTER)
4353
responsivePanel.addComponentListener(object : ComponentAdapter() {
4454
override fun componentResized(e: ComponentEvent?) {
45-
terminalViewComponent.revalidate()
46-
terminalViewComponent.repaint()
55+
viewComponent.revalidate()
56+
viewComponent.repaint()
4757
}
4858
})
4959

@@ -54,6 +64,6 @@ class TokensTerminalPanel(
5464
val editor = FileEditorManager.getInstance(project).selectedTextEditor ?: return
5565
val virtualFile = editor.virtualFile ?: return
5666

57-
TokensDumperService.dump(virtualFile, project)
67+
service.dump(virtualFile.path)
5868
}
5969
}

src/main/kotlin/com/github/xepozz/php_dump/services/OpcodesDumperService.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class OpcodesDumperService(var project: Project) : Disposable {
3535
consoleView?.dispose()
3636
}
3737

38-
fun dump(file: String, callback: () -> Unit = {}) {
38+
fun dump(file: String) {
3939
val interpretersManager = PhpInterpretersManagerImpl.getInstance(project)
4040
val interpreter = PhpProjectConfigurationFacade.getInstance(project).interpreter
4141
?: interpretersManager.interpreters.firstOrNull() ?: return
@@ -69,7 +69,6 @@ class OpcodesDumperService(var project: Project) : Disposable {
6969

7070
CoroutineScope(Dispatchers.IO).launch {
7171
executeCommand(commandArgs)
72-
callback()
7372
}
7473
}
7574

src/main/kotlin/com/github/xepozz/php_dump/services/TokensDumperService.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class TokensDumperService(var project: Project) : Disposable {
3535
consoleView?.dispose()
3636
}
3737

38-
fun dump(file: String, callback: () -> Unit = {}) {
38+
fun dump(file: String) {
3939
val interpretersManager = PhpInterpretersManagerImpl.getInstance(project)
4040
val interpreter = PhpProjectConfigurationFacade.getInstance(project).interpreter
4141
?: interpretersManager.interpreters.firstOrNull() ?: return
@@ -81,7 +81,6 @@ class TokensDumperService(var project: Project) : Disposable {
8181

8282
CoroutineScope(Dispatchers.IO).launch {
8383
executeCommand(commandArgs)
84-
callback()
8584
}
8685
}
8786

0 commit comments

Comments
 (0)