mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[rd debugger] Use ColorId to serialize Color
IJPL-176964 GitOrigin-RevId: 90c6d849213d2a86c6ea59ed489d59d746850c9f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8e0590d2b6
commit
510344a7de
+2
-1
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.debugger.impl.backend
|
||||
|
||||
import com.intellij.ide.ui.colors.color
|
||||
import com.intellij.platform.debugger.impl.rpc.XDebuggerValueMarkupApi
|
||||
import com.intellij.platform.debugger.impl.rpc.XValueMarkerDto
|
||||
import com.intellij.ui.JBColor
|
||||
@@ -20,7 +21,7 @@ internal class BackendXDebuggerValueMarkupApi : XDebuggerValueMarkupApi {
|
||||
val session = xValueModel.session
|
||||
val markers = session.getValueMarkers() ?: return
|
||||
|
||||
val markup = ValueMarkup(markerDto.text, markerDto.color ?: JBColor.RED, markerDto.tooltipText)
|
||||
val markup = ValueMarkup(markerDto.text, markerDto.colorId?.color() ?: JBColor.RED, markerDto.tooltipText)
|
||||
markers.markValue(xValueModel.xValue, markup).await()
|
||||
updateMarkersForAllXValueModels(markers, session)
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,13 +1,14 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.debugger.impl.frontend
|
||||
|
||||
import com.intellij.ide.ui.colors.color
|
||||
import com.intellij.ide.ui.colors.rpcId
|
||||
import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.platform.debugger.impl.frontend.evaluate.quick.FrontendXValue
|
||||
import com.intellij.platform.debugger.impl.rpc.XDebuggerValueMarkupApi
|
||||
import com.intellij.platform.debugger.impl.rpc.XValueMarkerDto
|
||||
import com.intellij.ui.JBColor
|
||||
import com.intellij.xdebugger.frame.XValue
|
||||
import com.intellij.xdebugger.impl.frame.XDebugManagerProxy
|
||||
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
|
||||
@@ -23,8 +24,7 @@ import org.jetbrains.concurrency.asPromise
|
||||
internal class FrontendXValueMarkers<V : XValue, M>(private val project: Project) : XValueMarkers<V, M>() {
|
||||
override fun getMarkup(value: XValue): ValueMarkup? {
|
||||
val markerDto = FrontendXValue.asFrontendXValueOrNull(value)?.markerDto ?: return null
|
||||
// TODO[IJPL-160146]: Implement implement Color serialization
|
||||
return ValueMarkup(markerDto.text, markerDto.color ?: JBColor.RED, markerDto.tooltipText)
|
||||
return ValueMarkup(markerDto.text, markerDto.colorId?.color(), markerDto.tooltipText)
|
||||
}
|
||||
|
||||
override fun canMarkValue(value: XValue): Boolean {
|
||||
@@ -54,7 +54,7 @@ internal class FrontendXValueMarkers<V : XValue, M>(private val project: Project
|
||||
private class FrontendXValueMarkersService(project: Project, private val cs: CoroutineScope) {
|
||||
fun markValue(value: XValue, markup: ValueMarkup): Promise<Any> {
|
||||
val valueMarked = cs.async {
|
||||
val marker = XValueMarkerDto(markup.text, markup.color, markup.toolTipText)
|
||||
val marker = XValueMarkerDto(markup.text, markup.color.rpcId(), markup.toolTipText)
|
||||
XDebuggerValueMarkupApi.getInstance().markValue(FrontendXValue.asFrontendXValue(value).xValueDto.id, marker)
|
||||
marker as Any
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.debugger.impl.rpc
|
||||
|
||||
import com.intellij.ide.ui.colors.ColorId
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
import java.awt.Color
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
// TODO[IJPL-160146]: Implement implement Color serialization
|
||||
@ApiStatus.Internal
|
||||
@Serializable
|
||||
data class XValueMarkerDto(val text: String, @Transient val color: Color? = null, val tooltipText: String?)
|
||||
data class XValueMarkerDto(val text: String, val colorId: ColorId?, val tooltipText: String?)
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.xdebugger.impl.actions.handlers
|
||||
|
||||
import com.intellij.ide.ui.colors.rpcId
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys
|
||||
import com.intellij.openapi.application.EDT
|
||||
@@ -97,7 +98,7 @@ private suspend fun performMarkObject(
|
||||
return false
|
||||
}
|
||||
XDebugManagerProxy.getInstance().withId(value, proxy) { xValueId ->
|
||||
val marker = XValueMarkerDto(markup.text, markup.color, markup.toolTipText)
|
||||
val marker = XValueMarkerDto(markup.text, markup.color.rpcId(), markup.toolTipText)
|
||||
XDebuggerValueMarkupApi.getInstance().markValue(xValueId, marker)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.xdebugger.impl.rpc.models
|
||||
|
||||
import com.intellij.ide.ui.colors.rpcId
|
||||
import com.intellij.ide.ui.icons.rpcId
|
||||
import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
@@ -15,6 +16,7 @@ import com.intellij.platform.kernel.ids.BackendValueIdType
|
||||
import com.intellij.platform.kernel.ids.deleteValueById
|
||||
import com.intellij.platform.kernel.ids.findValueById
|
||||
import com.intellij.platform.kernel.ids.storeValueGlobally
|
||||
import com.intellij.ui.JBColor
|
||||
import com.intellij.util.AwaitCancellationAndInvoke
|
||||
import com.intellij.util.awaitCancellationAndInvoke
|
||||
import com.intellij.xdebugger.frame.XFullValueEvaluator
|
||||
@@ -107,7 +109,7 @@ class BackendXValueModel internal constructor(
|
||||
_marker.value = null
|
||||
return
|
||||
}
|
||||
_marker.update { XValueMarkerDto(marker.text, marker.color, marker.toolTipText) }
|
||||
_marker.update { XValueMarkerDto(marker.text, (marker.color ?: JBColor.RED).rpcId(), marker.toolTipText) }
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
|
||||
Reference in New Issue
Block a user