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 }