JGraph
v5.0


org.jgraph.graph
Class AbstractCellView

java.lang.Object
  extended by org.jgraph.graph.AbstractCellView
All Implemented Interfaces:
java.io.Serializable, CellView
Direct Known Subclasses:
EdgeView, PortView, VertexView

public abstract class AbstractCellView
extends java.lang.Object
implements CellView, java.io.Serializable

The abstract base class for all cell views.

See Also:
Serialized Form

Field Summary
protected  AttributeMap allAttributes
           
protected  AttributeMap attributes
          Hashtable for attributes.
protected  java.lang.Object cell
          Reference to the cell for this view
protected static GraphCellEditor cellEditor
          Editor for the cell.
protected  java.util.List childViews
          Cached child views.
protected  JGraph graph
          Reference to the graph
protected  CellMapper mapper
          Reference to the cell mapper for the view
protected  CellView parent
          Cached parent view
 
Constructor Summary
AbstractCellView(java.lang.Object cell, JGraph graph, CellMapper mapper)
          Constructs a view for the specified model object, and invokes update on the new instance.
 
Method Summary
 void childUpdated()
           
 AttributeMap getAllAttributes()
          Returns the attributes of the view combined with the attributes of the corresponding cell.
 AttributeMap getAttributes()
          Return the attributes of the view.
abstract  java.awt.geom.Rectangle2D getBounds()
          Returns the bounding rectangle for this view.
static java.awt.geom.Rectangle2D getBounds(CellView[] views)
          Returns the bounding box for the specified views.
 java.lang.Object getCell()
          Returns the model object that this view represents.
 CellView[] getChildViews()
          Returns the child views of this view.
static CellView[] getDescendantViews(CellView[] views)
          Returns all views, including descendants that have a parent in views without the PortViews.
 GraphCellEditor getEditor()
          Returns a cell editor for the view.
 JGraph getGraph()
          Returns the graph associated with the view.
abstract  CellHandle getHandle(GraphContext context)
          Returns a cell handle for the view.
 CellMapper getMapper()
          Returns the cell mapper associated with the view.
 GraphModel getModel()
          Returns the model associated with the view.
 CellView getParentView()
          Returns the parent view for this view.
abstract  CellViewRenderer getRenderer()
           
 java.awt.Component getRendererComponent(JGraph graph, boolean selected, boolean focus, boolean preview)
          Returns a renderer component, configured for the view.
 boolean intersects(java.awt.Graphics g, java.awt.geom.Rectangle2D rect)
          Returns true if the view intersects the given rectangle.
 boolean isLeaf()
          Returns true if the view is a leaf.
 void refresh(boolean createDependentViews)
          Create child views and reload properties.
 void removeFromParent()
          Removes this view from the list of childs of the parent.
protected  void scale(double sx, double sy, java.awt.geom.Point2D origin)
          Scale view (group) by sx, sy.
 AttributeMap setAttributes(AttributeMap change)
          Applies change to the attributes of the view and calls update.
 void setBounds(java.awt.geom.Rectangle2D bounds)
          Sets the bounds of view.
protected  void translate(double dx, double dy)
          Translates view (group) by dx, dy.
 void update()
          Update attributes and recurse children.
protected  void updateAllAttributes()
          This method implements the merge between the cell's and the view's attributes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cellEditor

protected static GraphCellEditor cellEditor
Editor for the cell.


graph

protected JGraph graph
Reference to the graph


mapper

protected CellMapper mapper
Reference to the cell mapper for the view


cell

protected java.lang.Object cell
Reference to the cell for this view


parent

protected CellView parent
Cached parent view


childViews

protected java.util.List childViews
Cached child views.


attributes

protected AttributeMap attributes
Hashtable for attributes. Initially empty


allAttributes

protected AttributeMap allAttributes
Constructor Detail

AbstractCellView

public AbstractCellView(java.lang.Object cell,
                        JGraph graph,
                        CellMapper mapper)
Constructs a view for the specified model object, and invokes update on the new instance.

Parameters:
cell - reference to the model object
Method Detail

getGraph

public JGraph getGraph()
Returns the graph associated with the view.


getModel

public GraphModel getModel()
Returns the model associated with the view.


getMapper

public CellMapper getMapper()
Returns the cell mapper associated with the view.


getCell

public java.lang.Object getCell()
Returns the model object that this view represents.

Specified by:
getCell in interface CellView

refresh

public void refresh(boolean createDependentViews)
Create child views and reload properties. Invokes update first.

Specified by:
refresh in interface CellView

update

public void update()
Update attributes and recurse children.

Specified by:
update in interface CellView

updateAllAttributes

protected void updateAllAttributes()
This method implements the merge between the cell's and the view's attributes. The view's attributes override the cell's attributes with one exception.


childUpdated

public void childUpdated()
Specified by:
childUpdated in interface CellView

getParentView

public CellView getParentView()
Returns the parent view for this view.

Specified by:
getParentView in interface CellView

getChildViews

public CellView[] getChildViews()
Returns the child views of this view.

Specified by:
getChildViews in interface CellView

getDescendantViews

public static CellView[] getDescendantViews(CellView[] views)
Returns all views, including descendants that have a parent in views without the PortViews. Note: Iterative Implementation using view.getChildViews


removeFromParent

public void removeFromParent()
Removes this view from the list of childs of the parent.

Specified by:
removeFromParent in interface CellView

isLeaf

public boolean isLeaf()
Returns true if the view is a leaf.

Specified by:
isLeaf in interface CellView

getAttributes

public AttributeMap getAttributes()
Return the attributes of the view.

Specified by:
getAttributes in interface CellView

getAllAttributes

public AttributeMap getAllAttributes()
Returns the attributes of the view combined with the attributes of the corresponding cell. The view's attributes override the cell's attributes with the same key.

Specified by:
getAllAttributes in interface CellView

setAttributes

public AttributeMap setAttributes(AttributeMap change)
Applies change to the attributes of the view and calls update.

Specified by:
setAttributes in interface CellView

getBounds

public abstract java.awt.geom.Rectangle2D getBounds()
Returns the bounding rectangle for this view.

Specified by:
getBounds in interface CellView

getBounds

public static java.awt.geom.Rectangle2D getBounds(CellView[] views)
Returns the bounding box for the specified views.


setBounds

public void setBounds(java.awt.geom.Rectangle2D bounds)
Sets the bounds of view. Calls translateView and scaleView.


translate

protected void translate(double dx,
                         double dy)
Translates view (group) by dx, dy.


scale

protected void scale(double sx,
                     double sy,
                     java.awt.geom.Point2D origin)
Scale view (group) by sx, sy.


intersects

public boolean intersects(java.awt.Graphics g,
                          java.awt.geom.Rectangle2D rect)
Returns true if the view intersects the given rectangle.

Specified by:
intersects in interface CellView

getRendererComponent

public java.awt.Component getRendererComponent(JGraph graph,
                                               boolean selected,
                                               boolean focus,
                                               boolean preview)
Returns a renderer component, configured for the view.

Specified by:
getRendererComponent in interface CellView

getRenderer

public abstract CellViewRenderer getRenderer()

getHandle

public abstract CellHandle getHandle(GraphContext context)
Returns a cell handle for the view.

Specified by:
getHandle in interface CellView

getEditor

public GraphCellEditor getEditor()
Returns a cell editor for the view.

Specified by:
getEditor in interface CellView

JGraph
v5.0


Copyright (C) 2003-2004 Gaudenz Alder. All rights reserved.