fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/fenp...


From: Tuomas J. Lukka
Subject: [ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/fenp...
Date: Sat, 23 Aug 2003 06:48:41 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/23 06:48:41

Modified files:
        org/fenfire/bin: fenpdf10.py 
        org/fenfire/fenpdf: fenpdfcontext.py 
        org/fenfire/fenpdf/events: eventhandler.py 
Added files:
        org/fenfire/fenpdf/events: mousemenu.py 

Log message:
        Arch: patch-46
        Move doMouse out of context entirely
        patch-47
        Start refactoring mouse away from buoymanager
        patch-48
        Move the mouse code in

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/bin/fenpdf10.py.diff?tr1=1.68&tr2=1.69&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/fenpdfcontext.py.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/mousemenu.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/eventhandler.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/bin/fenpdf10.py
diff -u fenfire/org/fenfire/bin/fenpdf10.py:1.68 
fenfire/org/fenfire/bin/fenpdf10.py:1.69
--- fenfire/org/fenfire/bin/fenpdf10.py:1.68    Fri Aug 22 07:22:58 2003
+++ fenfire/org/fenfire/bin/fenpdf10.py Sat Aug 23 06:48:40 2003
@@ -258,8 +258,8 @@
         return scene
 
     def mouse(self, ev):
-        if not eventHandler.contextMouse(ev, self.context.states.vs):
-            views.getBuoyManager().mouse(ev)
+        eventHandler.mouse(ev, self.context.states.vs)
+
     def key(self, key):
 
            
Index: fenfire/org/fenfire/fenpdf/events/eventhandler.py
diff -u fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.2 
fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.3
--- fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.2       Fri Aug 22 
05:06:58 2003
+++ fenfire/org/fenfire/fenpdf/events/eventhandler.py   Sat Aug 23 06:48:41 2003
@@ -18,6 +18,17 @@
         """
         if dbg: p(ev)
 
+        if ev.getType() == ev.MOUSE_CLICKED:
+           if (self.fenPDF.events.mousemenu.mouse(ev, oldvs) or
+               self.fenPDF.events.buttons.mouseEvent(ev, oldvs)):
+               p('context seen, now cleaning it')
+               self.context.clean()
+               self.fenPDF.events.mouse.mainMouse.flush()
+               vob.AbstractUpdateManager.chg()
+               return 1
+
+           self.context.clean()
+
         if ev.getType() == ev.MOUSE_RELEASED:
             p('mainMouse released? - there\'s a bug in here!')
 
@@ -36,22 +47,46 @@
 
             # There is a bug in AbstractUpdateManager code(?) and that's why 
now is must to return.
         self.context.states.lastEvent = ev
-        return 0
 
-    def contextMouse(self, ev, oldvs):
-        if ev.getType() != ev.MOUSE_CLICKED:
-            return 0
-
-        if (self.context.doMouse(ev, oldvs) or
-           self.fenPDF.events.buttons.mouseEvent(ev, oldvs)):
-            p('context seen, now cleaning it')
-            self.context.clean()
-            self.fenPDF.events.mouse.mainMouse.flush()
+       buoymanager = self.fenPDF.views.getBuoyManager()
+        """ Returns true if buoymanager has eaten the event ;)"""
+        if not hasattr(buoymanager, 'vs'):
+            vob.AbstractUpdateManager.setNoAnimation()
+            vob.AbstractUpdateManager.chg()
+            return 1
+
+
+        if ev.getType() == ev.MOUSE_DRAGGED:
+            if buoymanager.singles[buoymanager.lastIndex].mainNode.mouse(ev, 
buoymanager.vs):
+                buoymanager.replaceScene = buoymanager.vs
+                vob.AbstractUpdateManager.setNoAnimation()
             vob.AbstractUpdateManager.chg()
             return 1
 
-        self.context.clean()
+       buoyhit = buoymanager.findIfBuoyHit(buoymanager.vs, ev.getX(), 
ev.getY())
+       if buoyhit != None:
+           single, link  = buoyhit
+           # pa("IN CS: ",cs, link)
+           buoymanager.buoyHit.set(buoymanager.singles[single], link)
+           if buoymanager.eventHandler.buoyMouse(buoymanager, ev, 
buoymanager.singles[single], link):
+               return 1
+           return 0
+
+       topmostMainNode = buoymanager.findTopmostMainNode(buoymanager.vs, 
ev.getX(), ev.getY())
+
+        # If the most upper main node is available use it.
+        if topmostMainNode:
+            if topmostMainNode.mouse(ev, buoymanager.vs):
+                buoymanager.replaceScene = buoymanager.vs
+                vob.AbstractUpdateManager.setNoAnimation()
+            vob.AbstractUpdateManager.chg()
+            return 1
         return 0
+
+
+        return 0
+
+
 
     def buoyMouse(self, mgr, ev, single, link):
         if self.fenPDF.events.mouse.buoyMouse.deliverEvent(ev):
Index: fenfire/org/fenfire/fenpdf/fenpdfcontext.py
diff -u fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.24 
fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.25
--- fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.24    Fri Aug 22 07:22:58 2003
+++ fenfire/org/fenfire/fenpdf/fenpdfcontext.py Sat Aug 23 06:48:41 2003
@@ -139,10 +139,6 @@
             
         
 
-    def doMouse(self, ev, oldVS):
-        """ Return true if context has eaten the event ;)"""
-        if self.mousemenu.mouse(ev, oldVS):
-            return 1
 
     def save(self):
        print "SAVING..."




reply via email to

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