org.graphstream.ui.graphicGraph
Class GraphicElement

java.lang.Object
  extended by org.graphstream.graph.implementations.AbstractElement
      extended by org.graphstream.ui.graphicGraph.GraphicElement
All Implemented Interfaces:
Element
Direct Known Subclasses:
GraphicEdge, GraphicNode, GraphicSprite

public abstract class GraphicElement
extends AbstractElement

Super class of all graphic node, edge, and sprite elements.

Each graphic element references a style, a graphic graph and has a label.

The element also defines the basic behaviour to reload the style when needed, defines abstract methods to set and get the position and bounds in spaces of the element, and to do appropriate actions when specific predefined attributes change (most of them starting with the prefix "ui.").

The graphic element has the ability to store attributes like any other graph element, however the attributes stored by the graphic element are restricted. There is a filter on the attribute adding methods that let pass only :

All other attributes are filtered and not stored. The result is that if the graphic graph is used as an input (a source of graph events) some attributes will not pass through the filter.


Nested Class Summary
static interface GraphicElement.SwingElementRenderer
          Interface for renderers registered in each style group.
 
Nested classes/interfaces inherited from class org.graphstream.graph.implementations.AbstractElement
AbstractElement.AttributeChangeEvent
 
Field Summary
 Object component
          Associated GUI component.
 boolean hidden
          Do not show.
 String label
          The label or null if not specified.
 StyleGroup style
          The node style.
 
Constructor Summary
GraphicElement(String id, GraphicGraph graph)
          New element.
 
Method Summary
 void addAttribute(String attribute, Object... values)
          Add or replace the value of an attribute.
 Object getComponent()
          The associated GUI component.
 String getLabel()
          Label or null if not set.
abstract  Selector.Type getSelectorType()
          Type of selector for the graphic element (Node, Edge, Sprite ?).
 StyleGroup getStyle()
          Style group.
abstract  double getX()
          Abscissa of the element, always in GU (graph units).
abstract  double getY()
          Ordinate of the element, always in GU (graph units).
abstract  double getZ()
          Depth of the element, always in GU (graph units).
abstract  void move(double x, double y, double z)
          Try to force the element to move at the give location in graph units (GU).
 GraphicGraph myGraph()
           
 void setComponent(Object component)
          Set the GUI component of this element.
 
Methods inherited from class org.graphstream.graph.implementations.AbstractElement
addAttributes, changeAttribute, clearAttributes, getArray, getAttribute, getAttribute, getAttributeCount, getAttributeKeyIterator, getAttributeKeySet, getEachAttributeKey, getFirstAttributeOf, getFirstAttributeOf, getHash, getId, getIndex, getLabel, getNumber, getVector, hasArray, hasAttribute, hasAttribute, hasHash, hasLabel, hasNumber, hasVector, removeAttribute, setAttribute, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

label

public String label
The label or null if not specified.


style

public StyleGroup style
The node style.


component

public Object component
Associated GUI component.


hidden

public boolean hidden
Do not show.

Constructor Detail

GraphicElement

public GraphicElement(String id,
                      GraphicGraph graph)
New element.

Method Detail

myGraph

public GraphicGraph myGraph()

getSelectorType

public abstract Selector.Type getSelectorType()
Type of selector for the graphic element (Node, Edge, Sprite ?).


getStyle

public StyleGroup getStyle()
Style group. An style group may reference several elements.

Returns:
The style group corresponding to this element.

getLabel

public String getLabel()
Label or null if not set.


getX

public abstract double getX()
Abscissa of the element, always in GU (graph units). For edges this is the X of the "from" node.


getY

public abstract double getY()
Ordinate of the element, always in GU (graph units). For edges this is the Y of the "from" node.


getZ

public abstract double getZ()
Depth of the element, always in GU (graph units). For edges this is the Z of the "from" node.


getComponent

public Object getComponent()
The associated GUI component.

Returns:
An object.

move

public abstract void move(double x,
                          double y,
                          double z)
Try to force the element to move at the give location in graph units (GU). For edges, this may move the two attached nodes.

Parameters:
x - The new X.
y - The new Y.
z - the new Z.

setComponent

public void setComponent(Object component)
Set the GUI component of this element.

Parameters:
component - The component.

addAttribute

public void addAttribute(String attribute,
                         Object... values)
Description copied from interface: Element
Add or replace the value of an attribute. Existing attributes are overwritten silently. All classes inheriting from Number can be considered as numbers. All classes inheriting from CharSequence can be considered as labels. You can pass zero, one or more arguments for the attribute values. If no value is given, a boolean with value "true" is added. If there is more than one value, an array is stored. If there is only one value, the value is stored (but not in an array).

Specified by:
addAttribute in interface Element
Overrides:
addAttribute in class AbstractElement
Parameters:
attribute - The attribute name.
values - The attribute value or set of values.


Copyright © 2013. All Rights Reserved.