318 |
# connectors = [ppconnector, tconnector] |
# connectors = [ppconnector, tconnector] |
319 |
|
|
320 |
class EventHandler: |
class EventHandler: |
321 |
def __init__(self, buoymgr, context): |
def __init__(self, context): |
|
self.buoyManager = buoymgr |
|
322 |
self.context = context |
self.context = context |
|
self.context.setMngr(mgr) |
|
323 |
def mouse(self, ev, oldvs): |
def mouse(self, ev, oldvs): |
324 |
if dbg: p(ev) |
if dbg: p(ev) |
325 |
|
|
356 |
|
|
357 |
# There is a bug in AbstractUpdateManager code(?) and that's why now is must to return. |
# There is a bug in AbstractUpdateManager code(?) and that's why now is must to return. |
358 |
#return 1 |
#return 1 |
|
return 0 |
|
359 |
self.context.states.lastEvent = ev |
self.context.states.lastEvent = ev |
360 |
|
return 0 |
361 |
|
|
362 |
|
def contextMouse(self, ev): |
363 |
# ...then see context |
# ...then see context |
364 |
if ev.getType() != ev.MOUSE_CLICKED: |
if ev.getType() != ev.MOUSE_CLICKED: |
365 |
return 0 |
return 0 |
372 |
return 0 |
return 0 |
373 |
|
|
374 |
|
|
375 |
|
|
376 |
def buoyMouse(self, mgr, ev, single, link): |
def buoyMouse(self, mgr, ev, single, link): |
377 |
if buoyMouse.deliverEvent(ev): |
if buoyMouse.deliverEvent(ev): |
378 |
vob.AbstractUpdateManager.chg() |
vob.AbstractUpdateManager.chg() |
379 |
return 1 |
return 1 |
380 |
|
|
381 |
if ev.getType() != ev.MOUSE_CLICKED: |
if ev.getType() != ev.MOUSE_CLICKED: |
382 |
return 1 |
return 0 |
383 |
|
|
384 |
if not (ev.getButton() in [1, 3]): |
if not (ev.getButton() in [1, 3]): |
385 |
return 1 |
return 0 |
386 |
|
|
387 |
if isinstance(link[0].getView2D(), ff.view.PageScrollView2D): |
if isinstance(link[0].getView2D(), ff.view.PageScrollView2D): |
388 |
mgr.singles[0].followLinkFromManager(link, single) |
mgr.singles[0].followLinkFromManager(link, single) |
397 |
vob.AbstractUpdateManager.chg() |
vob.AbstractUpdateManager.chg() |
398 |
return 1 |
return 1 |
399 |
|
|
400 |
|
|
401 |
|
def key(self, key): |
402 |
|
self.context.key(key) |
403 |
|
|
404 |
|
if key == "+": |
405 |
|
self.split += .03 |
406 |
|
elif key == "-": |
407 |
|
self.split -= .03 |
408 |
|
elif key == "Home": |
409 |
|
self.mgr.singles[1].mainNode = ff.view.buoy.MainNode2D(planeHome, irregu, ctrl) |
410 |
|
elif key == "Ctrl-Q": |
411 |
|
p("going to save"); |
412 |
|
|
413 |
|
m = ff.swamp.Graphs.toModel(fen.graph); |
414 |
|
m.write(java.io.FileWriter(FILE)); |
415 |
|
|
416 |
|
java.lang.System.exit(43) |
417 |
|
elif key == "Ctrl-R": |
418 |
|
vob.putil.demo.loadScenes() |
419 |
|
#elif key == "?": |
420 |
|
# vob.putil.demo.showHelp = 1-showHelp |
421 |
|
# vob.AbstractUpdateManager.setNoAnimation() |
422 |
|
else: |
423 |
|
return globalkey(key) |
424 |
|
|
425 |
|
vob.AbstractUpdateManager.chg() |
426 |
|
return 1 |
427 |
|
|
428 |
|
|
429 |
|
|
430 |
|
|
431 |
|
|
432 |
|
|
433 |
class Scene: |
class Scene: |
434 |
def __init__(self, context, single = 0): |
def __init__(self, context, single = 0): |
435 |
self.single = single |
self.single = single |
436 |
|
self.eventHandler = EventHandler(context) |
437 |
self.buoyManager = None |
self.buoyManager = None |
438 |
if single: |
if single: |
439 |
self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager.__init__(self, |
self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager.__init__(self, |
440 |
[mainNode], connectors, |
[mainNode], connectors, self.eventHandler, |
441 |
vob.buoy.buoymanager.SingleGeometer(self, context, nodeview), |
vob.buoy.buoymanager.SingleGeometer(self, context, nodeview), |
442 |
ff.view.fenpdfgeometry.FenPDFGeometryConfiguration()) |
ff.view.fenpdfgeometry.FenPDFGeometryConfiguration()) |
443 |
else: |
else: |
444 |
self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager.__init__(self, |
self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager.__init__(self, |
445 |
[mainNode, mainNode2], connectors, |
[mainNode, mainNode2], connectors, self.eventHandler, |
446 |
ff.view.doublegeometer.DoubleGeometer(self, context, nodeview), |
ff.view.doublegeometer.DoubleGeometer(self, context, nodeview), |
447 |
ff.view.fenpdfgeometry.FenPDFGeometryConfiguration()) |
ff.view.fenpdfgeometry.FenPDFGeometryConfiguration()) |
|
self.eventHandler = EventHandler(self.buoyManager, context) |
|
448 |
|
|
449 |
w.setCursor('default') |
w.setCursor('default') |
450 |
|
|
451 |
|
self.context = context |
452 |
|
self.context.setMngr(self.buoyManager) |
453 |
|
|
454 |
|
|
455 |
def mouse(self, ev): |
def mouse(self, ev): |
456 |
if not self.buoyManager.mouse(ev): |
if not self.buoyManager.mouse(ev): |
457 |
self.eventHandler.mouse(ev) |
self.eventHandler.contextMouse(ev) |
458 |
|
|
459 |
def keystroke(self, key): |
def key(self, key): |
460 |
self.eventHandler.key(key) |
self.eventHandler.key(key) |
461 |
|
|
462 |
currentScene = Scene(context) |
currentScene = Scene(context) |
466 |
frame = 0 |
frame = 0 |
467 |
s = Scene() |
s = Scene() |
468 |
|
|
|
|
|
469 |
# FIXME: move s to shot position |
# FIXME: move s to shot position |
470 |
vs = w.createVobScene() |
vs = w.createVobScene() |
471 |
s.mainNode.moveTo(565,364) |
s.mainNode.moveTo(565,364) |