/* * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.intellij.xdebugger.impl.ui.tree.nodes; import com.intellij.openapi.editor.DefaultLanguageHighlighterColors; 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.xdebugger.impl.ui.DebuggerUIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author nik */ public class XValueTextRendererImpl extends XValueTextRendererBase { private final ColoredTextContainer myText; public XValueTextRendererImpl(@NotNull ColoredTextContainer text) { myText = text; } @Override public void renderValue(@NotNull String value) { XValuePresentationUtil.renderValue(value, myText, SimpleTextAttributes.REGULAR_ATTRIBUTES, -1, null); } @Override protected void renderRawValue(@NotNull String value, @NotNull TextAttributesKey key) { TextAttributes textAttributes = DebuggerUIUtil.getColorScheme().getAttributes(key); SimpleTextAttributes attributes = SimpleTextAttributes.fromTextAttributes(textAttributes); myText.append(value, attributes); } @Override public void renderStringValue(@NotNull String value, @Nullable String additionalSpecialCharsToHighlight, int maxLength) { TextAttributes textAttributes = DebuggerUIUtil.getColorScheme().getAttributes(DefaultLanguageHighlighterColors.STRING); SimpleTextAttributes attributes = SimpleTextAttributes.fromTextAttributes(textAttributes); myText.append("\"", attributes); XValuePresentationUtil.renderValue(value, myText, attributes, maxLength, additionalSpecialCharsToHighlight); myText.append("\"", attributes); } @Override public void renderComment(@NotNull String comment) { myText.append(comment, SimpleTextAttributes.GRAY_ATTRIBUTES); } @Override public void renderError(@NotNull String error) { myText.append(error, SimpleTextAttributes.ERROR_ATTRIBUTES); } @Override public void renderSpecialSymbol(@NotNull String symbol) { myText.append(symbol, SimpleTextAttributes.REGULAR_ATTRIBUTES); } }