fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire/demo mm.py


From: Matti Katila
Subject: [ff-cvs] fenfire/org/fenfire/demo mm.py
Date: Tue, 19 Aug 2003 05:19:17 -0400

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

Modified files:
        org/fenfire/demo: mm.py 

Log message:
        event fixes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/mm.py.diff?tr1=1.28&tr2=1.29&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/mm.py
diff -u fenfire/org/fenfire/demo/mm.py:1.28 fenfire/org/fenfire/demo/mm.py:1.29
--- fenfire/org/fenfire/demo/mm.py:1.28 Mon Aug 18 11:23:33 2003
+++ fenfire/org/fenfire/demo/mm.py      Tue Aug 19 05:19:16 2003
@@ -134,6 +134,7 @@
     def __init__(self):
         self.rmb_switch = [ 'go', 'link', 'unlink' ]
         self.oldVS = None
+        self.replaceVS = None
         self.main = None    # MainNode2D
         self.fastMouseChg = 0  # callback from abstractmainnode2d when called 
mouse
         self._accursed = None
@@ -212,9 +213,16 @@
 
     def mainNodeToBeRender(self, vs,into, main): pass
     def changeFastAfterMouseEvent(self):
-        p('returning', self.fastMouseChg, 'as fast or slow')
+        if dbg: p('returning', self.fastMouseChg, 'as fast or slow')
         return self.fastMouseChg
 
+    def setFastAnimation(self):
+        self.fastMouseChg = 1
+        self.replaceVS = self.oldVS
+    def setSlowAnimation(self):
+        self.fastMouseChg = 0
+        self.replaceVS = None
+
 
 context = Context()
  
@@ -231,11 +239,11 @@
 class RMB(Action, vob.mouse.MouseClickListener):
     def clicked(self, x,y):
         self.context.nextRmb()
-        self.context.fastMouseChg = 0
-
+        self.context.setSlowAnimation()
+        
 class Click(Action, vob.mouse.MouseClickListener):
     def clicked(self, x,y):
-        self.context.fastMouseChg = 0
+        self.context.setSlowAnimation()
         vs = context.oldVS
         node = vs.getKeyAt(0, x,y, None)
         p('key', node)
@@ -301,18 +309,18 @@
         if self.context.getAccursed() and \
                ff.util.RDFUtil.isLinked(fen.graph, self.context.getAccursed()):
             self.context.scale = self.context.main.getFocus().getZoom()
+        self.context.setFastAnimation()
 
 class PanMover(Action, vob.mouse.RelativeAdapter, 
vob.mouse.MousePressListener):
     def pressed(self, x,y):
         return self
     def changedRelative(self, x,y='foo'):
-        p('foobar')
         f = self.context.main.getFocus()
         fX, fY = f.getPanX(), f.getPanY()
         f.setPan(fX-x/f.zoom,
                  fY-y/f.zoom)
         self.context.main.chgFast(self.context.oldVS, -1)
-        self.context.fastMouseChg = 1
+        self.context.setFastAnimation()
 
 
 mindMouse = vob.mouse.MouseMultiplexer()
@@ -355,10 +363,10 @@
         except java.io.FileNotFoundException: pass
 
     def scene(self, vs):
-        if context.fastMouseChg:
-            p('fast')
-            return context.oldVS
-        p('slow')
+        if context.replaceVS:
+            VobScene = context.replaceVS
+            context.replaceVS = None
+            return VobScene
         context.oldVS = vs
         
         
@@ -378,15 +386,16 @@
 
 
     def mouse(self, ev):
-        p('mouse',ev)
-        if self.main.mouse(ev, context.oldVS):
-            vob.AbstractUpdateManager.setNoAnimation()
-        if ev.getType() != vob.VobMouseEvent.MOUSE_PRESSED and \
-               ev.getType() != vob.VobMouseEvent.MOUSE_RELEASED:
+        if ev.getType() in [vob.VobMouseEvent.MOUSE_CLICKED,
+                            vob.VobMouseEvent.MOUSE_DRAGGED]:
+            if self.main.mouse(ev, context.oldVS):
+                vob.AbstractUpdateManager.setNoAnimation()
             vob.AbstractUpdateManager.chg()
+        else:
+            self.main.mouse(ev, context.oldVS)
         
     def key(self, key):
-        context.fastMouseChg = 0
+        context.setSlowAnimation()
         p("key: ", key)
         if key == 'Escape' or key == 'Tab':
             """Removes the focus from the current accursed node and sets no 
new accursed node."""




reply via email to

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