package jdepend.client.report.way.mapui; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import jdepend.client.report.way.mapui.layout.specifiedposition.CommandSpecifiedPosition; import jdepend.client.report.way.mapui.layout.specifiedposition.SpecifiedNodePosition; import jdepend.client.report.way.mapui.layout.specifiedposition.SpecifiedPositionMgr; import prefuse.controls.DragControl; import prefuse.visual.NodeItem; import prefuse.visual.VisualItem; public class JDependDragControl extends DragControl { private GraphJDepend display; public JDependDragControl(GraphJDepend display) { this.display = display; } @Override public void itemReleased(VisualItem item, MouseEvent e) { super.itemReleased(item, e); if (this.display.getPrinter() != null) { List<SpecifiedNodePosition> nodePositions = new ArrayList<SpecifiedNodePosition>(); SpecifiedNodePosition specifiedNodePosition; Iterator nodeIter = display.getVisualization().items(GraphJDepend.treeNodes); while (nodeIter.hasNext()) { item = (NodeItem) nodeIter.next(); specifiedNodePosition = new SpecifiedNodePosition(); specifiedNodePosition.setName(item.getString("label")); specifiedNodePosition.setX(item.getX()); specifiedNodePosition.setY(item.getY()); nodePositions.add(specifiedNodePosition); } CommandSpecifiedPosition commandSpecifiedPosition = new CommandSpecifiedPosition(); String group = this.display.getPrinter().getGroup(); String command = this.display.getPrinter().getCommand(); commandSpecifiedPosition.setGroup(group); commandSpecifiedPosition.setCommand(command); commandSpecifiedPosition.setNodePositions(nodePositions); SpecifiedPositionMgr.getInstance().updateCommandSpecifiedPosition(commandSpecifiedPosition); } } }