/[gzz]/gzz/gzz/modules/pp/EventHandling.java
ViewVC logotype

Diff of /gzz/gzz/modules/pp/EventHandling.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by benja, Fri Dec 20 19:50:12 2002 UTC revision 1.5 by mudyc, Sun Dec 22 12:26:44 2002 UTC
# Line 10  import java.awt.event.*; Line 10  import java.awt.event.*;
10  import java.util.*;  import java.util.*;
11    
12    
13  /** Handles events and Emulates funtion pointer.  /** Handles events and emulates funtion pointer.
14   * STATE: PROTOTYPE   * STATE: PROTOTYPE
15   */   */
16  public class EventHandling {  public class EventHandling {
# Line 76  public class EventHandling { Line 76  public class EventHandling {
76      // drag state      // drag state
77      private Pair drag_pair = null;      private Pair drag_pair = null;
78      private String last_key = null;      private String last_key = null;
79        private final Pair EMPTY_PAIR = new Pair(new Object(), null);
80        private final String EMPTY_KEY = new String();
81    
82      private boolean just_pressed = false;      private boolean just_pressed = false;
83      private boolean dragging = false;      private boolean dragging = false;
# Line 98  public class EventHandling { Line 100  public class EventHandling {
100    
101              dragging = false;              dragging = false;
102              just_pressed = true;              just_pressed = true;
103    
104                // clean dragging
105                drag_pair = null;
106                last_key = null;
107    
108              if (dbg) pa("mouse pressed");              if (dbg) pa("mouse pressed");
109              break;  
110                // leave!
111                return;
112          }          }
113          case MouseEvent.MOUSE_CLICKED: {          case MouseEvent.MOUSE_CLICKED: {
114              dragging = false;              dragging = false;
# Line 114  public class EventHandling { Line 123  public class EventHandling {
123              if (dbg) pa("mouse dragged");              if (dbg) pa("mouse dragged");
124              break;              break;
125          }          }
             /*  
               case MouseEvent.MOUSE_EXITED: {  
                 if (dbg) pa("mouse exited");  
                 break;  
               }  
             */  
126          };          };
127    
128          // event hanlder          // event handler
129          Object ev_h, pair;          Object ev_h, pair;
130                    
131          // check if dragging          // check if dragging
132          if (dragging && (last_key != null && drag_pair != null)) {          if (dragging && (last_key != null && drag_pair != null)) {
133                if(last_key == EMPTY_KEY || drag_pair == EMPTY_PAIR) return;
134    
135              ev_h = ev_handlers.get(last_key);              ev_h = ev_handlers.get(last_key);
136              pair = drag_pair;              pair = drag_pair;
137                if (dbg) pa("last key: " + last_key);
138          } else {          } else {
139              pair = callers.get(""+cs);              pair = callers.get(""+cs);
140              if (pair == null) return;              if (pair == null) {
141                    // empty coordsys -> put empty handlers so dragging
142                    // doesn't do unexpected things.
143                    last_key = EMPTY_KEY;
144                    drag_pair = EMPTY_PAIR;
145                    if (dbg) pa("empty!!");
146                    return;
147                }
148              if (!(pair instanceof Pair)) { throw new Error("NOT PAIR!"); }              if (!(pair instanceof Pair)) { throw new Error("NOT PAIR!"); }
149                            
150              String key = (String)((Pair)pair).first;              String key = (String)((Pair)pair).first;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26