[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/appe...
From: |
Tuomas J. Lukka |
Subject: |
[ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/appe... |
Date: |
Wed, 20 Aug 2003 12:54:36 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/08/20 12:54:36
Modified files:
org/fenfire/bin: fenpdf10.py
org/fenfire/fenpdf/appearance: views.py
Log message:
Refactor: move buoyManager to views
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/bin/fenpdf10.py.diff?tr1=1.55&tr2=1.56&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/appearance/views.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/bin/fenpdf10.py
diff -u fenfire/org/fenfire/bin/fenpdf10.py:1.55
fenfire/org/fenfire/bin/fenpdf10.py:1.56
--- fenfire/org/fenfire/bin/fenpdf10.py:1.55 Wed Aug 20 12:39:03 2003
+++ fenfire/org/fenfire/bin/fenpdf10.py Wed Aug 20 12:54:36 2003
@@ -174,58 +174,7 @@
# print "APP",dir(ff.fenpdf.appearance)
# import org.fenfire.fenpdf.appearance.papers
-papers = ff.fenpdf.appearance.papers.Papers()
-views = ff.fenpdf.appearance.views.Views(fen, papers, mainMouse)
-
-
-context = Context(w, fen, ppActions, views, FILE)
-
-ff.view.buoy.MainNode2D.fen = fen
-ff.view.buoy.AbstractMainNode2D.context = context
-
-
-
-
-# With button 1
-mainMouse.setListener(1, 0,'Moving the pan around or the node if accursed.', \
- actions.CanvasNodePressListener(context, \
- actions.NodeMover(context),
actions.PanMover(context)))
-mainMouse.setListener(1, vob.VobMouseEvent.SHIFT_MASK,
- 'Selecting area of main view.',
- actions.SelectArea(context))
-mainMouse.setListener(1, vob.VobMouseEvent.CONTROL_MASK,
- 'Move the note.',
- actions.NodeMover(context))
-mainMouse.setListener(1, 0, 'Browse to clicked point in the main view',
- actions.BrowseClick(context))
-
-# With button 3
-mainMouse.setListener(3, 0, mainMouse.VERTICAL, 1.0, \
- 'Zooming the main view.', actions.ZoomPan(context))
-mainMouse.setListener(3, 0, mainMouse.HORIZONTAL, 1.0, \
- 'Changing the size of main view (currently only for
pagescroll).', # text
- actions.ChangeSize(context))
-mainMouse.setListener(3, vob.VobMouseEvent.SHIFT_MASK,
- 'Select a node by click or unselect.',
- actions.IfSelectNodeOnPlane(context))
-mainMouse.setListener(3, 0, 'Show context menu if available (should be).',
- actions.MouseMenu(context))
-# With wheel
-mainMouse.setWheelListener(0, 'Moving the pan', \
- actions.PanMover(context))
-context.states.mainMouse = mainMouse
-
-
-# Default controls for buoys
-buoyMouse = vob.mouse.MouseMultiplexer()
-# With button 1
-buoyMouse.setListener(1, 0, 'Follow the link buoy.',
- actions.BuoyFollowClick(context))
-
-# With button 3
-buoyMouse.setListener(3, 0, 'Show mouse menu for buoy', \
- actions.BuoyMouseMenu(context))
@@ -245,14 +194,9 @@
-mainNode = ff.view.buoy.MainNode2D(planeHome,
- views.getCanvasView2D(), mainMouse)
-mainNode2 = ff.view.buoy.MainNode2D(planeHome,
- views.getCanvasView2D(), mainMouse)
-
class EventHandler:
- def __init__(self, context):
+ def __init__(self, context = None):
self.context = context
@@ -347,35 +291,80 @@
+papers = ff.fenpdf.appearance.papers.Papers()
+eventHandler = EventHandler()
+views = ff.fenpdf.appearance.views.Views(fen, papers, mainMouse,
+ eventHandler, planeHome)
+
+context = Context(w, fen, ppActions, views, FILE)
+eventHandler.context = context
+
+ff.view.buoy.MainNode2D.fen = fen
+ff.view.buoy.AbstractMainNode2D.context = context
+
+
+
+# With button 1
+mainMouse.setListener(1, 0,'Moving the pan around or the node if accursed.', \
+ actions.CanvasNodePressListener(context, \
+ actions.NodeMover(context),
actions.PanMover(context)))
+mainMouse.setListener(1, vob.VobMouseEvent.SHIFT_MASK,
+ 'Selecting area of main view.',
+ actions.SelectArea(context))
+mainMouse.setListener(1, vob.VobMouseEvent.CONTROL_MASK,
+ 'Move the note.',
+ actions.NodeMover(context))
+mainMouse.setListener(1, 0, 'Browse to clicked point in the main view',
+ actions.BrowseClick(context))
+
+# With button 3
+mainMouse.setListener(3, 0, mainMouse.VERTICAL, 1.0, \
+ 'Zooming the main view.', actions.ZoomPan(context))
+mainMouse.setListener(3, 0, mainMouse.HORIZONTAL, 1.0, \
+ 'Changing the size of main view (currently only for
pagescroll).', # text
+ actions.ChangeSize(context))
+mainMouse.setListener(3, vob.VobMouseEvent.SHIFT_MASK,
+ 'Select a node by click or unselect.',
+ actions.IfSelectNodeOnPlane(context))
+mainMouse.setListener(3, 0, 'Show context menu if available (should be).',
+ actions.MouseMenu(context))
+
+# With wheel
+mainMouse.setWheelListener(0, 'Moving the pan', \
+ actions.PanMover(context))
+context.states.mainMouse = mainMouse
+
+
+# Default controls for buoys
+buoyMouse = vob.mouse.MouseMultiplexer()
+# With button 1
+buoyMouse.setListener(1, 0, 'Follow the link buoy.',
+ actions.BuoyFollowClick(context))
+
+# With button 3
+buoyMouse.setListener(3, 0, 'Show mouse menu for buoy', \
+ actions.BuoyMouseMenu(context))
class Scene:
def __init__(self):
global context
- self.eventHandler = EventHandler(context)
- self.buoyManager = None
- self.doubleGeometer = ff.view.buoy.doublegeometer.DoubleGeometer()
-
- self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager(
- [mainNode, mainNode2], views.getConnectors(), self.eventHandler,
- self.doubleGeometer,
- ff.fenpdf.appearance.fenpdfgeometry.FenPDFGeometryConfiguration())
w.setCursor('default')
self.context = context
- self.context.setBuoyManager(self.buoyManager)
+ self.context.setBuoyManager(views.getBuoyManager())
def scene(self, vs):
self.context.states.vs = vs
- scene = self.buoyManager.scene(vs)
+ scene = views.scene(vs)
self.context.renderContext(vs, 0)
return scene
def mouse(self, ev):
- if not self.eventHandler.contextMouse(ev, self.context.states.vs):
- self.buoyManager.mouse(ev)
+ if not eventHandler.contextMouse(ev, self.context.states.vs):
+ views.getBuoyManager().mouse(ev)
def key(self, key):
if key == "Ctrl-P":
@@ -391,7 +380,7 @@
print "Set single: ",currentScene.doubleGeometer.getSingle()
vob.AbstractUpdateManager.chg()
- self.eventHandler.key(key)
+ eventHandler.key(key)
Index: fenfire/org/fenfire/fenpdf/appearance/views.py
diff -u fenfire/org/fenfire/fenpdf/appearance/views.py:1.2
fenfire/org/fenfire/fenpdf/appearance/views.py:1.3
--- fenfire/org/fenfire/fenpdf/appearance/views.py:1.2 Wed Aug 20 12:39:03 2003
+++ fenfire/org/fenfire/fenpdf/appearance/views.py Wed Aug 20 12:54:36 2003
@@ -2,6 +2,7 @@
import java
import vob
+import alph
from org import fenfire as ff
from org.fenfire.vocab import RDF, CANVAS2D, TREETIME
@@ -15,12 +16,15 @@
versions that use other node types as well (mm graphs etc)
"""
- def __init__(self, fen, papers, mainMouseMultiplexer):
+ def __init__(self, fen, papers, mainMouseMultiplexer, eventHandler,
+ home):
self.fen = fen
self.papers = papers
self.textStyle = vob.GraphicsAPI.getInstance(
).getTextStyle("sans", 0, 24)
self.mainMouseMultiplexer = mainMouseMultiplexer
+ self.eventHandler = eventHandler
+ self.home = home
self.update()
@@ -81,6 +85,39 @@
self.connectors = [self.ppConnector, self.transclusionConnector,
self.ttConnector]
+
+ self.doubleGeometer = ff.view.buoy.doublegeometer.DoubleGeometer()
+ self.geometryConfiguration = \
+ ff.fenpdf.appearance.fenpdfgeometry.FenPDFGeometryConfiguration()
+
+ mainNode = ff.view.buoy.MainNode2D(self.home,
+ self.canvasview2d,
self.mainMouseMultiplexer)
+ mainNode2 = ff.view.buoy.MainNode2D(self.home,
+ self.canvasview2d,
self.mainMouseMultiplexer)
+
+ self.buoyManager = vob.buoy.buoymanager.MultiBuoyManager(
+ [mainNode, mainNode2], self.connectors, self.eventHandler,
+ self.doubleGeometer,
+ self.geometryConfiguration
+ )
+
+ def getBuoyManager(self):
+ return self.buoyManager
+
+ def setFocus(self, index, plane):
+ self.buoyManager.replaceManager(index,
+ self.createMainNode(plane))
+
+ def createMainNode(self, plane):
+ if isinstance(plane, alph.PageScroll):
+ return ff.view.buoy.FisheyeMainNode2D(plane, self.pagescrollview2d,
+ self.mainMouseMultiplexer)
+ else:
+ return ff.view.buoy.MainNode2D(plane, self.canvasview2d,
+ self.mainMouseMultiplexer)
+
+ def scene(self, vs):
+ return self.buoyManager.scene(vs)
def getConnectors(self):
return self.connectors