PDA

View Full Version : onactionend


johannes2
01-20-2008, 02:19 PM
Hi,

moving to Vizard 3 from Vizard 2.5 onactionend seems to work differntly:
Old working code:

def onactionend(object,action):
if object == screenWall and action == viz.MOVE:
putGraphOnScreenWall()
viz.callback(viz.ACTION_END_EVENT,onactionend)

New code, not working yet:

def onactionend(e):
print 'end',e.object,e.action
if e.object is screenWall and e.action is viz.MOVE:
putGraphOnScreenWall()
viz.callback(viz.ACTION_END_EVENT,onactionend)

What to do?
Best,
Johannes

farshizzo
01-23-2008, 12:18 PM
Can you post a simple working example that reproduces the problem? Also, please use the tags when posting code samples. It will preserve the tabs which is necessary for python code.

johannes2
02-12-2008, 02:35 AM
Thank you for being fast and sorry for beeing slow - too many other things right now ;)

TypeError: onactionend() takes exactly 2 arguments (1 given)
** WARNING: <node>.goto will be deprecated in future versions of Vizard, use vizact.goto instead
TypeError: onactionend() takes exactly 2 arguments (1 given)

Sample Code:

def onactionend(object,action):
if object == screenWall and action == viz.MOVE:
putGraphOnScreenWall()
viz.callback(viz.ACTION_END_EVENT,onactionend)



graphOnWallFinished=0
def putGraphOnScreenWall():
global graphBasket, graph1, graph2, graph3, graph4, graph5, graph6,graphOnWallFinished

print 'adfasdf',screenWall.get(viz.POSITION)[1]
if checkboxWall.get()==1 and screenWall.get(viz.POSITION)[1]==0:
#moveDown=vizact.move(0,0,0,1)
#screenWall.add(moveDown)
graph4.graphWhat=graph1.graphWhat
graph5.graphWhat=graph2.graphWhat
graph6.graphWhat=graph3.graphWhat
resetObjects()

#make existing graphs invisible
for graphInstance in graphBasket:
graphInstance.coordinateShow=0
graphInstance.showCoordinateSystem()
#print '123213',graphBasket
graphBasket=[]
#print graphBasket
graphBasket.append(graph4)
graphBasket.append(graph5)
graphBasket.append(graph6)
for graphInstance in graphBasket:
graphInstance.setLabelTextGraph(graphInstance.grap hWhat)
graphInstance.adjustCoordSys(3,1)
graphInstance.adjustCoordSys(3,0)
graphInstance.coordinateShow=1
graphInstance.showCoordinateSystem()
graphOnWallFinished=1

farshizzo
02-12-2008, 10:52 AM
Can you post a working script? I can't actually run the code you posted since it is not a fully working script. Either way, you might want to look at the documentation for viz.ACTION_END_EVENT (http://www.worldviz.com/vizhelp/Event_Reference.htm#viz_ACTION_END_EVENT). It shows a simple example on how to correctly handle the callback.