public class GraphWithData
extends java.util.Observable
Constructor and Description |
---|
GraphWithData(Graph graph,
VertexData defaultData)
Create a GraphWithData object based on graph, assigning to each vertex a copy of default data.
|
GraphWithData(GraphWithData other)
Copy constructor
|
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<Vertex> |
addDoppelganger(Vertex ganger,
java.awt.Point p,
int num,
boolean connectDoppelToGanger) |
boolean |
addEdge(Vertex v1,
Vertex v2,
boolean fireEvent)
Adds an edge between the two specified vertices
|
java.util.ArrayList<Edge> |
addEdges(java.util.ArrayList<Edge> edges,
boolean fireEvent)
Adds a list of edges to the graph
|
Vertex |
addNewVertex(java.awt.Point p)
Adds a new vertex to this graph with the specified coordinates
|
void |
addSubGraph(java.awt.Point p,
Graph g)
Adds a subgraph to this graph
|
void |
addSubGraphWithData(java.awt.Point p,
GraphWithData g)
Adds a subgraph that contains VertexData for all of its vertices
|
void |
addVertex(Vertex v,
boolean fireEvent)
Adds the specified Vertex to this graph
|
void |
addVertices(java.util.ArrayList<Vertex> verts,
boolean fireEvent)
Adds the specified vertices to this graph
|
void |
connectAll(java.util.ArrayList<Vertex> verts) |
Edge |
convertEdge(SimpleEdge simpleEdge) |
java.util.ArrayList<Edge> |
convertEdges(java.util.ArrayList<SimpleEdge> simpleEdges) |
Graph |
copyOfOriginalGraph() |
java.util.ArrayList<Vertex> |
copySubgraph(java.util.ArrayList<Vertex> verts) |
void |
disconnectAll(java.util.ArrayList<Vertex> verts) |
java.lang.String |
getAdjacencyListAsString() |
int[][] |
getAdjacencyMatrix() |
VertexData |
getData(Vertex v)
Gets the VertexData object for a specified Vertex
|
int |
getDiam() |
EdgeData |
getEdgeData(Edge e) |
java.util.ArrayList<Edge> |
getEdges() |
Graph |
getGraph() |
java.lang.String |
getGraphName() |
java.lang.String |
getInitialVertexCoords() |
int |
getMaximumXCoordinate() |
int |
getMaximumYCoordinate() |
int |
getMinimumXCoordinate() |
int |
getMinimumYCoordinate() |
int |
getNumberOfEdges() |
int |
getNumberOfVertices() |
int |
getRadius() |
java.awt.Point |
getSubGraphLowerRightPoint(java.util.ArrayList<Vertex> list) |
java.awt.Point |
getSubGraphUpperLeftPoint(java.util.ArrayList<Vertex> list) |
int[][] |
getUnweightedAdjacencyMatrix() |
Vertex |
getVertexAtIndex(int n) |
java.lang.String |
getVertexCoords() |
java.util.ArrayList<Vertex> |
getVertices() |
void |
grow() |
void |
grow(java.util.ArrayList<Vertex> verticesToGrow) |
void |
horizontalFlip() |
void |
horizontalFlip(java.util.ArrayList<Vertex> verts) |
int |
indexOf(Vertex vertex) |
boolean |
isAdjacent(Vertex v1,
Vertex v2) |
boolean |
isCompleteGraph() |
boolean |
isConnectedGraph() |
boolean |
isDirectedGraph() |
boolean |
isEditable() |
boolean |
isSnapToGrid() |
void |
makeCurrentStateInitialState() |
void |
notifyListeners(Event<?> aei) |
void |
pasteSubgraph(java.util.ArrayList<Vertex> verts,
int translateX,
int translateY) |
void |
pasteSubgraphAndLink(java.util.ArrayList<Vertex> toPaste,
java.util.ArrayList<Vertex> toLink,
int translateX,
int translateY) |
boolean |
removeEdge(Vertex from,
Vertex to,
boolean fireEvent)
Removes the edge between the two specified vertices
|
java.util.ArrayList<Edge> |
removeEdges(java.util.ArrayList<Edge> edges,
boolean fireEvent)
Removes a list of edges from the graph
|
java.util.ArrayList<Edge> |
removeSubgraph(java.util.ArrayList<Vertex> verts) |
java.util.ArrayList<Edge> |
removeVertex(Vertex x,
boolean fireEvent)
Removes the specified Vertex from this graph
|
void |
resetToInitialLocations(boolean notifyListeners) |
boolean |
setData(Vertex v,
VertexData vd)
Sets the VertexData object for a specified Vertex
|
void |
setDefaultData(Vertex vert) |
void |
setDefaultDataIfNoDataPresent(Vertex vert) |
void |
setEdgeData(Edge e,
EdgeData ed) |
void |
setEditable(boolean editable) |
void |
setSnapToGrid(boolean snapToGrid) |
void |
shrink() |
void |
shrink(java.util.ArrayList<Vertex> verticesToShrink) |
void |
summarizeTranslation(java.util.ArrayList<Vertex> verts,
java.awt.Point change) |
void |
translateGraph(java.awt.Point change) |
void |
translateGraphCloseToHome() |
void |
translateGraphToHome() |
void |
translateGraphToHomeNoNotify() |
void |
translateVertex(Vertex vert,
java.awt.Point change) |
void |
translateVertices(java.util.ArrayList<Vertex> verts,
java.util.ArrayList<java.awt.Point> changes) |
void |
translateVertices(java.util.ArrayList<Vertex> toTranslate,
java.awt.Point change) |
void |
translateVerticesNoNotify(java.util.ArrayList<Vertex> toTranslate,
java.awt.Point change) |
void |
unResetToInitialLocations(java.util.ArrayList<java.awt.Point> oldLocations) |
Vertex |
vertexAt(java.awt.Point p,
int widthRad,
int heightRad) |
boolean |
vertexCoordsChanged() |
void |
verticalFlip() |
void |
verticalFlip(java.util.ArrayList<Vertex> verts) |
void |
xyFlip() |
void |
xyFlip(java.util.ArrayList<Vertex> verts) |
public GraphWithData(Graph graph, VertexData defaultData)
graph
- defaultData
- public GraphWithData(GraphWithData other)
other
- public VertexData getData(Vertex v)
v
- The Vertex to get data forpublic boolean setData(Vertex v, VertexData vd)
v
- The Vertex to set data forvd
- The VertexData to set for the Vertexpublic void setDefaultData(Vertex vert)
public void setDefaultDataIfNoDataPresent(Vertex vert)
public Graph getGraph()
public java.lang.String getAdjacencyListAsString()
public int[][] getAdjacencyMatrix()
public int[][] getUnweightedAdjacencyMatrix()
public java.util.ArrayList<Edge> getEdges()
public java.util.ArrayList<Vertex> getVertices()
public void notifyListeners(Event<?> aei)
public Vertex addNewVertex(java.awt.Point p)
p
- The coordinates of the center of the Vertexpublic void addVertex(Vertex v, boolean fireEvent)
v
- The Vertex to be addedfireEvent
- Whether or not the method should notify listenerspublic java.util.ArrayList<Edge> removeVertex(Vertex x, boolean fireEvent)
x
- The Vertex to be removedfireEvent
- Whether or not the method should notify listenerspublic void addVertices(java.util.ArrayList<Vertex> verts, boolean fireEvent)
verts
- The vertices to be addedfireEvent
- Whether or not the method should notify listenerspublic boolean addEdge(Vertex v1, Vertex v2, boolean fireEvent)
v1
- The source vertexv2
- The destination vertexfireEvent
- Whether or not the method should notify listenerspublic boolean removeEdge(Vertex from, Vertex to, boolean fireEvent)
v1
- The source vertexv2
- The destination vertexfireEvent
- Whether or not the method should notify listenerspublic java.util.ArrayList<Edge> addEdges(java.util.ArrayList<Edge> edges, boolean fireEvent)
edges
- The list of edges to be addedfireEvent
- Whether or not the method should notify listenerspublic java.util.ArrayList<Edge> removeEdges(java.util.ArrayList<Edge> edges, boolean fireEvent)
edges
- The list of edges to be removedfireEvent
- Whether or not the method should notify listenerspublic void addSubGraph(java.awt.Point p, Graph g)
p
- The offset from the passed in graph's initial coordinatesg
- The subgraph to be addedpublic void addSubGraphWithData(java.awt.Point p, GraphWithData g)
p
- The offset from the passed in graph's initial coordinatesg
- The subgraph to be addedpublic java.util.ArrayList<Edge> removeSubgraph(java.util.ArrayList<Vertex> verts)
removeSubgraph(ArrayList)
public void connectAll(java.util.ArrayList<Vertex> verts)
connectAll(ArrayList)
public void disconnectAll(java.util.ArrayList<Vertex> verts)
disconnectAll(ArrayList)
public void horizontalFlip()
horizontalFlip()
public void verticalFlip()
verticalFlip()
public void xyFlip()
xyFlip()
public void horizontalFlip(java.util.ArrayList<Vertex> verts)
horizontalFlip(ArrayList)
public void verticalFlip(java.util.ArrayList<Vertex> verts)
verticalFlip(ArrayList)
public void xyFlip(java.util.ArrayList<Vertex> verts)
xyFlip(ArrayList)
public java.util.ArrayList<Vertex> addDoppelganger(Vertex ganger, java.awt.Point p, int num, boolean connectDoppelToGanger)
public java.util.ArrayList<Vertex> copySubgraph(java.util.ArrayList<Vertex> verts)
copySubgraph(ArrayList)
public void pasteSubgraph(java.util.ArrayList<Vertex> verts, int translateX, int translateY)
pasteSubgraph(ArrayList, int, int)
public void pasteSubgraphAndLink(java.util.ArrayList<Vertex> toPaste, java.util.ArrayList<Vertex> toLink, int translateX, int translateY)
public void summarizeTranslation(java.util.ArrayList<Vertex> verts, java.awt.Point change)
summarizeTranslation(ArrayList, Point)
public void translateVertex(Vertex vert, java.awt.Point change)
translateVertex(Vertex, Point)
public void translateVertices(java.util.ArrayList<Vertex> verts, java.util.ArrayList<java.awt.Point> changes)
translateVertices(ArrayList, ArrayList)
public void translateVerticesNoNotify(java.util.ArrayList<Vertex> toTranslate, java.awt.Point change)
translateVertices(ArrayList, Point)
public void translateVertices(java.util.ArrayList<Vertex> toTranslate, java.awt.Point change)
translateVertices(ArrayList, Point)
public void translateGraph(java.awt.Point change)
translateGraph(Point)
public void translateGraphToHome()
translateGraphToHome()
public void translateGraphToHomeNoNotify()
translateGraphToHome()
public void translateGraphCloseToHome()
translateGraphCloseToHome()
public void shrink()
shrink()
public void grow()
grow()
public void grow(java.util.ArrayList<Vertex> verticesToGrow)
grow(ArrayList)
public void shrink(java.util.ArrayList<Vertex> verticesToShrink)
shrink(ArrayList)
public void resetToInitialLocations(boolean notifyListeners)
resetToInitialLocations(boolean)
public void unResetToInitialLocations(java.util.ArrayList<java.awt.Point> oldLocations)
unResetToInitialLocations(ArrayList)
public boolean isAdjacent(Vertex v1, Vertex v2)
isAdjacent(Vertex, Vertex)
public int indexOf(Vertex vertex)
indexOf(Vertex)
public Vertex getVertexAtIndex(int n)
getVertexAtIndex(int)
public int getNumberOfVertices()
getNumberOfVertices()
public int getNumberOfEdges()
getNumberOfEdges()
public boolean isCompleteGraph()
isCompleteGraph()
public boolean isConnectedGraph()
isConnectedGraph()
public boolean isDirectedGraph()
isDirectedGraph()
public boolean vertexCoordsChanged()
vertexCoordsChanged()
public java.lang.String getVertexCoords()
getVertexCoords()
public java.lang.String getInitialVertexCoords()
getInitialVertexCoords()
public Vertex vertexAt(java.awt.Point p, int widthRad, int heightRad)
vertexAt(Point, int, int)
public boolean isSnapToGrid()
isSnapToGrid()
public void setSnapToGrid(boolean snapToGrid)
setSnapToGrid(boolean)
public boolean isEditable()
isEditable()
public void setEditable(boolean editable)
setEditable(boolean)
public int getDiam()
getDiam()
public int getRadius()
public int getMinimumYCoordinate()
getMinimumYCoordinate()
public int getMaximumYCoordinate()
getMaximumYCoordinate()
public int getMinimumXCoordinate()
getMinimumXCoordinate()
public int getMaximumXCoordinate()
getMaximumXCoordinate()
public void makeCurrentStateInitialState()
makeCurrentStateInitialState()
public java.awt.Point getSubGraphUpperLeftPoint(java.util.ArrayList<Vertex> list)
getSubGraphUpperLeftPoint(ArrayList)
public java.awt.Point getSubGraphLowerRightPoint(java.util.ArrayList<Vertex> list)
getSubGraphLowerRightPoint(ArrayList)
public java.lang.String getGraphName()
getGraphName()
public Graph copyOfOriginalGraph()
copyOfOriginalGraph()
public java.util.ArrayList<Edge> convertEdges(java.util.ArrayList<SimpleEdge> simpleEdges)
convertEdges(ArrayList)
public Edge convertEdge(SimpleEdge simpleEdge)
convertEdge(SimpleEdge)