18 |
""" |
""" |
19 |
if dbg: p(ev) |
if dbg: p(ev) |
20 |
|
|
21 |
|
if ev.getType() == ev.MOUSE_CLICKED: |
22 |
|
if (self.fenPDF.events.mousemenu.mouse(ev, oldvs) or |
23 |
|
self.fenPDF.events.buttons.mouseEvent(ev, oldvs)): |
24 |
|
p('context seen, now cleaning it') |
25 |
|
self.context.clean() |
26 |
|
self.fenPDF.events.mouse.mainMouse.flush() |
27 |
|
vob.AbstractUpdateManager.chg() |
28 |
|
return 1 |
29 |
|
|
30 |
|
self.context.clean() |
31 |
|
|
32 |
if ev.getType() == ev.MOUSE_RELEASED: |
if ev.getType() == ev.MOUSE_RELEASED: |
33 |
p('mainMouse released? - there\'s a bug in here!') |
p('mainMouse released? - there\'s a bug in here!') |
34 |
|
|
47 |
|
|
48 |
# 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. |
49 |
self.context.states.lastEvent = ev |
self.context.states.lastEvent = ev |
|
return 0 |
|
50 |
|
|
51 |
def contextMouse(self, ev, oldvs): |
buoymanager = self.fenPDF.views.getBuoyManager() |
52 |
if ev.getType() != ev.MOUSE_CLICKED: |
""" Returns true if buoymanager has eaten the event ;)""" |
53 |
return 0 |
if not hasattr(buoymanager, 'vs'): |
54 |
|
vob.AbstractUpdateManager.setNoAnimation() |
55 |
if (self.context.doMouse(ev, oldvs) or |
vob.AbstractUpdateManager.chg() |
56 |
self.fenPDF.events.buttons.mouseEvent(ev, oldvs)): |
return 1 |
57 |
p('context seen, now cleaning it') |
|
58 |
self.context.clean() |
|
59 |
self.fenPDF.events.mouse.mainMouse.flush() |
if ev.getType() == ev.MOUSE_DRAGGED: |
60 |
|
if buoymanager.singles[buoymanager.lastIndex].mainNode.mouse(ev, buoymanager.vs): |
61 |
|
buoymanager.replaceScene = buoymanager.vs |
62 |
|
vob.AbstractUpdateManager.setNoAnimation() |
63 |
vob.AbstractUpdateManager.chg() |
vob.AbstractUpdateManager.chg() |
64 |
return 1 |
return 1 |
65 |
|
|
66 |
self.context.clean() |
buoyhit = buoymanager.findIfBuoyHit(buoymanager.vs, ev.getX(), ev.getY()) |
67 |
|
if buoyhit != None: |
68 |
|
single, link = buoyhit |
69 |
|
# pa("IN CS: ",cs, link) |
70 |
|
buoymanager.buoyHit.set(buoymanager.singles[single], link) |
71 |
|
if buoymanager.eventHandler.buoyMouse(buoymanager, ev, buoymanager.singles[single], link): |
72 |
|
return 1 |
73 |
|
return 0 |
74 |
|
|
75 |
|
topmostMainNode = buoymanager.findTopmostMainNode(buoymanager.vs, ev.getX(), ev.getY()) |
76 |
|
|
77 |
|
# If the most upper main node is available use it. |
78 |
|
if topmostMainNode: |
79 |
|
if topmostMainNode.mouse(ev, buoymanager.vs): |
80 |
|
buoymanager.replaceScene = buoymanager.vs |
81 |
|
vob.AbstractUpdateManager.setNoAnimation() |
82 |
|
vob.AbstractUpdateManager.chg() |
83 |
|
return 1 |
84 |
return 0 |
return 0 |
85 |
|
|
86 |
|
|
87 |
|
return 0 |
88 |
|
|
89 |
|
|
90 |
|
|
91 |
def buoyMouse(self, mgr, ev, single, link): |
def buoyMouse(self, mgr, ev, single, link): |
92 |
if self.fenPDF.events.mouse.buoyMouse.deliverEvent(ev): |
if self.fenPDF.events.mouse.buoyMouse.deliverEvent(ev): |
93 |
vob.AbstractUpdateManager.chg() |
vob.AbstractUpdateManager.chg() |