package de.ugoe.cs.swe.bnftools.ui.views.syntaxdiagram; import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.MouseEvent; import org.eclipse.draw2d.MouseListener; import org.eclipse.draw2d.MouseMotionListener; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; public class DragAndDropListener extends MouseMotionListener.Stub implements MouseListener { Point start; public void mousePressed(MouseEvent e) { start = e.getLocation(); } public void mouseReleased(MouseEvent e) { } public void mouseDoubleClicked(MouseEvent e) { } public void mouseDragged(MouseEvent e) { Point p = e.getLocation(); Dimension d = p.getDifference(start); start = p; Figure f = ((Figure) e.getSource()); f.setBounds(f.getBounds().getTranslated(d.width, d.height)); } }