fenfire-commits
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]