public class IlvColoringRenderer extends IlvFilterSDMRenderer
IlvColoringRenderer
is a
filtering renderer that colors the grapher objects
automatically, depending on the value of a specified property
(called the "index property").
For example, suppose the nodes of the data model have a property named "type" that takes a limited number of values. You can create a coloring renderer by adding the following rule in the SDM style sheet:
SDM { Coloring : "type"; }
The coloring renderer will allocate a new color for each different
value of the "type"
property, and set the color
of the nodes accordingly.
Note that the index property can be defined in the data model,
but also in the style sheet. For example, the "type"
property could be defined depending on some other property of the
data objects, as shown in the following rules:
node[size < 10] { type : "small"; } node[size >= 10] { type : "big"; }The nodes will take two different colors, depending on whether their
"size"
property is less than or greater than 10.
Instead of having the Coloring renderer set the colors automatically,
you can also use the CSS function coloring
to set the colors,
as in the following example:
Coloring { colorProperty : ""; } node[type] { foreground : @|coloring(@type); }The
coloring
function allocates a color depending on its
argument, so all nodes that have the same type
property
will have the same foreground.
This manual mode is useful if you want to set the colors of some objects only.
Note that, to activate the manual mode, you must set the colorProperty
to null (""
in the CSS).
_renderer
PSEUDOCLASS_PREFIX
Constructor and Description |
---|
IlvColoringRenderer()
Creates a new coloring renderer with a
null
filtered renderer. |
IlvColoringRenderer(IlvSDMRenderer renderer)
Creates a new coloring renderer for a specified
filtered renderer.
|
Modifier and Type | Method and Description |
---|---|
IlvGraphic |
createLinkGraphic(IlvSDMEngine engine,
Object link,
IlvGraphic from,
IlvGraphic to)
Allocates and sets the colors of the link depending on
the value of the index property.
|
IlvGraphic |
createNodeGraphic(IlvSDMEngine engine,
Object node)
Allocates and sets the colors of the node depending on
the value of the index property.
|
float |
getAlpha()
Returns the alpha channel of the colors allocated by this renderer.
|
float |
getBrightness()
Returns the brightness of the colors allocated by this renderer.
|
String |
getColorProperty()
Returns the names of the color properties that the
renderer sets on the graphic objects to color
them.
|
float |
getHue()
Gets the "base" hue.
|
String |
getIndexProperty()
Returns the name of the object property to use as an index.
|
String |
getParameter()
This method calls
getIndexProperty() . |
float |
getSaturation()
Returns the saturation of the colors.
|
void |
prepareRendering(IlvSDMEngine engine)
Prepares the renderer for rendering objects in the specified SDM engine.
|
void |
removeAll(IlvSDMEngine engine)
Clears the table of colors allocated by this renderer.
|
void |
setAlpha(float alpha)
Sets the alpha channel of the colors allocated by this renderer.
|
void |
setBrightness(float brightness)
Sets the brightness of the colors allocated by this renderer.
|
void |
setColorProperty(String colorProperty)
Sets the name of the color properties that the
renderer must set on the graphic objects to color
them.
|
void |
setHue(float hue)
Sets the "base" hue.
|
void |
setIndexProperty(String indexProperty)
Sets the name of the object property to use as an index.
|
void |
setParameter(String parameter)
This method calls
setIndexProperty(java.lang.String) . |
void |
setSaturation(float saturation)
Sets the saturation of the colors allocated by this renderer.
|
addLinkGraphic, addNodeGraphic, computeBBox, customize, getEncapsulatedGraphic, getFilteredRenderer, getGraphicProperty, getLinkConnectionRectangle, linkGraphicAdded, moveResizeNodeGraphic, nodeGraphicAdded, nodeGraphicBBoxChanged, processServerAction, propertiesChanged, removeLinkGraphic, removeNodeGraphic, renderingDone, setFilteredRenderer, updateObjectProperties
addViewListeners, callMoveResizeNodeGraphic, convert, convert, getAlias, getAuxiliaryBean, getAuxiliaryBeans, getEngine, getLinkConnectionRectangle, getLocation, needsViewListeners, propertyChanged, removeViewListeners, setAlias, setEngine, setLayerName
public IlvColoringRenderer(IlvSDMRenderer renderer)
renderer
- The filtered renderer.public IlvColoringRenderer()
null
filtered renderer.public void setParameter(String parameter)
setIndexProperty(java.lang.String)
.setParameter
in class IlvSDMRenderer
parameter
- The name of the index property.public String getParameter()
getIndexProperty()
.getParameter
in class IlvSDMRenderer
IlvSDMRenderer.setParameter(java.lang.String)
public void setColorProperty(String colorProperty)
colorProperty
- The name of a property of the
graphic object. The property must be of type
java.awt.Color
. You can pass several
properties separated by commas
(for example, "foreground,background"
).public String getColorProperty()
setColorProperty(java.lang.String)
public void setIndexProperty(String indexProperty)
setColorProperty(java.lang.String)
.indexProperty
- The object property to use as an index.public String getIndexProperty()
setIndexProperty(java.lang.String)
public void setHue(float hue)
hue
- A value between 0
and 1
.public float getHue()
public void setSaturation(float saturation)
saturation
- A value between 0
and 1
.public float getSaturation()
public void setBrightness(float brightness)
brightness
- A value between 0
and 1
.public float getBrightness()
public void setAlpha(float alpha)
alpha
- A value between 0
and 1
.public float getAlpha()
public void removeAll(IlvSDMEngine engine)
removeAll
in class IlvFilterSDMRenderer
engine
- The SDM engine.public IlvGraphic createNodeGraphic(IlvSDMEngine engine, Object node)
createNodeGraphic
in class IlvFilterSDMRenderer
engine
- The SDM engine.node
- The node object.public IlvGraphic createLinkGraphic(IlvSDMEngine engine, Object link, IlvGraphic from, IlvGraphic to)
createLinkGraphic
in class IlvFilterSDMRenderer
engine
- The SDM engine.link
- The link.from
- The source node.to
- The destination node.public void prepareRendering(IlvSDMEngine engine)
prepareRendering
in class IlvFilterSDMRenderer
engine
- The SDM engine.© Copyright Rogue Wave Software, Inc. 1997, 2015. All Rights Reserved.