From 1533c62747ce6dc7e11d0c60dde7635fe0cf70bd Mon Sep 17 00:00:00 2001 From: Georgii Ustinov Date: Tue, 17 Sep 2024 20:04:17 +0300 Subject: [PATCH] [Java] move ScrollToEnd Action of Compilation Charts to intellij.java.compiler.charts.xml IDEA-353070 GitOrigin-RevId: b31bd27e96b9e2e74c64d7873d423418a0dab19b --- .../charts/resources/intellij.java.compiler.charts.xml | 2 ++ .../messages/CompilationChartsBundle.properties | 4 ++-- .../java/compiler/charts/CompilationChartsViewModel.kt | 5 ----- .../intellij/java/compiler/charts/ui/ActionPanel.kt | 10 ++++------ .../java/compiler/charts/ui/CompilationChartsView.kt | 8 ++++---- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/java/compiler/charts/resources/intellij.java.compiler.charts.xml b/java/compiler/charts/resources/intellij.java.compiler.charts.xml index e5193d371e10..be5dcea81948 100644 --- a/java/compiler/charts/resources/intellij.java.compiler.charts.xml +++ b/java/compiler/charts/resources/intellij.java.compiler.charts.xml @@ -20,6 +20,8 @@ icon="AllIcons.Graph.ZoomOut" use-shortcut-of="CollapseAll"/> + diff --git a/java/compiler/charts/resources/messages/CompilationChartsBundle.properties b/java/compiler/charts/resources/messages/CompilationChartsBundle.properties index 8f22fca1252c..3ef9a506e5d4 100644 --- a/java/compiler/charts/resources/messages/CompilationChartsBundle.properties +++ b/java/compiler/charts/resources/messages/CompilationChartsBundle.properties @@ -7,8 +7,8 @@ charts.test.type=Test charts.memory.type=Memory charts.cpu.type=CPU charts.search.results={0} results -charts.scroll.to.end.action.title=Scroll to End -charts.scroll.to.end.action.description=Scrolls to end in compilation charts +action.CompilationChartsScrollToEndAction.text=Scroll to End +action.CompilationChartsScrollToEndAction.description=Scrolls to end in compilation charts action.CompilationChartsZoomInAction.text=Zoom In Compilation Charts action.CompilationChartsZoomInAction.description=Increases zoom of compilation charts action.CompilationChartsZoomOutAction.text=Zoom Out Compilation Charts diff --git a/java/compiler/charts/src/com/intellij/java/compiler/charts/CompilationChartsViewModel.kt b/java/compiler/charts/src/com/intellij/java/compiler/charts/CompilationChartsViewModel.kt index ec2bbcd1e4b1..ee21e94773ed 100644 --- a/java/compiler/charts/src/com/intellij/java/compiler/charts/CompilationChartsViewModel.kt +++ b/java/compiler/charts/src/com/intellij/java/compiler/charts/CompilationChartsViewModel.kt @@ -19,9 +19,6 @@ class CompilationChartsViewModel(val lifetime: Lifetime) { val statistics: Statistics = Statistics() val cpuMemory: RdProperty = RdProperty(CpuMemoryStatisticsType.MEMORY) val filter: RdProperty = RdProperty(Filter()) - val scrollToEndEvent: RdProperty = RdProperty(ScrollToEndEvent()) - - fun requestScrollToEnd() = scrollToEndEvent.set(ScrollToEndEvent()) fun started(values: List) { values.forEach { value -> @@ -112,8 +109,6 @@ class CompilationChartsViewModel(val lifetime: Lifetime) { } } - class ScrollToEndEvent - enum class CpuMemoryStatisticsType { CPU { override fun max(statistics: Statistics): Long = 100 diff --git a/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/ActionPanel.kt b/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/ActionPanel.kt index 4d16d55f03ce..dc600204cb02 100644 --- a/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/ActionPanel.kt +++ b/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/ActionPanel.kt @@ -109,7 +109,6 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart val actionGroup = ActionManager.getInstance().getAction("CompilationChartsActionGroup") as? DefaultActionGroup if (actionGroup != null) { actionGroup.addAction(CompilationChartsStatsActionHolder(vm), Constraints.FIRST) - actionGroup.addAction(ScrollToEndAction(vm), Constraints.LAST) val toolbar = ActionManager.getInstance().createActionToolbar(COMPILATION_CHARTS_TOOLBAR_NAME, actionGroup, true).apply { targetComponent = this@ActionPanel } @@ -139,11 +138,10 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart } } - private class ScrollToEndAction(private val vm: CompilationChartsViewModel) : DumbAwareAction( - CompilationChartsBundle.message("charts.scroll.to.end.action.title"), - CompilationChartsBundle.message("charts.scroll.to.end.action.description"), - AllIcons.Actions.Forward) { - override fun actionPerformed(e: AnActionEvent) = vm.requestScrollToEnd() + internal class ScrollToEndAction : CompilationChartsActionBase() { + override fun actionPerformed(e: AnActionEvent) { + e.getData(COMPILATION_CHARTS_VIEW_KEY)?.scrollToEnd() + } } internal abstract class CompilationChartsActionBase: DumbAwareAction() { diff --git a/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/CompilationChartsView.kt b/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/CompilationChartsView.kt index f5464bef6e9f..6a0913aaaef9 100644 --- a/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/CompilationChartsView.kt +++ b/java/compiler/charts/src/com/intellij/java/compiler/charts/ui/CompilationChartsView.kt @@ -82,16 +82,16 @@ class CompilationChartsView(project: Project, private val vm: CompilationChartsV diagrams.cpuMemory = filter diagrams.smartDraw(true, false) } - - vm.scrollToEndEvent.advise(vm.lifetime) { _ -> - rightAdhesionScrollBarListener.scrollToEnd() - } } override fun uiDataSnapshot(sink: DataSink) { sink[COMPILATION_CHARTS_VIEW_KEY] = this } + internal fun scrollToEnd() { + rightAdhesionScrollBarListener.scrollToEnd() + } + internal fun zoom(zoomType: ZoomEvent) { when (zoomType) { ZoomEvent.IN -> rightAdhesionScrollBarListener.increase()