From 17b78eb122f6473e4415b33a2f10dbbcdc671a6c Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 24 Feb 2014 18:14:56 +0100 Subject: [PATCH] show "native" description for node objects --- .../frame/presentation/XKeywordValuePresentation.java | 2 +- .../xdebugger/frame/presentation/XValuePresentation.java | 3 +++ .../impl/ui/tree/nodes/XValuePresentationUtil.java | 5 +++++ .../impl/ui/tree/nodes/XValueTextRendererImpl.java | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XKeywordValuePresentation.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XKeywordValuePresentation.java index c6d79ff881d2..c84cadd5b254 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XKeywordValuePresentation.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XKeywordValuePresentation.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull; public class XKeywordValuePresentation extends XValuePresentation { private final String myValue; - public XKeywordValuePresentation(String value) { + public XKeywordValuePresentation(@NotNull String value) { myValue = value; } diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XValuePresentation.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XValuePresentation.java index 0fbc9c713f15..69f3f95c7e41 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XValuePresentation.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/presentation/XValuePresentation.java @@ -15,6 +15,7 @@ */ package com.intellij.xdebugger.frame.presentation; +import com.intellij.ui.SimpleTextAttributes; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -71,6 +72,8 @@ public abstract class XValuePresentation { */ void renderKeywordValue(@NotNull String value); + void renderValue(@NotNull String value, @Nullable SimpleTextAttributes attributes); + /** * Appends {@code value} surrounded by quotes to the node text colored as a string * @param value value to be shown diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValuePresentationUtil.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValuePresentationUtil.java index aaad5a9827c2..3232d028cd3c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValuePresentationUtil.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValuePresentationUtil.java @@ -124,6 +124,11 @@ public class XValuePresentationUtil { myBuilder.append(symbol); } + @Override + public void renderValue(@NotNull String value, @Nullable SimpleTextAttributes attributes) { + renderValue(value); + } + public String getText() { return myBuilder.toString(); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueTextRendererImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueTextRendererImpl.java index 975d8e49cc68..d8aa9f46b05c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueTextRendererImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueTextRendererImpl.java @@ -21,6 +21,7 @@ import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.ui.ColoredTextContainer; import com.intellij.ui.SimpleTextAttributes; +import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,6 +40,11 @@ class XValueTextRendererImpl extends XValueTextRendererBase { XValuePresentationUtil.renderValue(value, myText, SimpleTextAttributes.REGULAR_ATTRIBUTES, -1, null); } + @Override + public void renderValue(@NotNull String value, @Nullable SimpleTextAttributes attributes) { + myText.append(value, ObjectUtils.notNull(attributes, SimpleTextAttributes.REGULAR_ATTRIBUTES)); + } + @Override protected void renderRawValue(@NotNull String value, @NotNull TextAttributesKey key) { TextAttributes textAttributes = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(key);