working again
[rmh3093.git] / motsim / EventHandler.java
blobcb4e4f66b55ed5ee22cd0c813e09898530e71c4c
1 /**
2 * EventHandler.java
3 * motsim
4 */
6 import java.awt.event.ActionEvent;
7 import java.awt.event.ActionListener;
8 import java.awt.event.KeyEvent;
9 import java.awt.event.KeyListener;
10 import java.awt.event.MouseEvent;
11 import java.awt.event.MouseListener;
12 import java.awt.event.MouseMotionListener;
13 import java.awt.event.WindowEvent;
14 import java.awt.event.WindowListener;
16 public class EventHandler
17 implements WindowListener, MouseMotionListener, MouseListener, KeyListener,
18 ActionListener {
20 View view;
21 Model model;
22 Controller controller;
24 public EventHandler(Model model, View view, Controller controller) {
25 this.model = model;
26 this.view = view;
27 this.controller = controller;
28 view.setEventHandler(this);
31 public void actionPerformed(ActionEvent e) {
32 if (e.getActionCommand()=="cp-start") {
33 if ((view.cp.collectdata_checkbox.isSelected()) &&
34 !(view.cp.sx_panel.isVisible())) {
35 view.collectDemographics();
36 } else {
37 view.cp.sx_panel.setVisible(false);
39 } else if (e.getActionCommand()=="sx-start") {
40 /* Store participant information */
41 model.participant = new Participant(
42 view.cp.sx_name_textfield.getText(),
43 view.cp.sx_email_textfield.getText(),
44 view.cp.genders[view.cp.gender_combobox.getSelectedIndex()],
45 view.cp.handedness[view.cp.handedness_combobox.getSelectedIndex()],
46 view.cp.vision[view.cp.vision_combobox.getSelectedIndex()],
47 Integer.valueOf(view.cp.sx_age_textfield.getText())
50 if (e.getActionCommand()=="cp-start" ||
51 e.getActionCommand()=="sx-start") {
52 controller.startTrials();
53 } else if (e.getActionCommand()=="simmode") {
54 if (view.cp.simmode_combobox.getSelectedItem().toString() ==
55 "Multiple Trials") {
56 view.cp.trials_spinner.setEnabled(true);
57 } else {
58 view.cp.trials_spinner.setEnabled(false);
63 public void keyPressed(KeyEvent e) {
66 public void keyReleased(KeyEvent e) {
69 public void keyTyped(KeyEvent e) {
72 public void mouseClicked(MouseEvent e) {
73 if (model.stage == Model.TrialStage.FIND) {
74 model.mouse_x_clk = e.getX();
75 model.mouse_y_clk = e.getY();
76 synchronized (model.trialThread) {
77 model.trialThread.notifyAll();
82 public void mouseEntered(MouseEvent e) {
85 public void mouseExited(MouseEvent e) {
88 public void mousePressed(MouseEvent e) {
91 public void mouseReleased(MouseEvent e) {
94 public void mouseDragged(MouseEvent e) {
97 public void mouseMoved(MouseEvent e) {
98 if (model.stage == Model.TrialStage.FIND) {
99 model.mouse_x = e.getX();
100 model.mouse_y = e.getY();
101 synchronized (model.trialThread) {
102 model.trialThread.notifyAll();
107 public void windowActivated(WindowEvent e) {
110 public void windowClosed(WindowEvent e) {
113 public void windowClosing(WindowEvent e) {
116 public void windowDeactivated(WindowEvent e) {
117 view.trial.stopTrial();
118 //model.gd.setDisplayMode(model.display_mode_preferred);
121 public void windowDeiconified(WindowEvent e) {
124 public void windowIconified(WindowEvent e) {
127 public void windowOpened(WindowEvent e) {