33 |
dbg = 0 |
dbg = 0 |
34 |
|
|
35 |
class MouseMenu(ff.fenpdf.actions.eventgrabs.Grabber): |
class MouseMenu(ff.fenpdf.actions.eventgrabs.Grabber): |
36 |
def __init__(self, fenPDF, states): |
def __init__(self, fenPDF): |
37 |
self.fenPDF = fenPDF |
self.fenPDF = fenPDF |
38 |
self.states = states |
self.selectListVob = None |
39 |
self.style = vob.GraphicsAPI.getInstance().getTextStyle('sans', 0, 12) |
self.x, self.y = 0 ,0 |
40 |
self.makeMainList() |
self.w, self.h = .0, .0 |
|
self.hideList() |
|
41 |
|
|
42 |
def makeMainList(self): |
def makeMainList(self): |
43 |
list = [] |
list = [] |
44 |
if self.states.selection.hasSelection(): |
if self.fenPDF.uistate.selection.hasSelection(): |
45 |
list.append(Item('Transclude selection (PDF to canvas only)', |
list.append(Item('Transclude selection (PDF to canvas only)', |
46 |
lambda: self.fenPDF.actions.menu.transclude())) |
lambda: self.fenPDF.actions.menu.transclude())) |
47 |
if self.fenPDF.uistate.menu.originatingNode: |
if self.fenPDF.uistate.menu.originatingNode: |
64 |
self.selectListVob = vob.vobs.SelectListVob(list) |
self.selectListVob = vob.vobs.SelectListVob(list) |
65 |
|
|
66 |
def render(self, vs): |
def render(self, vs): |
67 |
cs = vs.orthoBoxCS(0, 'MOUSE_MENU',-100, self.x, self.y-self.h/2, |
if self.selectListVob: |
68 |
1,1, self.w, self.h) |
cs = vs.orthoBoxCS(0, 'MOUSE_MENU',-100, self.x, self.y-self.h/2, |
69 |
vs.put(self.selectListVob, cs) |
1,1, self.w, self.h) |
70 |
|
vs.put(self.selectListVob, cs) |
71 |
|
|
72 |
def showList(self, x, y, who): |
def showList(self, x, y, who): |
73 |
self.fenPDF.events.eventHandler.eventGrabber = self |
self.fenPDF.events.eventHandler.eventGrabber = self |
91 |
def hideList(self): |
def hideList(self): |
92 |
self.fenPDF.events.eventHandler.eventGrabber = None |
self.fenPDF.events.eventHandler.eventGrabber = None |
93 |
p("Hidelist") |
p("Hidelist") |
94 |
if hasattr(self.states, 'lastEvent'): |
if hasattr(self.fenPDF.uistate, 'lastEvent'): |
95 |
self.x, self.y = self.states.lastEvent.getX(), self.states.lastEvent.getY() |
self.x, self.y = self.fenPDF.uistate.lastEvent.getX(), self.fenPDF.uistate.lastEvent.getY() |
96 |
else: self.x, self.y = 0,0 |
else: self.x, self.y = 0,0 |
97 |
self.w, self.h = .0, .0 |
self.w, self.h = .0, .0 |
98 |
|
|