[Top][All Lists]
[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."""
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/17
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Matti Katila, 2003/08/17
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Matti Katila, 2003/08/18
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/18
- [ff-cvs] fenfire/org/fenfire/demo mm.py,
Matti Katila <=
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/26
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/27
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/27
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/27
- [ff-cvs] fenfire/org/fenfire/demo mm.py, Asko Soukka, 2003/08/28