1
2 package hep.wired.heprep.interaction;
3
4 import java.awt.*;
5 import java.awt.event.*;
6 import java.awt.geom.*;
7 import javax.swing.*;
8
9 import org.freehep.application.Application;
10
11 import hep.wired.services.GraphicsPanel;
12 import hep.wired.services.RecordPlot;
13 import hep.wired.services.InteractionHandler;
14 import hep.wired.image.WiredBaseImage;
15 import hep.wired.interaction.DragToScale;
16 import hep.wired.interaction.DragRectangleToScale;
17 import hep.wired.interaction.DragAngledRectangleToScale;
18 import hep.wired.interaction.DragBallToRotate;
19 import hep.wired.interaction.DragToRotate;
20 import hep.wired.interaction.DragToTranslate;
21
22 import hep.wired.heprep.plugin.WiredPlugin;
23 import hep.wired.heprep.graphicspanel.ControlPanel;
24
25 /***
26 *
27 * @author Mark Donszelmann
28 * @version $Id: Interaction.java 2092 2005-07-22 19:05:19Z duns $
29 */
30 public class Interaction extends RoutingInteractionHandler {
31
32 private static Interaction instance;
33 private InteractionPanel panel;
34
35 private Interaction() {
36 super("Interaction");
37
38 panel = new InteractionPanel();
39
40
41 InteractionHandler dragToScale = new DragToScale();
42 add(dragToScale, true);
43 panel.addInteraction(dragToScale, true);
44
45
46 panel.setInteractionHandler(dragToScale);
47
48 InteractionHandler dragRectangleToScale = new DragRectangleToScale();
49 add(dragRectangleToScale, false);
50 panel.addInteraction(dragRectangleToScale, false);
51
52 InteractionHandler dragAngledRectangleToScale = new DragAngledRectangleToScale();
53 add(dragAngledRectangleToScale, false);
54 panel.addInteraction(dragAngledRectangleToScale, false);
55
56
57 InteractionHandler dragBallToRotate = new DragBallToRotate();
58 add(dragBallToRotate, false);
59 panel.addInteraction(dragBallToRotate, false);
60
61 InteractionHandler dragToRotate = new DragToRotate();
62 add(dragToRotate, false);
63 panel.addInteraction(dragToRotate, false);
64
65
66 InteractionHandler dragToTranslate = new DragToTranslate();
67 add(dragToTranslate, false);
68 panel.addInteraction(dragToTranslate, false);
69
70 panel.addInteraction(null, false);
71 }
72
73 public static Interaction getInstance() {
74 if (instance == null) {
75 instance = new Interaction();
76 }
77 return instance;
78 }
79
80 public ControlPanel getPanel() {
81 return panel;
82 }
83
84 public Icon getIcon(int size) {
85 return WiredBaseImage.getIcon("Scale%w", size);
86 }
87
88 public String getDescription() {
89 return "General Interaction.";
90 }
91
92 public String toString() {
93 return "Interaction";
94 }
95 }