gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gzz/modules/pp EventHandling.java


From: Matti Katila
Subject: [Gzz-commits] gzz/gzz/modules/pp EventHandling.java
Date: Fri, 20 Dec 2002 13:45:10 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Matti Katila <address@hidden>   02/12/20 13:45:09

Modified files:
        gzz/modules/pp : EventHandling.java 

Log message:
        fix dragging.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/pp/EventHandling.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: gzz/gzz/modules/pp/EventHandling.java
diff -u gzz/gzz/modules/pp/EventHandling.java:1.2 
gzz/gzz/modules/pp/EventHandling.java:1.3
--- gzz/gzz/modules/pp/EventHandling.java:1.2   Fri Dec 20 13:23:57 2002
+++ gzz/gzz/modules/pp/EventHandling.java       Fri Dec 20 13:45:09 2002
@@ -73,10 +73,13 @@
 
 
 
-    
+    // drag state
+    private Pair drag_pair = null;
     private String last_key = null;
+
     private boolean just_pressed = false;
     private boolean dragging = false;
+
     private MousePressState press_state = null;
     public EventMouseObj when_pressed = null;
     
@@ -119,22 +122,28 @@
            */
        };
 
-       Object pair = callers.get(""+cs);
-       if (pair == null) return;
-       if (!(pair instanceof Pair)) { throw new Error("NOT PAIR!"); }
-
-       String key = (String)((Pair)pair).first;
-       if (just_pressed && dragging) {
-           last_key = key;
-           just_pressed = false;
-       }
-
-       if (dbg) pa("key: " + key);
-
        // event hanlder
-       Object ev_h;
-       if (dragging) ev_h = ev_handlers.get(last_key);
-       else ev_h = ev_handlers.get(key);
+       Object ev_h, pair;
+       
+       // check if dragging
+       if (dragging && (last_key != null && drag_pair != null)) {
+           ev_h = ev_handlers.get(last_key);
+           pair = drag_pair;
+       }else {
+           pair = callers.get(""+cs);
+           if (pair == null) return;
+           if (!(pair instanceof Pair)) { throw new Error("NOT PAIR!"); }
+           
+           String key = (String)((Pair)pair).first;
+           if (just_pressed && dragging) {
+               last_key = key;
+               drag_pair = (Pair)pair;
+               just_pressed = false;
+           }
+
+           if (dbg) pa("key: " + key);
+           ev_h = ev_handlers.get(key);
+       }
 
        if (ev_h instanceof EventMouseObj) 
            ((EventMouseObj)ev_h).event(ev, press_state,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]