JGraph | |
Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jgraph.graph.AbstractCellView
Field Summary | |
protected AttributeMap |
|
protected AttributeMap |
|
protected Object |
|
static GraphCellEditor |
|
protected java.util.List |
|
protected Rectangle2D |
|
protected CellView |
|
Constructor Summary | |
| |
|
Method Summary | |
Map |
|
void |
|
protected AttributeMap |
|
AttributeMap |
|
AttributeMap |
|
Rectangle2D |
|
static Rectangle2D | |
Object |
|
protected AttributeMap |
|
static Point2D |
|
CellView[] |
|
static CellView[] |
|
GraphCellEditor |
|
abstract CellHandle |
|
CellView |
|
Point2D |
|
abstract CellViewRenderer |
|
Component |
|
protected boolean |
|
boolean |
|
boolean |
|
protected void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
protected void |
|
protected AttributeMap allAttributes
Contains the complete set of attributes, including the cell's attributes. The values in this map are overriden by the corresponding values inattributes
.
protected AttributeMap attributes
Hashtable for attributes. Value in this map override the values inallAttributes
.
protected Object cell
Reference to the cell for this view
protected java.util.List childViews
Cached child views. Default is a ArrayList with allocation size 0.
protected Rectangle2D groupBounds
Cached bounds of all children if vertex is a group
public AbstractCellView()
Constructs an empty abstract cell view. You should set a cell on this view using setCell before doing anything. Optionally you can also set a different attribute map using setAttributeMap. Note: To change the attribute map you should now use the changeAttributes method.
public AbstractCellView(Object cell)
Constructs a view for the specified model object, and invokes update on the new instance.
- Parameters:
cell
- reference to the model object
public Map changeAttributes(GraphLayoutCache cache, Map change)
Applieschange
to the attributes of the view and calls update.
- Specified by:
- changeAttributes in interface CellView
- Parameters:
change
- a map of attribute changes to apply
- Returns:
- the undo map that reverses this change
public void childUpdated()
Indicates to parent, if any, that this child has been updated.
- Specified by:
- childUpdated in interface CellView
protected AttributeMap createAttributeMap()
Hook for subclassers to avoid creating an empty AttributeMap during construction of the instance. Override this and return null if you want to avoid creation of an attribute map at construction time.
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
public AttributeMap getAttributes()
Return the attributes of the view.
- Specified by:
- getAttributes in interface CellView
- Returns:
- the
attributes
of this view
public Rectangle2D getBounds()
Returns the cached bounds for the group if isleaf is false
public static Rectangle2D getBounds(CellView[] views)
Returns the bounding box for the specified views.
- Parameters:
views
- the views for whom the bounding box is to be determined
- Returns:
- the bounding box of the specified views
public Object getCell()
Returns the model object that this view represents.
- Returns:
- the model object that this view represents
protected AttributeMap getCellAttributes(GraphModel model)
Hook for subclassers to avoid cloning the cell's attributes. Return model.getAttributes(cell) to avoid cloning.
public CellView[] getChildViews()
Returns the child views of this view.
- Specified by:
- getChildViews in interface CellView
- Returns:
- the child views of this view
public static CellView[] getDescendantViews(CellView[] views)
Returns all views, including descendants that have a parent inviews
without the PortViews. Note: Iterative Implementation using view.getChildViews. This returns the array in inverse order, ie with the top most cell view at index 0.
- Parameters:
views
- the cell views whose descendants are to be returned
- Returns:
- the specified views and all their descendant views
public GraphCellEditor getEditor()
Returns a cell editor for the view.
- Returns:
- the cell editor for this view
public abstract CellHandle getHandle(GraphContext context)
Returns a cell handle for the view.
- Parameters:
context
- the context of this cell view (cells indirectly affected by it)
- Returns:
- the cell handle for this view
public CellView getParentView()
Returns the parent view for this view.
- Specified by:
- getParentView in interface CellView
- Returns:
- the parent view for this view
public Point2D getPerimeterPoint(EdgeView edge, Point2D source, Point2D p)
Returns the intersection of the bounding rectangle and the straight line between the source and the specified point p. The specified point is expected not to intersect the bounds. Note: You must override this method if you use a different renderer. This is because this method relies on the VertexRenderer interface, which can not be safely assumed for subclassers.
- Specified by:
- getPerimeterPoint in interface CellView
public abstract CellViewRenderer getRenderer()
Obtains the renderer instance for this view
- Returns:
- the renderer instance for this view
public Component getRendererComponent(JGraph graph, boolean selected, boolean focus, boolean preview)
Returns a renderer component, configured for the view. The method used to obtain the renderer instance must install the necessary attributes from this view
- Specified by:
- getRendererComponent in interface CellView
- Parameters:
graph
- theJGraph
instance of the viewselected
- whether or not this view is selectedfocus
- whether or not this view is the focuspreview
- whether or not it is a preview of the view
- Returns:
- the renderer component for this view with this views attributes installed
protected boolean includeInGroupBounds(CellView view)
This is used to exclude certain cell views from the group bounds computation. This implementation returns false for edges that connect to one of their ancestor groups (eg. parent).
- Parameters:
view
- the cell view to be included in the group bounds or not
- Returns:
- whether or not to include the specified cell in the group bounds
public boolean intersects(JGraph graph, Rectangle2D rect)
Returns true if the view intersects the given rectangle.
- Specified by:
- intersects in interface CellView
- Parameters:
graph
- theJGraph
instance of the viewrect
- the rectangle within which intersection is being checked for
- Returns:
- whether or not the rectangle specified intersects the view
public boolean isLeaf()
Returnstrue
if the view is a leaf.
- Returns:
true
if the view is a leaf
protected void mergeAttributes()
Implements the merging of the cell's attributes, initially stored in allAttributes, and the location attributes. The result should be stored in allAttributes. This hook is for subclassers to change the merging strategy.
public void refresh(GraphLayoutCache cache, CellMapper mapper, boolean createDependentViews)
Create child views and reload properties for this view. Invokes update first.
- Parameters:
cache
- the graph model to be usedmapper
- the cell mapper to be usedcreateDependentViews
- whether or not to create a view if one does not already exist
public void removeFromParent()
Removes this view from the list of children of the parent.
- Specified by:
- removeFromParent in interface CellView
public void scale(double sx, double sy, Point2D origin)
Scaleview
(group) bysx, sy
.
- Parameters:
sx
- the multiple by which the x coordinate position of the cell view is to be scaledsy
- the multiple by which the y coordinate position of the cell view is to be scaledorigin
- the origin point from which the scaling will calculate
public void setAttributes(AttributeMap attributes)
Sets the attributes of this view to the specified value
- Parameters:
attributes
- the new attributes to set
public void setBounds(Rectangle2D bounds)
Sets the bounds of thisview
. Calls translateView and scaleView.
- Parameters:
bounds
- the new bounds for this cell view
public void setCell(Object cell)
Sets the model object that this view represents to the specified cell
- Parameters:
cell
- the model object this view will represent
public void translate(double dx, double dy)
Translatesview
(group) bydx, dy
.
- Parameters:
dx
- the x-coordinate amount to translate bydy
- the y-coordinate amount to translate by
public void update(GraphLayoutCache cache)
Update attributes for this view and indicate to the parent this child has been updated
protected void updateGroupBounds()
Updates the bounds of this view and its children