Package com.mxgraph.model
Class mxCell
- java.lang.Object
-
- com.mxgraph.model.mxCell
-
- All Implemented Interfaces:
mxICell
,java.io.Serializable
,java.lang.Cloneable
public class mxCell extends java.lang.Object implements mxICell, java.lang.Cloneable, java.io.Serializable
Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.Edge Labels
Using the x- and y-coordinates of a cell's geometry it is possible to position the label on edges on a specific location on the actual edge shape as it appears on the screen. The x-coordinate of an edge's geometry is used to describe the distance from the center of the edge from -1 to 1 with 0 being the center of the edge and the default value. The y-coordinate of an edge's geometry is used to describe the absolute, orthogonal distance in pixels from that point. In addition, the mxGeometry.offset is used as a absolute offset vector from the resulting point. The width and height of an edge geometry are ignored. To add more than one edge label, add a child vertex with a relative geometry. The x- and y-coordinates of that geometry will have the same semantiv as the above for edge labels.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.lang.Object>
children
Holds the child cells and connected edges.protected boolean
collapsed
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.protected boolean
connectable
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.protected boolean
edge
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.protected java.util.List<java.lang.Object>
edges
Holds the child cells and connected edges.protected mxGeometry
geometry
Holds the geometry.protected java.lang.String
id
Holds the Id.protected mxICell
parent
Reference to the parent cell and source and target terminals for edges.protected mxICell
source
Reference to the parent cell and source and target terminals for edges.protected java.lang.String
style
Holds the style as a string of the form stylename[;key=value].protected mxICell
target
Reference to the parent cell and source and target terminals for edges.protected java.lang.Object
value
Holds the user object.protected boolean
vertex
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.protected boolean
visible
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.
-
Constructor Summary
Constructors Constructor Description mxCell()
Constructs a new cell with an empty user object.mxCell(java.lang.Object value)
Constructs a new cell for the given user object.mxCell(java.lang.Object value, mxGeometry geometry, java.lang.String style)
Constructs a new cell for the given parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Returns a clone of the cell.protected java.lang.Object
cloneValue()
Returns a clone of the user object.java.lang.String
getAttribute(java.lang.String name)
Returns the specified attribute from the user object if it is an XML node.java.lang.String
getAttribute(java.lang.String name, java.lang.String defaultValue)
Returns the specified attribute from the user object if it is an XML node.mxICell
getChildAt(int index)
Returns the child at the specified index.int
getChildCount()
Returns the number of child cells.mxICell
getEdgeAt(int index)
Returns the edge at the specified index in the edge array.int
getEdgeCount()
Returns the number of edges in the edge array.int
getEdgeIndex(mxICell edge)
Returns the index of the specified edge in the edge array.mxGeometry
getGeometry()
Returns the object that describes the geometry.java.lang.String
getId()
Returns the Id of the cell as a string.int
getIndex(mxICell child)
Returns the index of the specified child in the child array.mxICell
getParent()
Returns the cell's parent.mxICell
getSource()
Returns the source terminal.java.lang.String
getStyle()
Returns the string that describes the style.mxICell
getTarget()
Returns the target terminal.mxICell
getTerminal(boolean source)
Returns the source or target terminal.java.lang.Object
getValue()
Returns the user object of the cell.mxICell
insert(mxICell child)
Appends the specified child into the child array and updates the parent reference of the child.mxICell
insert(mxICell child, int index)
Inserts the specified child into the child array at the specified index and updates the parent reference of the child.mxICell
insertEdge(mxICell edge, boolean isOutgoing)
Inserts the specified edge into the edge array and returns the edge.boolean
isCollapsed()
Returns true if the cell is collapsed.boolean
isConnectable()
Returns true if the cell is connectable.boolean
isEdge()
Returns true if the cell is an edge.boolean
isVertex()
Returns true if the cell is a vertex.boolean
isVisible()
Returns true if the cell is visibile.mxICell
remove(int index)
Removes the child at the specified index from the child array and returns the child that was removed.mxICell
remove(mxICell child)
Removes the given child from the child array and returns it.mxICell
removeEdge(mxICell edge, boolean isOutgoing)
Removes the specified edge from the edge array and returns the edge.void
removeFromParent()
Removes the cell from its parent.void
removeFromTerminal(boolean isSource)
Removes the edge from its source or target terminal.void
setAttribute(java.lang.String name, java.lang.String value)
Sets the specified attribute on the user object if it is an XML node.void
setCollapsed(boolean collapsed)
Sets the collapsed state.void
setConnectable(boolean connectable)
void
setEdge(boolean edge)
void
setGeometry(mxGeometry geometry)
Sets the object to be used as the geometry.void
setId(java.lang.String id)
Sets the Id of the cell to the given string.void
setParent(mxICell parent)
Sets the parent cell.void
setSource(mxICell source)
Sets the source terminal.void
setStyle(java.lang.String style)
Sets the string to be used as the style.void
setTarget(mxICell target)
Sets the target terminal.mxICell
setTerminal(mxICell terminal, boolean isSource)
Sets the source or target terminal and returns the new terminal.void
setValue(java.lang.Object value)
Sets the user object of the cell.void
setVertex(boolean vertex)
void
setVisible(boolean visible)
Specifies if the cell is visible.java.lang.String
toString()
-
-
-
Field Detail
-
id
protected java.lang.String id
Holds the Id. Default is null.
-
value
protected java.lang.Object value
Holds the user object. Default is null.
-
geometry
protected mxGeometry geometry
Holds the geometry. Default is null.
-
style
protected java.lang.String style
Holds the style as a string of the form stylename[;key=value]. Default is null.
-
vertex
protected boolean vertex
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.
-
edge
protected boolean edge
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.
-
connectable
protected boolean connectable
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.
-
visible
protected boolean visible
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.
-
collapsed
protected boolean collapsed
Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.
-
parent
protected mxICell parent
Reference to the parent cell and source and target terminals for edges.
-
source
protected mxICell source
Reference to the parent cell and source and target terminals for edges.
-
target
protected mxICell target
Reference to the parent cell and source and target terminals for edges.
-
children
protected java.util.List<java.lang.Object> children
Holds the child cells and connected edges.
-
edges
protected java.util.List<java.lang.Object> edges
Holds the child cells and connected edges.
-
-
Constructor Detail
-
mxCell
public mxCell()
Constructs a new cell with an empty user object.
-
mxCell
public mxCell(java.lang.Object value)
Constructs a new cell for the given user object.- Parameters:
value
- Object that represents the value of the cell.
-
mxCell
public mxCell(java.lang.Object value, mxGeometry geometry, java.lang.String style)
Constructs a new cell for the given parameters.- Parameters:
value
- Object that represents the value of the cell.geometry
- Specifies the geometry of the cell.style
- Specifies the style as a formatted string.
-
-
Method Detail
-
getId
public java.lang.String getId()
Description copied from interface:mxICell
Returns the Id of the cell as a string.
-
setId
public void setId(java.lang.String id)
Description copied from interface:mxICell
Sets the Id of the cell to the given string.
-
getValue
public java.lang.Object getValue()
Description copied from interface:mxICell
Returns the user object of the cell.
-
setValue
public void setValue(java.lang.Object value)
Description copied from interface:mxICell
Sets the user object of the cell.
-
getGeometry
public mxGeometry getGeometry()
Description copied from interface:mxICell
Returns the object that describes the geometry.- Specified by:
getGeometry
in interfacemxICell
- Returns:
- Returns the cell geometry.
-
setGeometry
public void setGeometry(mxGeometry geometry)
Description copied from interface:mxICell
Sets the object to be used as the geometry.- Specified by:
setGeometry
in interfacemxICell
-
getStyle
public java.lang.String getStyle()
Description copied from interface:mxICell
Returns the string that describes the style.
-
setStyle
public void setStyle(java.lang.String style)
Description copied from interface:mxICell
Sets the string to be used as the style.
-
isVertex
public boolean isVertex()
Description copied from interface:mxICell
Returns true if the cell is a vertex.
-
setVertex
public void setVertex(boolean vertex)
-
isEdge
public boolean isEdge()
Description copied from interface:mxICell
Returns true if the cell is an edge.
-
setEdge
public void setEdge(boolean edge)
-
isConnectable
public boolean isConnectable()
Description copied from interface:mxICell
Returns true if the cell is connectable.- Specified by:
isConnectable
in interfacemxICell
- Returns:
- Returns the connectable state.
-
setConnectable
public void setConnectable(boolean connectable)
-
isVisible
public boolean isVisible()
Description copied from interface:mxICell
Returns true if the cell is visibile.
-
setVisible
public void setVisible(boolean visible)
Description copied from interface:mxICell
Specifies if the cell is visible.- Specified by:
setVisible
in interfacemxICell
- Parameters:
visible
- Boolean that specifies the new visible state.
-
isCollapsed
public boolean isCollapsed()
Description copied from interface:mxICell
Returns true if the cell is collapsed.- Specified by:
isCollapsed
in interfacemxICell
- Returns:
- Returns the collapsed state.
-
setCollapsed
public void setCollapsed(boolean collapsed)
Description copied from interface:mxICell
Sets the collapsed state.- Specified by:
setCollapsed
in interfacemxICell
- Parameters:
collapsed
- Boolean that specifies the new collapsed state.
-
getParent
public mxICell getParent()
Description copied from interface:mxICell
Returns the cell's parent.
-
setParent
public void setParent(mxICell parent)
Description copied from interface:mxICell
Sets the parent cell.
-
getSource
public mxICell getSource()
Returns the source terminal.
-
setSource
public void setSource(mxICell source)
Sets the source terminal.- Parameters:
source
- Cell that represents the new source terminal.
-
getTarget
public mxICell getTarget()
Returns the target terminal.
-
setTarget
public void setTarget(mxICell target)
Sets the target terminal.- Parameters:
target
- Cell that represents the new target terminal.
-
getTerminal
public mxICell getTerminal(boolean source)
Description copied from interface:mxICell
Returns the source or target terminal.- Specified by:
getTerminal
in interfacemxICell
- Parameters:
source
- Boolean that specifies if the source terminal should be returned.- Returns:
- Returns the source or target terminal.
-
setTerminal
public mxICell setTerminal(mxICell terminal, boolean isSource)
Description copied from interface:mxICell
Sets the source or target terminal and returns the new terminal.- Specified by:
setTerminal
in interfacemxICell
- Parameters:
terminal
- Cell that represents the new source or target terminal.isSource
- Boolean that specifies if the source or target terminal should be set.- Returns:
- Returns the new terminal.
-
getChildCount
public int getChildCount()
Description copied from interface:mxICell
Returns the number of child cells.- Specified by:
getChildCount
in interfacemxICell
- Returns:
- Returns the number of children.
-
getIndex
public int getIndex(mxICell child)
Description copied from interface:mxICell
Returns the index of the specified child in the child array.
-
getChildAt
public mxICell getChildAt(int index)
Description copied from interface:mxICell
Returns the child at the specified index.- Specified by:
getChildAt
in interfacemxICell
- Parameters:
index
- Integer that specifies the child to be returned.- Returns:
- Returns the child at the given index.
-
insert
public mxICell insert(mxICell child)
Description copied from interface:mxICell
Appends the specified child into the child array and updates the parent reference of the child. Returns the appended child.
-
insert
public mxICell insert(mxICell child, int index)
Description copied from interface:mxICell
Inserts the specified child into the child array at the specified index and updates the parent reference of the child. Returns the inserted child.
-
remove
public mxICell remove(int index)
Description copied from interface:mxICell
Removes the child at the specified index from the child array and returns the child that was removed. Will remove the parent reference of the child.
-
remove
public mxICell remove(mxICell child)
Description copied from interface:mxICell
Removes the given child from the child array and returns it. Will remove the parent reference of the child.
-
removeFromParent
public void removeFromParent()
Description copied from interface:mxICell
Removes the cell from its parent.- Specified by:
removeFromParent
in interfacemxICell
-
getEdgeCount
public int getEdgeCount()
Description copied from interface:mxICell
Returns the number of edges in the edge array.- Specified by:
getEdgeCount
in interfacemxICell
- Returns:
- Returns the number of edges.
-
getEdgeIndex
public int getEdgeIndex(mxICell edge)
Description copied from interface:mxICell
Returns the index of the specified edge in the edge array.- Specified by:
getEdgeIndex
in interfacemxICell
- Parameters:
edge
- Cell whose index should be returned.- Returns:
- Returns the index of the given edge.
-
getEdgeAt
public mxICell getEdgeAt(int index)
Description copied from interface:mxICell
Returns the edge at the specified index in the edge array.
-
insertEdge
public mxICell insertEdge(mxICell edge, boolean isOutgoing)
Description copied from interface:mxICell
Inserts the specified edge into the edge array and returns the edge. Will update the respective terminal reference of the edge.- Specified by:
insertEdge
in interfacemxICell
- Parameters:
edge
- Cell to be inserted into the edge array.isOutgoing
- Boolean that specifies if the edge is outgoing.- Returns:
- Returns the new edge.
-
removeEdge
public mxICell removeEdge(mxICell edge, boolean isOutgoing)
Description copied from interface:mxICell
Removes the specified edge from the edge array and returns the edge. Will remove the respective terminal reference from the edge.- Specified by:
removeEdge
in interfacemxICell
- Parameters:
edge
- Cell to be removed from the edge array.isOutgoing
- Boolean that specifies if the edge is outgoing.- Returns:
- Returns the edge that was removed.
-
removeFromTerminal
public void removeFromTerminal(boolean isSource)
Description copied from interface:mxICell
Removes the edge from its source or target terminal.- Specified by:
removeFromTerminal
in interfacemxICell
- Parameters:
isSource
- Boolean that specifies if the edge should be removed from its source or target terminal.
-
getAttribute
public java.lang.String getAttribute(java.lang.String name)
Returns the specified attribute from the user object if it is an XML node.- Parameters:
name
- Name of the attribute whose value should be returned.- Returns:
- Returns the value of the given attribute or null.
-
getAttribute
public java.lang.String getAttribute(java.lang.String name, java.lang.String defaultValue)
Returns the specified attribute from the user object if it is an XML node.- Parameters:
name
- Name of the attribute whose value should be returned.defaultValue
- Default value to use if the attribute has no value.- Returns:
- Returns the value of the given attribute or defaultValue.
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.String value)
Sets the specified attribute on the user object if it is an XML node.- Parameters:
name
- Name of the attribute whose value should be set.value
- New value of the attribute.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone of the cell.
-
cloneValue
protected java.lang.Object cloneValue()
Returns a clone of the user object. This implementation clones any XML nodes or otherwise returns the same user object instance.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-