mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
register renderers as extensions
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 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.
|
||||
@@ -34,6 +34,7 @@ class ColorObjectRenderer extends CompoundReferenceRenderer {
|
||||
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
|
||||
@@ -55,6 +56,7 @@ class ColorObjectRenderer extends CompoundReferenceRenderer {
|
||||
if (valueField != null) {
|
||||
final Value rgbValue = objRef.getValue(valueField);
|
||||
if (rgbValue instanceof IntegerValue) {
|
||||
@SuppressWarnings("UseJBColor")
|
||||
final Color color = new Color(((IntegerValue)rgbValue).value(), true);
|
||||
return new ColorIcon(16, 12, color, true);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ class IconObjectRenderer extends CompoundReferenceRenderer implements FullValueE
|
||||
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
|
||||
|
||||
@@ -45,6 +45,7 @@ class ImageObjectRenderer extends CompoundReferenceRenderer implements FullValue
|
||||
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
|
||||
|
||||
@@ -78,9 +78,6 @@ public class NodeRendererSettings implements PersistentStateComponent<Element> {
|
||||
private final ClassRenderer myClassRenderer = new ClassRenderer();
|
||||
private final HexRenderer myHexRenderer = new HexRenderer();
|
||||
private final ToStringRenderer myToStringRenderer = new ToStringRenderer();
|
||||
private final CompoundReferenceRenderer myColorRenderer;
|
||||
private final CompoundReferenceRenderer myImageRenderer;
|
||||
private final CompoundReferenceRenderer myIconRenderer;
|
||||
// alternate collections
|
||||
private final NodeRenderer[] myAlternateCollectionRenderers = new NodeRenderer[]{
|
||||
createCompoundReferenceRenderer(
|
||||
@@ -109,16 +106,10 @@ public class NodeRendererSettings implements PersistentStateComponent<Element> {
|
||||
@NonNls private static final String CUSTOM_RENDERERS_TAG_NAME = "CustomRenderers";
|
||||
|
||||
public NodeRendererSettings() {
|
||||
myColorRenderer = new ColorObjectRenderer(this);
|
||||
myImageRenderer = new ImageObjectRenderer(this);
|
||||
myIconRenderer = new IconObjectRenderer(this);
|
||||
// default configuration
|
||||
myHexRenderer.setEnabled(false);
|
||||
myToStringRenderer.setEnabled(true);
|
||||
setAlternateCollectionViewsEnabled(true);
|
||||
myColorRenderer.setEnabled(true);
|
||||
myImageRenderer.setEnabled(true);
|
||||
myIconRenderer.setEnabled(true);
|
||||
}
|
||||
|
||||
public static NodeRendererSettings getInstance() {
|
||||
@@ -288,9 +279,6 @@ public class NodeRendererSettings implements PersistentStateComponent<Element> {
|
||||
}
|
||||
});
|
||||
Collections.addAll(allRenderers, myAlternateCollectionRenderers);
|
||||
allRenderers.add(myColorRenderer);
|
||||
allRenderers.add(myImageRenderer);
|
||||
allRenderers.add(myIconRenderer);
|
||||
allRenderers.add(myToStringRenderer);
|
||||
allRenderers.add(myArrayRenderer);
|
||||
allRenderers.add(myClassRenderer);
|
||||
|
||||
Reference in New Issue
Block a user