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/fenp...


From: Tuomas J. Lukka
Subject: [ff-cvs] fenfire/org/fenfire bin/fenpdf10.py fenpdf/fenp...
Date: Fri, 22 Aug 2003 05:07:01 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/22 05:06:58

Modified files:
        org/fenfire/bin: fenpdf10.py 
        org/fenfire/fenpdf: fenpdf.py fenpdfcontext.py 
        org/fenfire/fenpdf/actions: keyboard.py 
        org/fenfire/fenpdf/appearance: views.py 
        org/fenfire/fenpdf/events: eventhandler.py mouse.py 
Added files:
        org/fenfire/fenpdf/events: buttons.py 
Removed files:
        org/fenfire/demo: buoyoing.py 

Log message:
        patch-35
        Refactor: keys do not go through Context object
        patch-36
        Start refactoring buttons
        patch-37
        Clarify comment
        patch-38
        Move buttons and their actions to the right place

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/bin/fenpdf10.py.diff?tr1=1.66&tr2=1.67&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/fenpdf.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/fenpdfcontext.py.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/actions/keyboard.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/appearance/views.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/buttons.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/eventhandler.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/mouse.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/bin/fenpdf10.py
diff -u fenfire/org/fenfire/bin/fenpdf10.py:1.66 
fenfire/org/fenfire/bin/fenpdf10.py:1.67
--- fenfire/org/fenfire/bin/fenpdf10.py:1.66    Fri Aug 22 01:21:07 2003
+++ fenfire/org/fenfire/bin/fenpdf10.py Fri Aug 22 05:06:56 2003
@@ -197,6 +197,8 @@
 
 fenPDF = ff.fenpdf.fenpdf.FenPDF(fen, treetime)
 fenPDF.window = w
+fenPDF.events.buttons = ff.fenpdf.events.buttons.ActionButtons()
+fenPDF.events.buttons.fenPDF = fenPDF
 
 
 papers = ff.fenpdf.appearance.papers.Papers()
@@ -219,8 +221,6 @@
 
 context.states.cursor = ff.fenpdf.fenpdfcontext.Cursor(fen, 
views.getMultiplexerNodeContentFunction())
 
-context.keys = fenPDF.events.key
-
 
 eventHandler.context = context
 
@@ -252,7 +252,8 @@
     def scene(self, vs):
         self.context.states.vs = vs
         scene = views.scene(vs)
-        self.context.renderContext(vs, 0)
+       fenPDF.events.buttons.render(vs, 0)
+        self.context.renderContext(vs)
         return scene
 
     def mouse(self, ev):
Index: fenfire/org/fenfire/fenpdf/actions/keyboard.py
diff -u fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.4 
fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.5
--- fenfire/org/fenfire/fenpdf/actions/keyboard.py:1.4  Fri Aug 22 01:21:07 2003
+++ fenfire/org/fenfire/fenpdf/actions/keyboard.py      Fri Aug 22 05:06:57 2003
@@ -134,3 +134,45 @@
        self.fenPDF.views.getDoubleGeometer().setSingle(
            not self.fenPDF.views.getDoubleGeometer().getSingle())
        vob.AbstractUpdateManager.chg()
