1 19 package org.openharmonise.workfloweditor.flowchart; 20 21 import java.awt.event.MouseEvent ; 22 import java.util.Iterator ; 23 24 import javax.swing.event.MouseInputAdapter ; 25 26 import org.openharmonise.workfloweditor.flowchart.shapes.*; 27 28 29 36 public class MoveMouseHandler extends MouseInputAdapter { 37 38 41 private FlowChart m_chart = null; 42 43 46 private AbstractWorkflowShape m_selectedShape = null; 47 48 51 private int m_nXoffset = 0; 52 53 56 private int m_nYoffset = 0; 57 58 63 public MoveMouseHandler(FlowChart chart) { 64 super(); 65 this.m_chart = chart; 66 } 67 68 71 public void mouseDragged(MouseEvent me) { 72 if(this.m_selectedShape!=null) { 73 this.m_selectedShape.setX( me.getX()-this.m_nXoffset ); 74 this.m_selectedShape.setY( me.getY()-this.m_nYoffset ); 75 this.m_chart.repaint(); 76 } 77 } 78 79 82 public void mousePressed(MouseEvent me) { 83 Iterator itor = this.m_chart.getShapes().iterator(); 84 while (itor.hasNext()) { 85 AbstractWorkflowShape shape = (AbstractWorkflowShape) itor.next(); 86 if(shape instanceof AbstractMoveableShape) { 87 AbstractMoveableShape moveableShape = (AbstractMoveableShape) shape; 88 if(moveableShape.controlPointContains(me.getX(), me.getY())) { 89 this.m_selectedShape = moveableShape; 90 this.m_nXoffset = (int) (me.getX()-this.m_selectedShape.getX()); 91 this.m_nYoffset = (int) (me.getY()-this.m_selectedShape.getY()); 92 break; 93 } 94 } 95 } 96 } 97 98 101 public void mouseReleased(MouseEvent me) { 102 this.m_selectedShape = null; 103 this.m_nXoffset = 0; 104 this.m_nYoffset = 0; 105 } 106 107 } 108 | Popular Tags |