mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
[java, compilation-charts] add color schema IDEA-353077
GitOrigin-RevId: b71aa9c734bc3c5bc0823a69ab564976d848cdc5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c6a9e0df14
commit
0795152b04
@@ -83,7 +83,7 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
})
|
||||
border = JBUI.Borders.empty(1)
|
||||
BoxLayout(this, BoxLayout.LINE_AXIS)
|
||||
background = COLOR_BACKGROUND
|
||||
background = Colors.Background.DEFAULT
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
}
|
||||
|
||||
init {
|
||||
border = JBUI.Borders.customLine(COLOR_LINE)
|
||||
border = JBUI.Borders.customLine(Colors.LINE)
|
||||
layout = BorderLayout()
|
||||
|
||||
// module name
|
||||
@@ -117,7 +117,7 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
actionManager.getAction("CompilationChartsScrollToEndAction"),
|
||||
)
|
||||
|
||||
val toolbar = actionManager.createActionToolbar(COMPILATION_CHARTS_TOOLBAR_ID, actionGroup, true).apply {
|
||||
val toolbar = actionManager.createActionToolbar(Settings.Toolbar.ID, actionGroup, true).apply {
|
||||
targetComponent = this@ActionPanel
|
||||
}
|
||||
addToRight(toolbar.component)
|
||||
@@ -180,27 +180,27 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
val block = JBLabel().apply {
|
||||
preferredSize = Dimension(10, 10)
|
||||
isOpaque = true
|
||||
background = COLOR_PRODUCTION_BLOCK
|
||||
border = BorderFactory.createLineBorder(COLOR_PRODUCTION_BORDER, 1)
|
||||
background = Colors.Production.ENABLED
|
||||
border = BorderFactory.createLineBorder(Colors.Production.BORDER, 1)
|
||||
}
|
||||
add(block)
|
||||
add(JBLabel(CompilationChartsBundle.message("charts.production.type")))
|
||||
|
||||
addMouseListener(object : MouseAdapter() {
|
||||
override fun mouseEntered(e: MouseEvent) {
|
||||
block.border = BorderFactory.createLineBorder(COLOR_PRODUCTION_BORDER_SELECTED, 1)
|
||||
block.border = BorderFactory.createLineBorder(Colors.Production.SELECTED, 1)
|
||||
}
|
||||
|
||||
override fun mouseExited(e: MouseEvent) {
|
||||
block.border = BorderFactory.createLineBorder(COLOR_PRODUCTION_BORDER, 1)
|
||||
block.border = BorderFactory.createLineBorder(Colors.Production.BORDER, 1)
|
||||
}
|
||||
|
||||
override fun mouseClicked(e: MouseEvent) {
|
||||
vm.filter.set(vm.filter.value.setProduction(!vm.filter.value.production))
|
||||
if (vm.filter.value.production)
|
||||
block.background = COLOR_PRODUCTION_BLOCK
|
||||
block.background = Colors.Production.ENABLED
|
||||
else
|
||||
block.background = COLOR_PRODUCTION_BLOCK_DISABLED
|
||||
block.background = Colors.Production.DISABLED
|
||||
}
|
||||
})
|
||||
|
||||
@@ -210,26 +210,26 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
val block = JBLabel().apply {
|
||||
preferredSize = Dimension(10, 10)
|
||||
isOpaque = true
|
||||
background = COLOR_TEST_BLOCK
|
||||
border = BorderFactory.createLineBorder(COLOR_TEST_BORDER)
|
||||
background = Colors.Test.ENABLED
|
||||
border = BorderFactory.createLineBorder(Colors.Test.BORDER)
|
||||
}
|
||||
add(block)
|
||||
add(JBLabel(CompilationChartsBundle.message("charts.test.type")))
|
||||
addMouseListener(object : MouseAdapter() {
|
||||
override fun mouseEntered(e: MouseEvent) {
|
||||
block.border = BorderFactory.createLineBorder(COLOR_TEST_BORDER_SELECTED, 1)
|
||||
block.border = BorderFactory.createLineBorder(Colors.Test.SELECTED, 1)
|
||||
}
|
||||
|
||||
override fun mouseExited(e: MouseEvent) {
|
||||
block.border = BorderFactory.createLineBorder(COLOR_TEST_BORDER, 1)
|
||||
block.border = BorderFactory.createLineBorder(Colors.Test.BORDER, 1)
|
||||
}
|
||||
|
||||
override fun mouseClicked(e: MouseEvent) {
|
||||
vm.filter.set(vm.filter.value.setTest(!vm.filter.value.test))
|
||||
if (vm.filter.value.test)
|
||||
block.background = COLOR_TEST_BLOCK
|
||||
block.background = Colors.Test.ENABLED
|
||||
else
|
||||
block.background = COLOR_TEST_BLOCK_DISABLED
|
||||
block.background = Colors.Test.DISABLED
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -238,7 +238,7 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
val block = JBLabel().apply {
|
||||
preferredSize = Dimension(10, 2)
|
||||
isOpaque = true
|
||||
background = COLOR_MEMORY_BORDER
|
||||
background = Colors.Memory.BORDER
|
||||
}
|
||||
val label = JBLabel(CompilationChartsBundle.message("charts.memory.type"))
|
||||
add(block)
|
||||
@@ -249,12 +249,12 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
when (vm.cpuMemory.value) {
|
||||
CompilationChartsViewModel.CpuMemoryStatisticsType.MEMORY -> {
|
||||
label.text = CompilationChartsBundle.message("charts.cpu.type")
|
||||
block.background = COLOR_CPU_BORDER
|
||||
block.background = Colors.Cpu.BORDER
|
||||
vm.cpuMemory.set(CompilationChartsViewModel.CpuMemoryStatisticsType.CPU)
|
||||
}
|
||||
CompilationChartsViewModel.CpuMemoryStatisticsType.CPU -> {
|
||||
label.text = CompilationChartsBundle.message("charts.memory.type")
|
||||
block.background = COLOR_MEMORY_BORDER
|
||||
block.background = Colors.Memory.BORDER
|
||||
vm.cpuMemory.set(CompilationChartsViewModel.CpuMemoryStatisticsType.MEMORY)
|
||||
}
|
||||
}
|
||||
@@ -264,8 +264,4 @@ class ActionPanel(private val project: Project, private val vm: CompilationChart
|
||||
}
|
||||
override fun actionPerformed(e: AnActionEvent) = Unit
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val COMPILATION_CHARTS_TOOLBAR_ID = "CompilationChartsToolbar"
|
||||
}
|
||||
}
|
||||
@@ -11,14 +11,12 @@ import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||
import com.intellij.openapi.editor.colors.EditorColorsScheme
|
||||
import com.intellij.ui.components.JBPanelWithEmptyText
|
||||
import com.intellij.ui.components.Magnificator
|
||||
import com.intellij.ui.table.JBTable
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import java.awt.*
|
||||
import java.awt.geom.Rectangle2D
|
||||
import java.awt.image.BufferedImage
|
||||
import java.util.concurrent.ConcurrentSkipListSet
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.swing.JButton
|
||||
import javax.swing.JViewport
|
||||
import javax.swing.SwingUtilities
|
||||
@@ -30,10 +28,6 @@ class CompilationChartsDiagramsComponent(
|
||||
private val zoom: Zoom,
|
||||
private val viewport: JViewport,
|
||||
) : JBPanelWithEmptyText(BorderLayout()) {
|
||||
companion object {
|
||||
val ROW_HEIGHT = JBTable().rowHeight * 1.5
|
||||
}
|
||||
|
||||
val modules: CompilationChartsViewModel.ViewModules = CompilationChartsViewModel.ViewModules()
|
||||
val stats: Map<CpuMemoryStatisticsType, MutableSet<CompilationChartsViewModel.StatisticData>> = mapOf(MEMORY to ConcurrentSkipListSet(), CPU to ConcurrentSkipListSet())
|
||||
var cpu: MutableSet<CompilationChartsViewModel.StatisticData> = ConcurrentSkipListSet()
|
||||
@@ -61,15 +55,15 @@ class CompilationChartsDiagramsComponent(
|
||||
MEMORY to ChartUsage(zoom, "memory", UsageModel()).apply {
|
||||
format = { stat -> "${stat.data / (1024 * 1024)} MB" }
|
||||
color {
|
||||
background = COLOR_MEMORY
|
||||
border = COLOR_MEMORY_BORDER
|
||||
background = Colors.Memory.BACKGROUND
|
||||
border = Colors.Memory.BORDER
|
||||
}
|
||||
},
|
||||
CPU to ChartUsage(zoom, "cpu", UsageModel()).apply {
|
||||
format = { stat -> "${stat.data} %" }
|
||||
color {
|
||||
background = COLOR_CPU
|
||||
border = COLOR_CPU_BORDER
|
||||
background = Colors.Cpu.BACKGROUND
|
||||
border = Colors.Cpu.BORDER
|
||||
}
|
||||
})
|
||||
|
||||
@@ -87,35 +81,35 @@ class CompilationChartsDiagramsComponent(
|
||||
|
||||
charts = charts(vm, zoom, { cleanCache() }) {
|
||||
progress {
|
||||
height = ROW_HEIGHT
|
||||
height = Settings.Block.HEIGHT
|
||||
|
||||
block {
|
||||
border = MODULE_BLOCK_BORDER
|
||||
padding = MODULE_BLOCK_PADDING
|
||||
color = { m -> if (m.target.isTest) COLOR_TEST_BLOCK else COLOR_PRODUCTION_BLOCK }
|
||||
outline = { m -> if (m.target.isTest) COLOR_TEST_BORDER else COLOR_PRODUCTION_BORDER }
|
||||
selected = { m -> if (m.target.isTest) COLOR_TEST_BORDER_SELECTED else COLOR_PRODUCTION_BORDER_SELECTED }
|
||||
border = Settings.Block.BORDER
|
||||
padding = Settings.Block.PADDING
|
||||
color = { m -> Colors.getBlock(m.target.isTest).ENABLED }
|
||||
outline = { m -> Colors.getBlock(m.target.isTest).BORDER }
|
||||
selected = { m -> Colors.getBlock(m.target.isTest).SELECTED }
|
||||
}
|
||||
background {
|
||||
color = { row -> if (row % 2 == 0) COLOR_BACKGROUND_EVEN else COLOR_BACKGROUND_ODD }
|
||||
color = { row -> Colors.Background.getRowColor(row) }
|
||||
}
|
||||
}
|
||||
usage = usages[MEMORY]!!
|
||||
axis {
|
||||
stroke = floatArrayOf(5f, 5f)
|
||||
distance = AXIS_DISTANCE_PX
|
||||
count = AXIS_MARKERS_COUNT
|
||||
height = ROW_HEIGHT
|
||||
padding = AXIS_TEXT_PADDING
|
||||
distance = Settings.Axis.DISTANCE
|
||||
count = Settings.Axis.MARKERS_COUNT
|
||||
height = Settings.Block.HEIGHT
|
||||
padding = Settings.Axis.TEXT_PADDING
|
||||
}
|
||||
settings {
|
||||
font {
|
||||
size = FONT_SIZE
|
||||
color = COLOR_TEXT
|
||||
size = Settings.Font.SIZE
|
||||
color = Colors.TEXT
|
||||
}
|
||||
background = COLOR_BACKGROUND
|
||||
background = Colors.Background.DEFAULT
|
||||
line {
|
||||
color = COLOR_LINE
|
||||
color = Colors.LINE
|
||||
}
|
||||
mouse = CompilationChartsModuleInfo(vm, this@CompilationChartsDiagramsComponent)
|
||||
}
|
||||
@@ -130,7 +124,7 @@ class CompilationChartsDiagramsComponent(
|
||||
})
|
||||
|
||||
AppExecutorUtil.createBoundedScheduledExecutorService("Compilation charts component", 1)
|
||||
.scheduleWithFixedDelay({ if (hasNewData()) smartDraw() }, 0, REFRESH_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||
.scheduleWithFixedDelay({ if (hasNewData()) smartDraw() }, 0, Settings.Refresh.timeout, Settings.Refresh.unit)
|
||||
}
|
||||
|
||||
internal fun cleanCache() {
|
||||
@@ -194,15 +188,15 @@ class CompilationChartsDiagramsComponent(
|
||||
g2d: ChartGraphics,
|
||||
draw: (ChartGraphics) -> Unit,
|
||||
) {
|
||||
val start: Int = viewport.viewPosition.x / BUFFERED_IMAGE_WIDTH_PX
|
||||
val end: Int = (viewport.viewPosition.x + viewport.width) / BUFFERED_IMAGE_WIDTH_PX + 1
|
||||
val start: Int = viewport.viewPosition.x / Settings.Image.WIDTH
|
||||
val end: Int = (viewport.viewPosition.x + viewport.width) / Settings.Image.WIDTH + 1
|
||||
|
||||
for (index in start..end) {
|
||||
charts.clips(Rectangle2D.Double((index * BUFFERED_IMAGE_WIDTH_PX).toDouble(), viewport.y.toDouble(),
|
||||
BUFFERED_IMAGE_WIDTH_PX.toDouble(), viewport.height.toDouble()))
|
||||
charts.clips(Rectangle2D.Double((index * Settings.Image.WIDTH).toDouble(), viewport.y.toDouble(),
|
||||
Settings.Image.WIDTH.toDouble(), viewport.height.toDouble()))
|
||||
|
||||
val area = Rectangle2D.Double((index * BUFFERED_IMAGE_WIDTH_PX).toDouble(), viewport.y.toDouble(),
|
||||
BUFFERED_IMAGE_WIDTH_PX.toDouble(), charts.height())
|
||||
val area = Rectangle2D.Double((index * Settings.Image.WIDTH).toDouble(), viewport.y.toDouble(),
|
||||
Settings.Image.WIDTH.toDouble(), charts.height())
|
||||
|
||||
val image = images[index]
|
||||
if (image != null && image.height() == area.height) {
|
||||
@@ -214,7 +208,7 @@ class CompilationChartsDiagramsComponent(
|
||||
}
|
||||
else {
|
||||
val counter = imageRequestCount.compute(index) { _, v -> (v ?: 0) + 1 } ?: 1
|
||||
if (counter < IMAGE_CACHE_ACTIVATION_COUNT) {
|
||||
if (counter < Settings.Image.CACHE_ACTIVATION_COUNT) {
|
||||
draw(g2d)
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -8,7 +8,6 @@ import java.awt.event.AdjustmentListener
|
||||
import java.awt.event.MouseWheelEvent
|
||||
import java.awt.event.MouseWheelListener
|
||||
import java.util.concurrent.ScheduledFuture
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.swing.JViewport
|
||||
|
||||
internal class RightAdhesionScrollBarListener(
|
||||
@@ -43,7 +42,7 @@ internal class RightAdhesionScrollBarListener(
|
||||
|
||||
private fun scheduleUpdateShouldScroll() {
|
||||
updateShouldScrollTask?.cancel(false)
|
||||
updateShouldScrollTask = executor.schedule(::updateShouldScroll, 100, TimeUnit.MILLISECONDS)
|
||||
updateShouldScrollTask = executor.schedule(::updateShouldScroll, Settings.Scroll.timeout, Settings.Scroll.unit)
|
||||
}
|
||||
|
||||
private fun adjustHorizontalScrollToRightIfNeeded() {
|
||||
@@ -69,9 +68,9 @@ internal class RightAdhesionScrollBarListener(
|
||||
shouldScroll.stop()
|
||||
}
|
||||
|
||||
fun increase() = applyZoomTransformation(ZoomEvent.IN) { adjust(viewport, viewport.getMiddlePoint(), ZOOM_IN_MULTIPLIER) }
|
||||
fun increase() = applyZoomTransformation(ZoomEvent.IN) { adjust(viewport, viewport.getMiddlePoint(), Settings.Zoom.IN) }
|
||||
|
||||
fun decrease() = applyZoomTransformation(ZoomEvent.OUT) { adjust(viewport, viewport.getMiddlePoint(), ZOOM_OUT_MULTIPLIER) }
|
||||
fun decrease() = applyZoomTransformation(ZoomEvent.OUT) { adjust(viewport, viewport.getMiddlePoint(), Settings.Zoom.OUT) }
|
||||
|
||||
fun reset() = applyZoomTransformation(ZoomEvent.RESET) {
|
||||
val shouldScrollAfterResetting = viewport.width >= viewport.viewSize.width
|
||||
@@ -88,10 +87,5 @@ internal class RightAdhesionScrollBarListener(
|
||||
}
|
||||
|
||||
private fun JViewport.getMiddlePoint(): Int = viewPosition.x + width / 2
|
||||
|
||||
companion object {
|
||||
private const val ZOOM_IN_MULTIPLIER: Double = 1.25
|
||||
private const val ZOOM_OUT_MULTIPLIER: Double = 0.8
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import kotlin.math.roundToInt
|
||||
import kotlin.math.roundToLong
|
||||
|
||||
class Zoom {
|
||||
private var scale = INITIAL_SCALE
|
||||
private var scale = Settings.Zoom.SCALE
|
||||
|
||||
fun toPixels(duration: Long): Double = toPixels(duration.toDouble(), scale)
|
||||
fun toPixels(duration: Double): Double = toPixels(duration, scale)
|
||||
@@ -29,10 +29,10 @@ class Zoom {
|
||||
}
|
||||
|
||||
fun reset(viewport: JViewport, xPosition: Int): Point? {
|
||||
val delta = INITIAL_SCALE / scale
|
||||
val isScaleAboveInitial = scale > INITIAL_SCALE
|
||||
val delta = Settings.Zoom.SCALE / scale
|
||||
val isScaleAboveInitial = scale > Settings.Zoom.SCALE
|
||||
val newViewportPosition = adjust(viewport, xPosition, delta, isScaleAboveInitial)
|
||||
scale = INITIAL_SCALE
|
||||
scale = Settings.Zoom.SCALE
|
||||
return if (isScaleAboveInitial) null else newViewportPosition
|
||||
}
|
||||
|
||||
@@ -40,8 +40,4 @@ class Zoom {
|
||||
private fun toDuration(pixels: Double, scale: Double): Long = secondsToNanos(pixels / scale).roundToLong()
|
||||
private fun nanosToSeconds(time: Double): Double = time / TimeUnit.SECONDS.toNanos(1)
|
||||
private fun secondsToNanos(time: Double): Double = time * TimeUnit.SECONDS.toNanos(1)
|
||||
|
||||
companion object {
|
||||
private const val INITIAL_SCALE: Double = 24.0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ class ChartUsage(private val zoom: Zoom, private val name: String, internal val
|
||||
fill(path)
|
||||
}
|
||||
g2d.withColor(color.border) {
|
||||
g2d.withStroke(BasicStroke(USAGE_BORDER)) {
|
||||
g2d.withStroke(BasicStroke(Settings.Usage.BORDER)) {
|
||||
draw(border)
|
||||
}
|
||||
}
|
||||
@@ -385,7 +385,7 @@ class ChartAxis(private val zoom: Zoom) : ChartComponent {
|
||||
val from = (bracket.x.roundToInt() / distance) * distance
|
||||
val to = from + bracket.width.roundToInt() + bracket.x.roundToInt() % distance
|
||||
|
||||
withColor(COLOR_LINE) {
|
||||
withColor(Colors.LINE) {
|
||||
for (x in from..to step distance) {
|
||||
// big axis
|
||||
withStroke(BasicStroke(1.5F, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0f, this@ChartAxis.stroke, 0.0f)) {
|
||||
|
||||
@@ -1,45 +1,121 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.java.compiler.charts.ui
|
||||
|
||||
import com.intellij.ui.ColorUtil
|
||||
import com.intellij.ui.JBColor
|
||||
import com.intellij.ui.table.JBTable
|
||||
import com.intellij.util.ui.UIUtil.FontSize
|
||||
import java.awt.Color
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
val COLOR_TEST_BLOCK: JBColor = JBColor(Color(0xc5e5cc), Color(0x375239))
|
||||
val COLOR_TEST_BLOCK_DISABLED: JBColor = JBColor(Color(0xb6eedd), Color(0x26392b))
|
||||
val COLOR_TEST_BORDER: JBColor = JBColor(Color(0x3b9954), Color(0x549159))
|
||||
val COLOR_TEST_BORDER_SELECTED: JBColor = JBColor.GREEN
|
||||
object Colors {
|
||||
object Background {
|
||||
val ODD: JBColor = exact("CompilationCharts.background.odd")
|
||||
val EVEN: JBColor = exact("CompilationCharts.background.even")
|
||||
val DEFAULT: JBColor = exact("CompilationCharts.background.default")
|
||||
|
||||
val COLOR_PRODUCTION_BLOCK: JBColor = JBColor(Color(0xc2d6fc), Color(0x2e436e))
|
||||
val COLOR_PRODUCTION_BLOCK_DISABLED: JBColor = JBColor(Color(0xd7e4fd), Color(0x202e4d))
|
||||
val COLOR_PRODUCTION_BORDER: JBColor = JBColor(Color(0x4781fa), Color(0x4978d6))
|
||||
val COLOR_PRODUCTION_BORDER_SELECTED: JBColor = JBColor.BLUE
|
||||
fun getRowColor(row: Int): JBColor = if (row % 2 == 0) EVEN else ODD
|
||||
}
|
||||
|
||||
val COLOR_BACKGROUND: Color = JBColor.background()
|
||||
val COLOR_BACKGROUND_ODD: JBColor = JBColor.WHITE
|
||||
val COLOR_BACKGROUND_EVEN: JBColor = JBColor(Color(0xeeeeee), Color(0x3e4042))
|
||||
@Suppress("PropertyName")
|
||||
interface Block {
|
||||
val ENABLED: JBColor
|
||||
val DISABLED: JBColor
|
||||
val BORDER: JBColor
|
||||
val SELECTED: JBColor
|
||||
}
|
||||
|
||||
val COLOR_TEXT: JBColor = JBColor(Color(0x1d1d1d), Color(0xbfbfbf))
|
||||
val COLOR_LINE: JBColor = JBColor.LIGHT_GRAY
|
||||
object Test : Block {
|
||||
override val ENABLED: JBColor = exact("CompilationCharts.test.enabled")
|
||||
override val DISABLED: JBColor = exact("CompilationCharts.test.disabled")
|
||||
override val BORDER: JBColor = exact("CompilationCharts.test.border")
|
||||
override val SELECTED: JBColor = exact("CompilationCharts.test.selected")
|
||||
}
|
||||
|
||||
val COLOR_MEMORY: JBColor = JBColor.namedColor("Profiler.MemoryChart.inactiveBorderColor")
|
||||
val COLOR_MEMORY_BORDER: JBColor = JBColor.namedColor("Profiler.MemoryChart.borderColor")
|
||||
object Production : Block {
|
||||
override val ENABLED: JBColor = exact("CompilationCharts.production.enabled")
|
||||
override val DISABLED: JBColor = exact("CompilationCharts.production.disabled")
|
||||
override val BORDER: JBColor = exact("CompilationCharts.production.border")
|
||||
override val SELECTED: JBColor = exact("CompilationCharts.production.selected")
|
||||
}
|
||||
|
||||
val COLOR_CPU: JBColor = JBColor.namedColor("Profiler.CpuChart.inactiveBorderColor")
|
||||
val COLOR_CPU_BORDER: JBColor = JBColor.namedColor("Profiler.CpuChart.borderColor")
|
||||
@Suppress("PropertyName")
|
||||
interface Usage {
|
||||
val BACKGROUND: JBColor
|
||||
val BORDER: JBColor
|
||||
}
|
||||
|
||||
object Memory: Usage {
|
||||
override val BACKGROUND: JBColor = exact("CompilationCharts.memory.background")
|
||||
override val BORDER: JBColor = exact("CompilationCharts.memory.border")
|
||||
}
|
||||
|
||||
const val MODULE_BLOCK_PADDING: Double = 1.0
|
||||
const val MODULE_BLOCK_BORDER: Double = 2.0
|
||||
object Cpu: Usage {
|
||||
override val BACKGROUND: JBColor = exact("CompilationCharts.cpu.background")
|
||||
override val BORDER: JBColor = exact("CompilationCharts.cpu.border")
|
||||
}
|
||||
|
||||
const val USAGE_BORDER: Float = 2.0f
|
||||
val LINE: JBColor = exact("CompilationCharts.lineColor")
|
||||
val TEXT: JBColor = exact("CompilationCharts.textColor")
|
||||
|
||||
val FONT_SIZE: FontSize = FontSize.NORMAL
|
||||
fun getBlock(isTest: Boolean): Block = if (isTest) Test else Production
|
||||
|
||||
const val AXIS_DISTANCE_PX: Int = 250
|
||||
const val AXIS_MARKERS_COUNT: Int = 10
|
||||
const val AXIS_TEXT_PADDING: Int = 2
|
||||
private fun exact(propertyName: String): JBColor {
|
||||
return JBColor.namedColor(propertyName)
|
||||
}
|
||||
|
||||
const val BUFFERED_IMAGE_WIDTH_PX = 512
|
||||
const val IMAGE_CACHE_ACTIVATION_COUNT = 8
|
||||
const val REFRESH_TIMEOUT_SECONDS = 1L
|
||||
private fun JBColor.alpha(alpha: Double): JBColor {
|
||||
return ColorUtil.withAlpha(this, alpha) as JBColor
|
||||
}
|
||||
}
|
||||
|
||||
object Settings {
|
||||
object Block {
|
||||
const val PADDING: Double = 1.0
|
||||
const val BORDER: Double = 2.0
|
||||
val HEIGHT = JBTable().rowHeight * 1.5
|
||||
}
|
||||
|
||||
object Axis {
|
||||
const val DISTANCE: Int = 250
|
||||
const val MARKERS_COUNT: Int = 10
|
||||
const val TEXT_PADDING: Int = 2
|
||||
}
|
||||
|
||||
object Zoom {
|
||||
const val SCALE: Double = 24.0
|
||||
const val IN: Double = 1.25
|
||||
const val OUT: Double = 0.8
|
||||
}
|
||||
|
||||
object Usage {
|
||||
const val BORDER: Float = 2.0f
|
||||
}
|
||||
|
||||
object Font {
|
||||
val SIZE: FontSize = FontSize.NORMAL
|
||||
}
|
||||
|
||||
object Image {
|
||||
const val CACHE_ACTIVATION_COUNT: Int = 8
|
||||
const val WIDTH: Int = 512
|
||||
}
|
||||
|
||||
interface Timeout {
|
||||
val timeout: Long
|
||||
val unit: TimeUnit
|
||||
}
|
||||
|
||||
object Refresh: Timeout {
|
||||
override val timeout: Long = 1L
|
||||
override val unit: TimeUnit = TimeUnit.SECONDS
|
||||
}
|
||||
|
||||
object Scroll: Timeout {
|
||||
override val timeout: Long = 100L
|
||||
override val unit: TimeUnit = TimeUnit.MILLISECONDS
|
||||
}
|
||||
|
||||
object Toolbar {
|
||||
const val ID = "CompilationChartsToolbar"
|
||||
}
|
||||
}
|
||||
@@ -599,6 +599,35 @@
|
||||
"horizontalAxisColor": "#E6E6E6"
|
||||
}
|
||||
},
|
||||
"CompilationCharts": {
|
||||
"background":{
|
||||
"odd": "#F7F8FA",
|
||||
"even": "#EBECF0",
|
||||
"default": "#F7F8FA"
|
||||
},
|
||||
"test": {
|
||||
"enabled": "#89C398",
|
||||
"disabled": "#E3F7E7",
|
||||
"border": "#369650",
|
||||
"selected": "#55A76A"
|
||||
},
|
||||
"production": {
|
||||
"enabled": "#88ADF7",
|
||||
"disabled": "#D4E2FF",
|
||||
"border": "#3574F0",
|
||||
"selected": "#4682FA"
|
||||
},
|
||||
"memory": {
|
||||
"background": "#C2D6FC",
|
||||
"border": "#4682FA"
|
||||
},
|
||||
"cpu": {
|
||||
"background": "#C5E5CC",
|
||||
"border": "#89C398"
|
||||
},
|
||||
"lineColor": "#D3D5DB",
|
||||
"textColor": "#27282E"
|
||||
},
|
||||
"FlameGraph.Tooltip": {
|
||||
"scaleBackground": "#555454",
|
||||
"scaleColor": "#402FF6",
|
||||
|
||||
@@ -954,6 +954,35 @@
|
||||
"horizontalAxisColor": "#D1D1D1"
|
||||
}
|
||||
},
|
||||
"CompilationCharts": {
|
||||
"background":{
|
||||
"odd": "#2B2D30",
|
||||
"even": "#393B40",
|
||||
"default": "#2B2D30"
|
||||
},
|
||||
"test": {
|
||||
"enabled": "#375239",
|
||||
"disabled": "#273828",
|
||||
"border": "#57965C",
|
||||
"selected": "#73BD79"
|
||||
},
|
||||
"production": {
|
||||
"enabled": "#2E436E",
|
||||
"disabled": "#25324D",
|
||||
"border": "#3574F0",
|
||||
"selected": "#548AF7"
|
||||
},
|
||||
"memory": {
|
||||
"background": "#2E436E",
|
||||
"border": "#548AF7"
|
||||
},
|
||||
"cpu": {
|
||||
"background": "#375239",
|
||||
"border": "#57965C"
|
||||
},
|
||||
"lineColor": "#393B40",
|
||||
"textColor": "#B4B8BF"
|
||||
},
|
||||
"FlameGraph.Tooltip": {
|
||||
"scaleBackground": "#363839",
|
||||
"scaleColor": "#365880",
|
||||
|
||||
@@ -1034,6 +1034,35 @@
|
||||
"horizontalAxisColor": "Gray4"
|
||||
}
|
||||
},
|
||||
"CompilationCharts": {
|
||||
"background":{
|
||||
"odd": "Gray2",
|
||||
"even": "Gray3",
|
||||
"default": "Gray2"
|
||||
},
|
||||
"test": {
|
||||
"enabled": "Green3",
|
||||
"disabled": "Green2",
|
||||
"border": "Green6",
|
||||
"selected": "Green8"
|
||||
},
|
||||
"production": {
|
||||
"enabled": "Blue2",
|
||||
"disabled": "Blue1",
|
||||
"border": "Blue6",
|
||||
"selected": "Blue8"
|
||||
},
|
||||
"memory": {
|
||||
"background": "Blue2",
|
||||
"border": "Blue8"
|
||||
},
|
||||
"cpu": {
|
||||
"background": "Green3",
|
||||
"border": "Green6"
|
||||
},
|
||||
"lineColor": "Gray3",
|
||||
"textColor": "Gray10"
|
||||
},
|
||||
"FlameGraph.Tooltip": {
|
||||
"scaleBackground": "#43454A",
|
||||
"scaleColor": "#375FAD",
|
||||
|
||||
@@ -1060,6 +1060,35 @@
|
||||
"horizontalAxisColor": "Gray9"
|
||||
}
|
||||
},
|
||||
"CompilationCharts": {
|
||||
"background":{
|
||||
"odd": "Gray13",
|
||||
"even": "Gray12",
|
||||
"default": "Gray13"
|
||||
},
|
||||
"test": {
|
||||
"enabled": "Green7",
|
||||
"disabled": "Green10",
|
||||
"border": "Green5",
|
||||
"selected": "Green6"
|
||||
},
|
||||
"production": {
|
||||
"enabled": "Blue8",
|
||||
"disabled": "Blue11",
|
||||
"border": "Blue4",
|
||||
"selected": "Blue5"
|
||||
},
|
||||
"memory": {
|
||||
"background": "Blue10",
|
||||
"border": "Blue5"
|
||||
},
|
||||
"cpu": {
|
||||
"background": "Green9",
|
||||
"border": "Green7"
|
||||
},
|
||||
"lineColor": "Gray10",
|
||||
"textColor": "Gray2"
|
||||
},
|
||||
"FlameGraph.Tooltip": {
|
||||
"scaleBackground": "#EBECF0",
|
||||
"scaleColor": "#C2D6FC",
|
||||
|
||||
@@ -1286,6 +1286,35 @@
|
||||
"horizontalAxisColor": "#515151"
|
||||
}
|
||||
},
|
||||
"CompilationCharts": {
|
||||
"background":{
|
||||
"odd": "#F7F8FA",
|
||||
"even": "#EBECF0",
|
||||
"default": "#F7F8FA"
|
||||
},
|
||||
"test": {
|
||||
"enabled": "#89C398",
|
||||
"disabled": "#E3F7E7",
|
||||
"border": "#369650",
|
||||
"selected": "#55A76A"
|
||||
},
|
||||
"production": {
|
||||
"enabled": "#88ADF7",
|
||||
"disabled": "#D4E2FF",
|
||||
"border": "#3574F0",
|
||||
"selected": "#4682FA"
|
||||
},
|
||||
"memory": {
|
||||
"background": "#C2D6FC",
|
||||
"border": "#4682FA"
|
||||
},
|
||||
"cpu": {
|
||||
"background": "#C5E5CC",
|
||||
"border": "#89C398"
|
||||
},
|
||||
"lineColor": "#D3D5DB",
|
||||
"textColor": "#27282E"
|
||||
},
|
||||
"FlameGraph.Tooltip": {
|
||||
"scaleBackground": "#EBEBEB",
|
||||
"scaleColor": "#A7D1EC",
|
||||
|
||||
Reference in New Issue
Block a user