3 |
from org import fenfire as ff |
from org import fenfire as ff |
4 |
from org.fenfire.swamp import Nodes |
from org.fenfire.swamp import Nodes |
5 |
import org.nongnu.libvob as vob |
import org.nongnu.libvob as vob |
6 |
|
from org.fenfire.spanimages.gl import papermakers |
7 |
|
|
8 |
dbg = 0 |
dbg = 0 |
9 |
|
|
10 |
def p(*s): |
def p(*s): |
11 |
print 'fenpdfcontext.py::', s |
print 'fenpdfcontext.py::', s |
12 |
|
|
13 |
|
global w |
14 |
|
|
15 |
|
|
16 |
# mixin interface for superclass proxy creation |
# mixin interface for superclass proxy creation |
42 |
return apply(self.method, nargs, argdict) |
return apply(self.method, nargs, argdict) |
43 |
|
|
44 |
|
|
|
|
|
45 |
class KeyHandler: |
class KeyHandler: |
46 |
def __init__(self, states): |
def __init__(self, states): |
47 |
self.states = states |
self.states = states |
48 |
|
self.makerTypes = [ |
49 |
|
papermakers.white(w), |
50 |
|
papermakers.fancyBlend(w), |
51 |
|
papermakers.fancyHalo(w), |
52 |
|
papermakers.fancyBlur(w), |
53 |
|
] |
54 |
def key(self, stroke, main): |
def key(self, stroke, main): |
55 |
p('KEY', stroke,', v:',main) |
p('KEY', stroke,', v:',main) |
56 |
|
|
85 |
if isinstance(v, ff.view.PaperView2D): |
if isinstance(v, ff.view.PaperView2D): |
86 |
v.drawPaper = not v.drawPaper |
v.drawPaper = not v.drawPaper |
87 |
v = v.getChildView2D() |
v = v.getChildView2D() |
88 |
|
if stroke == 'Ctrl-I': |
89 |
|
p('change spanImageFactory\'s papermaker') |
90 |
|
self.states.spanImageFactory.paperMaker = self.makerTypes[0] |
91 |
|
self.makerTypes.append(self.makerTypes.pop(0)) |
92 |
|
self.states.nodeview.reinit(fen.graph, 100) |
93 |
|
self.states.pageview.flush() |
94 |
|
|
95 |
if acc == None: return |
if acc == None: return |
96 |
|
|
123 |
|
|
124 |
|
|
125 |
class ContextStates: |
class ContextStates: |
126 |
def __init__(self, fen, pp): |
def __init__(self, fen, pp, spanImageFactory, nodeview): |
127 |
self.clean() |
self.clean() |
128 |
self.cursor = ff.view.lava.Cursor(fen) |
self.cursor = ff.view.lava.Cursor(fen) |
129 |
self.pp = pp |
self.pp = pp |
130 |
self.fen = fen |
self.fen = fen |
131 |
|
self.spanImageFactory = spanImageFactory |
132 |
|
self.nodeview = nodeview |
133 |
|
self.pageview = None |
134 |
def chgCtrl(self): |
def chgCtrl(self): |
135 |
self.ctrl = not self.ctrl |
self.ctrl = not self.ctrl |
136 |
if self.ctrl: |
if self.ctrl: |
171 |
|
|
172 |
|
|
173 |
class Context(ff.view.lava.FenPDFContext, SuperCaller): |
class Context(ff.view.lava.FenPDFContext, SuperCaller): |
174 |
def __init__(self, win, fen, pp, nv, ctrl): |
def __init__(self, win, fen, pp, nv, ctrl, spanImageFactory): |
175 |
self.super = self.superproxy(ff.view.lava.FenPDFContext) |
self.super = self.superproxy(ff.view.lava.FenPDFContext) |
176 |
ff.view.lava.FenPDFContext.__init__(self, fen, pp, nv, ctrl) |
ff.view.lava.FenPDFContext.__init__(self, fen, pp, nv, ctrl) |
|
self.states = ContextStates(fen, pp) |
|
|
self.keys = KeyHandler(self.states) |
|
|
self.mousemenu = MouseMenu() |
|
177 |
global w |
global w |
178 |
w = win |
w = win |
179 |
|
self.states = ContextStates(fen, pp, spanImageFactory, nv) |
180 |
|
self.keys = KeyHandler(self.states) |
181 |
|
self.mousemenu = MouseMenu() |
182 |
|
|
183 |
|
|
184 |
def setMngr(self, mngr): |
def setMngr(self, mngr): |