mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extracted base class for tostring based renderers
This commit is contained in:
@@ -18,7 +18,6 @@ package com.intellij.debugger.settings;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.ui.tree.ValueDescriptor;
|
||||
import com.intellij.debugger.ui.tree.render.CompoundReferenceRenderer;
|
||||
import com.intellij.debugger.ui.tree.render.DescriptorLabelListener;
|
||||
import com.intellij.util.ui.ColorIcon;
|
||||
import com.sun.jdi.*;
|
||||
@@ -29,23 +28,13 @@ import java.awt.*;
|
||||
/**
|
||||
* Created by Egor on 04.10.2014.
|
||||
*/
|
||||
class ColorObjectRenderer extends CompoundReferenceRenderer {
|
||||
|
||||
class ColorObjectRenderer extends ToStringBasedRenderer {
|
||||
public ColorObjectRenderer(final NodeRendererSettings rendererSettings) {
|
||||
super(rendererSettings, "Color", null, null);
|
||||
setClassName("java.awt.Color");
|
||||
setEnabled(true);
|
||||
}
|
||||
|
||||
public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) throws
|
||||
EvaluateException {
|
||||
String res = calcToStringLabel(descriptor, evaluationContext, listener);
|
||||
if (res != null) {
|
||||
return res;
|
||||
}
|
||||
return super.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
|
||||
public Icon calcValueIcon(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) throws EvaluateException {
|
||||
final Value value = descriptor.getValue();
|
||||
if (value instanceof ObjectReference) {
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl;
|
||||
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl;
|
||||
import com.intellij.debugger.ui.tree.ValueDescriptor;
|
||||
import com.intellij.debugger.ui.tree.render.CompoundReferenceRenderer;
|
||||
import com.intellij.debugger.ui.tree.render.DescriptorLabelListener;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.xdebugger.frame.XFullValueEvaluator;
|
||||
@@ -33,23 +32,13 @@ import javax.swing.*;
|
||||
/**
|
||||
* Created by Egor on 04.10.2014.
|
||||
*/
|
||||
class IconObjectRenderer extends CompoundReferenceRenderer implements FullValueEvaluatorProvider {
|
||||
|
||||
class IconObjectRenderer extends ToStringBasedRenderer implements FullValueEvaluatorProvider {
|
||||
public IconObjectRenderer(final NodeRendererSettings rendererSettings) {
|
||||
super(rendererSettings, "Icon", null, null);
|
||||
setClassName("javax.swing.Icon");
|
||||
setEnabled(true);
|
||||
}
|
||||
|
||||
public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) throws
|
||||
EvaluateException {
|
||||
String res = calcToStringLabel(descriptor, evaluationContext, listener);
|
||||
if (res != null) {
|
||||
return res;
|
||||
}
|
||||
return super.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon calcValueIcon(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener)
|
||||
throws EvaluateException {
|
||||
|
||||
@@ -22,9 +22,6 @@ import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl;
|
||||
import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl;
|
||||
import com.intellij.debugger.ui.tree.ValueDescriptor;
|
||||
import com.intellij.debugger.ui.tree.render.CompoundReferenceRenderer;
|
||||
import com.intellij.debugger.ui.tree.render.DescriptorLabelListener;
|
||||
import com.intellij.rt.debugger.ImageSerializer;
|
||||
import com.intellij.xdebugger.frame.XFullValueEvaluator;
|
||||
import com.sun.jdi.*;
|
||||
@@ -41,22 +38,13 @@ import java.util.List;
|
||||
/**
|
||||
* Created by Egor on 04.10.2014.
|
||||
*/
|
||||
class ImageObjectRenderer extends CompoundReferenceRenderer implements FullValueEvaluatorProvider {
|
||||
class ImageObjectRenderer extends ToStringBasedRenderer implements FullValueEvaluatorProvider {
|
||||
public ImageObjectRenderer(final NodeRendererSettings rendererSettings) {
|
||||
super(rendererSettings, "Image", null, null);
|
||||
setClassName("java.awt.Image");
|
||||
setEnabled(true);
|
||||
}
|
||||
|
||||
public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) throws
|
||||
EvaluateException {
|
||||
String res = calcToStringLabel(descriptor, evaluationContext, listener);
|
||||
if (res != null) {
|
||||
return res;
|
||||
}
|
||||
return super.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public XFullValueEvaluator getFullValueEvaluator(final EvaluationContextImpl evaluationContext, final ValueDescriptorImpl valueDescriptor) {
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2000-2015 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.debugger.settings;
|
||||
|
||||
import com.intellij.debugger.DebuggerManagerEx;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.ui.tree.ValueDescriptor;
|
||||
import com.intellij.debugger.ui.tree.render.*;
|
||||
|
||||
/**
|
||||
* @author egor
|
||||
*/
|
||||
public abstract class ToStringBasedRenderer extends CompoundReferenceRenderer {
|
||||
public ToStringBasedRenderer(NodeRendererSettings rendererSettings,
|
||||
String name,
|
||||
ValueLabelRenderer labelRenderer,
|
||||
ChildrenRenderer childrenRenderer) {
|
||||
super(rendererSettings, name, labelRenderer, childrenRenderer);
|
||||
}
|
||||
|
||||
public String calcLabel(ValueDescriptor descriptor,
|
||||
EvaluationContext evaluationContext,
|
||||
DescriptorLabelListener listener) throws EvaluateException {
|
||||
String res = calcToStringLabel(descriptor, evaluationContext, listener);
|
||||
if (res != null) {
|
||||
return res;
|
||||
}
|
||||
return super.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
|
||||
protected String calcToStringLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener)
|
||||
throws EvaluateException {
|
||||
final ToStringRenderer toStringRenderer = myRendererSettings.getToStringRenderer();
|
||||
if (toStringRenderer.isEnabled() && DebuggerManagerEx.getInstanceEx(evaluationContext.getProject()).getContext().isEvaluationPossible()) {
|
||||
return toStringRenderer.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-14
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 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.
|
||||
@@ -15,12 +15,8 @@
|
||||
*/
|
||||
package com.intellij.debugger.ui.tree.render;
|
||||
|
||||
import com.intellij.debugger.DebuggerManagerEx;
|
||||
import com.intellij.debugger.engine.DebuggerUtils;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.settings.NodeRendererSettings;
|
||||
import com.intellij.debugger.ui.tree.ValueDescriptor;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.psi.CommonClassNames;
|
||||
import com.sun.jdi.ReferenceType;
|
||||
@@ -110,15 +106,6 @@ public class CompoundReferenceRenderer extends CompoundNodeRenderer{
|
||||
}
|
||||
}
|
||||
|
||||
protected String calcToStringLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener)
|
||||
throws EvaluateException {
|
||||
final ToStringRenderer toStringRenderer = myRendererSettings.getToStringRenderer();
|
||||
if (toStringRenderer.isEnabled() && DebuggerManagerEx.getInstanceEx(evaluationContext.getProject()).getContext().isEvaluationPossible()) {
|
||||
return toStringRenderer.calcLabel(descriptor, evaluationContext, listener);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public @NotNull String getClassName() {
|
||||
return myProperties.getClassName();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user