001 package nl.cwi.sen1.gui.plugin.prefusedot;
002
003 import java.awt.geom.Rectangle2D;
004 import java.util.Iterator;
005
006
007 import prefuse.action.layout.Layout;
008 import prefuse.data.Graph;
009 import prefuse.visual.VisualItem;
010
011 public class DotNodeLayout extends Layout {
012
013 public DotNodeLayout(String group) {
014 super(group);
015 }
016
017 public void run(double frac) {
018 Graph g = (Graph) m_vis.getGroup(m_group);
019 if (g != null) {
020 Iterator<?> nodeIter = g.nodes();
021 while (nodeIter.hasNext()) {
022 VisualItem node = (VisualItem) nodeIter.next();
023 double x = node.getInt(DotAdapter.DOT_X);
024 double y = node.getInt(DotAdapter.DOT_Y);
025 double w = node.getInt(DotAdapter.DOT_WIDTH);
026 double h = node.getInt(DotAdapter.DOT_HEIGHT);
027
028 Rectangle2D bounds = (Rectangle2D) node.get(VisualItem.BOUNDS);
029 bounds.setRect(x, y, w, h);
030 node.set(VisualItem.BOUNDS,bounds);
031
032 setX(node, null, x);
033 setY(node, null, y);
034 }
035 }
036 }
037 }