+
+
+    def importPDF(self):
+       """Show the dialog for importing new PDF files.
+       """
+       scrollBlock = ff.fenpdf.importpdf.importPDF_select(
+               self.fenPDF.fen,
+               self.fenPDF.structure.treeTime)
+       p('sc: ',scrollBlock,'id: ', scrollBlock.getID())
+       if scrollBlock != None:
+           self.moveTo(None, scrollBlock)
+
+    def newCanvas(self):
+       canvas = Nodes.N()
+       self.fenPDF.structure.canvas2d.makeIntoCanvas(canvas)
+       self.fenPDF.structure.treeTime.addLatest(self.fenPDF.fen.graph, canvas)
+       self.moveTo(None, canvas)
+
+    def moveTo(self, main, newFocus):
+       """Move the focus to a new place.
+
+       main -- the mainNode to move, can be None for default.
+       newFocus -- the new focused node.
+       """
+       index = 0
+
+       self.fenPDF.views.setFocus(index, newFocus)
+       # buoymanager.replaceManager(0, 
+       #    ff.view.buoy.FisheyeMainNode2D(
+       #       scrollBlock, 
+       #       views.pageview, 
+       #       ff.view.buoy.AbstractMainNode2D.SimpleFocus(0,0),
+       #       self.states.mainMouse))
+
+       #buoymanager.replaceManager(0, 
+       #    ff.view.buoy.MainNode2D(ff.swamp.Nodes.get(paper), 
+       #                           views.irregu, 
ff.view.buoy.AbstractMainNode2D.SimpleFocus(0,0),1,
+       #                           self.states.mainMouse))
+
+
+    
+
Index: fenfire/org/fenfire/fenpdf/appearance/views.py
diff -u fenfire/org/fenfire/fenpdf/appearance/views.py:1.5 
fenfire/org/fenfire/fenpdf/appearance/views.py:1.6
--- fenfire/org/fenfire/fenpdf/appearance/views.py:1.5  Fri Aug 22 01:21:08 2003
+++ fenfire/org/fenfire/fenpdf/appearance/views.py      Fri Aug 22 05:06:57 2003
@@ -112,14 +112,20 @@
                self.createMainNode(plane))
 
     def createMainNode(self, plane):
