use of org.eclipse.draw2d.graph.Edge in project cubrid-manager by CUBRID.
the class ERGraphLayoutVisitor method layout.
public void layout(Collection<TablePart> tables, int startX, int startY) {
if (tables == null || tables.isEmpty()) {
return;
}
for (TablePart table : tables) {
ERTableNode node = buildNode(table);
erGraph.addNode(node);
partNodesMap.put(table, node);
}
if (erGraph.getNodeCount() < 1) {
return;
}
for (TablePart table : tables) {
List conns = table.getSourceConnections();
for (int i = 0; i < conns.size(); i++) {
RelationshipPart relationshipPart = (RelationshipPart) table.getSourceConnections().get(i);
Edge edge = buildEdgeRelation(relationshipPart);
erGraph.addEdge(edge);
partNodesMap.put(relationshipPart, edge);
}
}
ERDirectedGraphLayout erLayoutor = new ERDirectedGraphLayout(erGraph);
erLayoutor.layout();
for (TablePart table : tables) {
setFigureBounds(table, startX, startY);
}
}
use of org.eclipse.draw2d.graph.Edge in project cubrid-manager by CUBRID.
the class ERGraphLayoutVisitor method buildEdgeRelation.
private Edge buildEdgeRelation(RelationshipPart relationshipPart) {
ERTableNode sourceNode = (ERTableNode) partNodesMap.get(relationshipPart.getSource());
ERTableNode targetNode = (ERTableNode) partNodesMap.get(relationshipPart.getTarget());
if (sourceNode == null || targetNode == null) {
return null;
}
sourceNode.addTargetNode(targetNode);
targetNode.addSourceNode(sourceNode);
Edge edge = new Edge(relationshipPart, sourceNode, targetNode);
edge.weight = 2;
return edge;
}
use of org.eclipse.draw2d.graph.Edge in project cubrid-manager by CUBRID.
the class ERGraphLayoutVisitor method layout.
public void layout(SchemaDiagramPart schemaDiagram) {
initGraph(schemaDiagram);
if (erGraph.getNodeCount() > 0) {
for (int i = 0; i < schemaDiagram.getChildren().size(); i++) {
TablePart tablePart = (TablePart) schemaDiagram.getChildren().get(i);
List conns = tablePart.getSourceConnections();
for (int j = 0; j < conns.size(); j++) {
RelationshipPart relationshipPart = (RelationshipPart) tablePart.getSourceConnections().get(j);
Edge edge = buildEdgeRelation(relationshipPart);
erGraph.addEdge(edge);
partNodesMap.put(relationshipPart, edge);
}
}
ERDirectedGraphLayout gLayout = new ERDirectedGraphLayout(erGraph);
gLayout.layout();
setFiguresBound(schemaDiagram);
}
}
use of org.eclipse.draw2d.graph.Edge in project cubrid-manager by CUBRID.
the class ERGraphLayoutVisitor method setFigureConstraint.
private void setFigureConstraint(RelationshipPart relationshipPart) {
Edge edge = (Edge) partNodesMap.get(relationshipPart);
if (edge == null) {
return;
}
PolylineConnection conn = (PolylineConnection) relationshipPart.getConnectionFigure();
conn.setRoutingConstraint(Collections.EMPTY_LIST);
}
Aggregations