fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire/fenpdf/events mousemenu.py


From: Matti Katila
Subject: [ff-cvs] fenfire/org/fenfire/fenpdf/events mousemenu.py
Date: Tue, 26 Aug 2003 05:12:28 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Matti Katila <address@hidden>   03/08/26 05:12:28

Modified files:
        org/fenfire/fenpdf/events: mousemenu.py 

Log message:
        fix mousemenu click

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/mousemenu.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/fenpdf/events/mousemenu.py
diff -u fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.8 
fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.9
--- fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.8  Tue Aug 26 03:33:10 2003
+++ fenfire/org/fenfire/fenpdf/events/mousemenu.py      Tue Aug 26 05:12:28 2003
@@ -53,6 +53,8 @@
 
     def showList(self, x, y, who):
         self.eventHandler.eventGrabber = self.mouse
+        self.dragged = 0
+        self.notExecuted = 1
        p("showList")
         if who == 'buoymenu':
             self.makeBuoyList()
@@ -64,8 +66,8 @@
             return
         
         self.w, self.h = self.selectListVob.width, self.selectListVob.height
-        self.w *= 2.5
-        self.h *= 2.5
+        self.w *= 2
+        self.h *= 2
         self.x, self.y = x, y
 
     def hideList(self):
@@ -84,11 +86,12 @@
     def mouse(self, ev, oldVS):
         """ Should be called only through eventHandler.eventGrabber
         """
+
         cs = oldVS.matcher.getCS(0, 'MOUSE_MENU')
         key = oldVS.getKeyAt(cs, ev.getX(), ev.getY(), None)
         if dbg: p('cs', cs, key)
         if cs < 0:
-            p('Something WRONG!!, should not happend! How can ',oldvs,'be 
*WRONG* vobscene??? should not be reused!')
+            p('Something WRONG!!, should not happend! How can ',oldVS,'be 
*WRONG* vobscene??? should not be reused!')
             raise 'Unallowed operation'
 
         pts = jarray.zeros(3, 'f')
@@ -98,15 +101,21 @@
 
         if ev.getType() in [ev.MOUSE_PRESSED, ev.MOUSE_DRAGGED]:
             self.selectListVob.preSelect(pts[0], pts[1])
+
+            if ev.getType() == ev.MOUSE_DRAGGED:
+                self.dragged = 1
+            vob.AbstractUpdateManager.setNoAnimation()
         if ev.getType() in [ev.MOUSE_RELEASED, ev.MOUSE_CLICKED]:
             self.selectListVob.postSelect(pts[0], pts[1])
             
-            if key:
+            if key and self.notExecuted:
                 key()
+                self.notExecuted = 0
             else:
                 p('nothing', key)
-            self.eventHandler.eventGrabber = None
-            self.hideList()
+
+            if self.dragged or ev.getType() == ev.MOUSE_CLICKED:
+                self.eventHandler.eventGrabber = None
+                self.hideList()
             
-        vob.AbstractUpdateManager.setNoAnimation()
         self.fenPDF.animation.regenerateVS()




reply via email to

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