-       if isinstance(plane, alph.PageScroll):
-           return ff.view.buoy.FisheyeMainNode2D(plane, self.pagescrollview2d,
+       if isinstance(plane, alph.PageScrollBlock):
+           return ff.view.buoy.FisheyeMainNode2D(plane, 
+                       self.pagescrollview2d,
+                       ff.view.buoy.AbstractMainNode2D.SimpleFocus(0,0),
                        self.fenPDF.events.mouse.getMainMouseMultiplexer())
        else:
            return ff.view.buoy.MainNode2D(plane, self.canvasview2d, 
                        self.fenPDF.events.mouse.getMainMouseMultiplexer())
 
     def scene(self, vs):
+       """Render the scene, and return the vobScene.
+       BuoyManager may decide
+       """
+
        return self.buoyManager.scene(vs)
 
     def getConnectors(self):
Index: fenfire/org/fenfire/fenpdf/events/eventhandler.py
diff -u fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.1 
fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.2
--- fenfire/org/fenfire/fenpdf/events/eventhandler.py:1.1       Fri Aug 22 
01:21:47 2003
+++ fenfire/org/fenfire/fenpdf/events/eventhandler.py   Fri Aug 22 05:06:58 2003
@@ -42,12 +42,14 @@
         if ev.getType() != ev.MOUSE_CLICKED:
             return 0
 
-        if self.context.doMouse(ev, oldvs):
+        if (self.context.doMouse(ev, oldvs) or
+           self.fenPDF.events.buttons.mouseEvent(ev, oldvs)):
             p('context seen, now cleaning it')
             self.context.clean()
             self.fenPDF.events.mouse.mainMouse.flush()
             vob.AbstractUpdateManager.chg()
             return 1
+
         self.context.clean()
         return 0
 
@@ -77,11 +79,8 @@
 
 
     def key(self, key):
-        self.context.key(key)
-        #elif key == "?":
-        #    vob.putil.demo.showHelp = 1-showHelp
-        #    vob.AbstractUpdateManager.setNoAnimation()
-
+       self.fenPDF.events.key.key(key, 
+                       self.context.states.buoymanager.getLastMain())
         vob.AbstractUpdateManager.chg()
         return 1
 
Index: fenfire/org/fenfire/fenpdf/events/mouse.py
diff -u fenfire/org/fenfire/fenpdf/events/mouse.py:1.3 
fenfire/org/fenfire/fenpdf/events/mouse.py:1.4
--- fenfire/org/fenfire/fenpdf/events/mouse.py:1.3      Thu Aug 21 04:24:09 2003
+++ fenfire/org/fenfire/fenpdf/events/mouse.py  Fri Aug 22 05:06:58 2003
@@ -21,7 +21,10 @@
 
     def update(self):
 
-       # self.mainMouse.clear() # XXX Not implemented
+       # We might like to clear the mainMouse of all
+       # bindings here, but that's not implemented
+       # yet.
+       # self.mainMouse.clear() 
 
        actions = self.fenPDF.actions
 
Index: fenfire/org/fenfire/fenpdf/fenpdf.py
diff -u fenfire/org/fenfire/fenpdf/fenpdf.py:1.5 
fenfire/org/fenfire/fenpdf/fenpdf.py:1.6
--- fenfire/org/fenfire/fenpdf/fenpdf.py:1.5    Fri Aug 22 01:21:07 2003
+++ fenfire/org/fenfire/fenpdf/fenpdf.py        Fri Aug 22 05:06:57 2003
@@ -47,5 +47,6 @@
        self.structure.canvas2d = ff.structure.Canvas2D.create(fen.graph)
        self.structure.treeTime = treeTime
 
-
+    def render(self, vs):
+       pass
 
Index: fenfire/org/fenfire/fenpdf/fenpdfcontext.py
diff -u fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.22 
fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.23
--- fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.22    Thu Aug 21 08:45:08 2003
+++ fenfire/org/fenfire/fenpdf/fenpdfcontext.py Fri Aug 22 05:06:57 2003
@@ -273,8 +273,6 @@
     def setBuoyManager(self, manager):
         self.states.buoymanager = manager
         
-    def key(self, key):
-        self.keys.key(key, self.states.buoymanager.getLastMain())
 
     # call back from AbstractMainNode2D
     def changeFastAfterMouseEvent(self):
@@ -297,54 +295,14 @@
            vs.put(vob.vobs.LineVob(0,0,0,1, java.awt.Color.darkGray), cursorCS)
             
         
-    def renderContext(self, vs, into):
+    def renderContext(self, vs):
         self.mousemenu.render(vs)
-        self.mousebuttons = cs = vs.translateCS(0, "BUTTONS",0,0)
-       b = ff.view.lava.Button(vs, cs, 30, 0, 50);
-        b.add("[Import PS/PDF]", "IMPORT");
-        b.add("[New paper]",     "NEW_PAPER");
-       b.add("[Save]", "SAVE");
 
     def doMouse(self, ev, oldVS):
         """ Return true if context has eaten the event ;)"""
         if self.mousemenu.mouse(ev, oldVS):
             return 1
 
-        if ev.getType() != ev.MOUSE_CLICKED: return 0;
-
-        key = oldVS.getKeyAt(self.mousebuttons, ev.getX(), ev.getY(), None)
-        if key == None: return 0
-
-        buoymanager = self.states.buoymanager
-        views = self.states.view2d
-
-        if key == 'IMPORT':
-           scrollBlock = ff.fenpdf.importpdf.importPDF_select(
-                   self.states.fen,
-                   self.states.ppActions.getTreeTime())
-            p('sc: ',scrollBlock,'id: ', scrollBlock.getID())
-           if scrollBlock != None:
-               buoymanager.replaceManager(0, 
-                   ff.view.buoy.FisheyeMainNode2D(
-                       scrollBlock, 
-                       views.pageview, 
-                       ff.view.buoy.AbstractMainNode2D.SimpleFocus(0,0),
-                       self.states.mainMouse))
-            return 1
-        elif key == 'NEW_PAPER':
-            paper = self.states.ppActions.newPaper();
-            buoymanager.replaceManager(0, 
-                ff.view.buoy.MainNode2D(ff.swamp.Nodes.get(paper), 
-                                        views.irregu, 
ff.view.buoy.AbstractMainNode2D.SimpleFocus(0,0),1,
-                                        self.states.mainMouse))
-            return 1
-       elif key == "SAVE":
-           self.save() 
-            return 1
-        else:
-            p('key', key)
-            return 0
-    
     def save(self):
        print "SAVING..."
        model = ff.swamp.Graphs.toModel(self.states.fen.graph);




reply via email to

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