comparison java/src/uk/ac/qmul/eecs/ccmi/gui/HapticTrigger.java @ 3:9e67171477bc

PHANTOM Omni Heptic device release
author Fiore Martin <fiore@eecs.qmul.ac.uk>
date Wed, 25 Apr 2012 17:09:09 +0100
parents 9418ab7b7f3f
children 2c67ac862920
comparison
equal deleted inserted replaced
2:4b2f975e35fa 3:9e67171477bc
31 */ 31 */
32 public class HapticTrigger implements CollectionListener { 32 public class HapticTrigger implements CollectionListener {
33 33
34 @Override 34 @Override
35 public void elementInserted(CollectionEvent evt) { 35 public void elementInserted(CollectionEvent evt) {
36 DiagramEventSource source = (DiagramEventSource)evt.getSource();
36 if(evt.getDiagramElement() instanceof Node){ 37 if(evt.getDiagramElement() instanceof Node){
37 Node n = (Node)evt.getDiagramElement(); 38 Node n = (Node)evt.getDiagramElement();
38 HapticsFactory.getInstance().addNode(n.getBounds().getCenterX(), n.getBounds().getCenterY(), System.identityHashCode(n)); 39 HapticsFactory.getInstance().addNode(n.getBounds().getCenterX(), n.getBounds().getCenterY(), System.identityHashCode(n),source.getDiagramName());
39 }else{//edge 40 }else{//edge
40 Edge e = (Edge)evt.getDiagramElement(); 41 Edge e = (Edge)evt.getDiagramElement();
41 Edge.PointRepresentation pr = e.getPointRepresentation(); 42 Edge.PointRepresentation pr = e.getPointRepresentation();
42 HapticsFactory.getInstance().addEdge(System.identityHashCode(e),pr.xs,pr.ys,pr.adjMatrix,pr.nodeStart,e.getStipplePattern(),e.getNameLine()); 43 HapticsFactory.getInstance().addEdge(System.identityHashCode(e),pr.xs,pr.ys,pr.adjMatrix,pr.nodeStart,e.getStipplePattern(),e.getNameLine(),source.getDiagramName());
43 } 44 }
44 } 45 }
45 46
46 @Override 47 @Override
47 public void elementTakenOut(CollectionEvent evt) { 48 public void elementTakenOut(CollectionEvent evt) {
49 DiagramEventSource source = (DiagramEventSource)evt.getSource();
48 if(evt.getDiagramElement() instanceof Node){ 50 if(evt.getDiagramElement() instanceof Node){
49 Node n = (Node)evt.getDiagramElement(); 51 Node n = (Node)evt.getDiagramElement();
50 HapticsFactory.getInstance().removeNode(System.identityHashCode(n)); 52 HapticsFactory.getInstance().removeNode(System.identityHashCode(n),source.getDiagramName());
51 }else{//edge 53 }else{//edge
52 Edge e = (Edge)evt.getDiagramElement(); 54 Edge e = (Edge)evt.getDiagramElement();
53 HapticsFactory.getInstance().removeEdge(System.identityHashCode(e)); 55 HapticsFactory.getInstance().removeEdge(System.identityHashCode(e),source.getDiagramName());
54 } 56 }
55 } 57 }
56 58
57 @Override 59 @Override
58 public void elementChanged(ElementChangedEvent evt) { 60 public void elementChanged(ElementChangedEvent evt) {
61 DiagramEventSource source = (DiagramEventSource)evt.getSource();
59 if("stop_move".equals(evt.getChangeType())){ 62 if("stop_move".equals(evt.getChangeType())){
60 if(evt.getDiagramElement() instanceof Edge){ 63 if(evt.getDiagramElement() instanceof Edge){
61 Edge e = (Edge)evt.getDiagramElement(); 64 Edge e = (Edge)evt.getDiagramElement();
62 Edge.PointRepresentation pr = e.getPointRepresentation(); 65 Edge.PointRepresentation pr = e.getPointRepresentation();
63 HapticsFactory.getInstance().updateEdge(System.identityHashCode(e), pr.xs, pr.ys,pr.adjMatrix,pr.nodeStart, e.getNameLine()); 66 HapticsFactory.getInstance().updateEdge(
67 System.identityHashCode(e),
68 pr.xs,
69 pr.ys,
70 pr.adjMatrix,
71 pr.nodeStart,
72 e.getNameLine(),
73 source.getDiagramName());
64 }else{ 74 }else{
65 Node n = (Node)evt.getDiagramElement(); 75 Node n = (Node)evt.getDiagramElement();
66 HapticsFactory.getInstance().moveNode( 76 HapticsFactory.getInstance().moveNode(
67 n.getBounds().getCenterX(), 77 n.getBounds().getCenterX(),
68 n.getBounds().getCenterY(), 78 n.getBounds().getCenterY(),
69 System.identityHashCode(n) 79 System.identityHashCode(n),
80 source.getDiagramName()
70 ); 81 );
71 } 82 }
72 } 83 }
73 } 84 }
74 85