gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] fenfire/org/fenfire demo/fenpdfcontext.py view/...


From: Tuomas J. Lukka
Subject: [Gzz-commits] fenfire/org/fenfire demo/fenpdfcontext.py view/...
Date: Thu, 14 Aug 2003 01:38:08 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/14 01:38:08

Modified files:
        org/fenfire/demo: fenpdfcontext.py 
        org/fenfire/view: PageSpanLayout.java pagespanlayout.test 
        org/fenfire/view/buoy: actions.py 

Log message:
        Transclusion code initial segment (prints out the enf we'd be 
transcluding), + failing test and fix for it in PageSpanLayout (actually MAKE a 
real enfilade)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/fenpdfcontext.py.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PageSpanLayout.java.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/pagespanlayout.test.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/actions.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/fenpdfcontext.py
diff -u fenfire/org/fenfire/demo/fenpdfcontext.py:1.31 
fenfire/org/fenfire/demo/fenpdfcontext.py:1.32
--- fenfire/org/fenfire/demo/fenpdfcontext.py:1.31      Wed Aug 13 11:50:27 2003
+++ fenfire/org/fenfire/demo/fenpdfcontext.py   Thu Aug 14 01:38:07 2003
@@ -126,9 +126,12 @@
         class Selection:
             def __init__(self):
                 self.area = [0,0,0,0]
-                self.view = None
+               self.mainNode = None
             def getArea(self): return self.area
-            def setArea(self, area): self.area = area
+            def getMainNode(self): return self.mainNode
+            def setArea(self, area, mainNode): 
+               self.area = area
+               self.mainNode = mainNode
             def hasSelection(self):
                 a = self.area
                 return (a[0]-a[2]) != 0 and (a[1]-a[3]) != 0
@@ -208,6 +211,14 @@
             obj = self.states.objectOnPlane
             self.states.ppActions.deleteNote(obj)
 
+    class Transclude(Action):
+       def run(self):
+           node = self.states.selection.getMainNode()
+           area = self.states.selection.getArea()
+           obj = node.getView2D().getSelectedObject(
+                   node.getPlane(), *area)
+           print "Transclude selected: ",node.getPlane(), area, obj
+
     def __init__(self, states):
         self.states = states
         self.style = vob.GraphicsAPI.getInstance().getTextStyle('sans', 0, 12)
@@ -217,12 +228,16 @@
         
     def makeMainList(self):
         self.list = vob.vobs.SelectListVob(self.style)
-        self.list.add('Destroy this canvas', self.KillPlane(self.states))
+       if self.states.selection.hasSelection():
+           self.list.add('Transclude selection (PDF to canvas only)',
+                   self.Transclude(self.states))
         if self.link:
-            self.list.add('Delete this node', self.DeleteNode(self.states))
             self.list.add('Link node to left', self.LinkL(self.states))
             self.list.add('Link node to rigth', self.LinkR(self.states))
         self.list.add('Go to home', 'home')
+        self.list.add('Destroy this canvas', self.KillPlane(self.states))
+        if self.link:
+            self.list.add('Delete this node', self.DeleteNode(self.states))
 
     def makeBuoyList(self):
         self.list = vob.vobs.SelectListVob(self.style)
Index: fenfire/org/fenfire/view/PageSpanLayout.java
diff -u fenfire/org/fenfire/view/PageSpanLayout.java:1.20 
fenfire/org/fenfire/view/PageSpanLayout.java:1.21
--- fenfire/org/fenfire/view/PageSpanLayout.java:1.20   Wed Aug 13 12:56:28 2003
+++ fenfire/org/fenfire/view/PageSpanLayout.java        Thu Aug 14 01:38:08 2003
@@ -260,7 +260,7 @@
            if(rx1 >= d.width) rx1 = d.width - 1;
            if(ry1 >= d.height) ry1 = d.height - 1;
 
-           enf.plus(enfilade1DMaker.makeEnfilade(pages[p].subArea(rx0,ry0, 
rx1-rx0, ry1-ry0)));
+           enf = 
enf.plus(enfilade1DMaker.makeEnfilade(pages[p].subArea(rx0,ry0, rx1-rx0, 
ry1-ry0)));
        }
        return enf;
     }
Index: fenfire/org/fenfire/view/buoy/actions.py
diff -u fenfire/org/fenfire/view/buoy/actions.py:1.14 
fenfire/org/fenfire/view/buoy/actions.py:1.15
--- fenfire/org/fenfire/view/buoy/actions.py:1.14       Wed Aug 13 10:30:17 2003
+++ fenfire/org/fenfire/view/buoy/actions.py    Thu Aug 14 01:38:08 2003
@@ -151,6 +151,11 @@
         v.setCurrentPlane(self.mainNode.getPlane())
         xy = self.mainNode.getXYHit(self.oldVS, x,y)
         v.setArea(self.oldxy[0], self.oldxy[1], xy[0], xy[1])
+
+       self.context.states.selection.setArea(
+               (self.oldxy[0], self.oldxy[1], xy[0], xy[1]),
+               self.mainNode)
+
         self.mainNode.chgFast(self.oldVS, -1)
         self.context.states.fastChg = 1
     def endDrag(self, x,y):
Index: fenfire/org/fenfire/view/pagespanlayout.test
diff -u fenfire/org/fenfire/view/pagespanlayout.test:1.10 
fenfire/org/fenfire/view/pagespanlayout.test:1.11
--- fenfire/org/fenfire/view/pagespanlayout.test:1.10   Tue Jun 24 07:11:52 2003
+++ fenfire/org/fenfire/view/pagespanlayout.test        Thu Aug 14 01:38:08 2003
@@ -153,7 +153,15 @@
                            # int(150 - .5 * 792 / 5.0)):
        # fail(exc)
 
-    
+def testSelection():
+    """Test that getting selection returns a good enf.
+    """
+    pageSpanLayout = 
fenfire.view.PageSpanLayout(enfMaker.makeEnfilade(sc.getCurrent()))
+    w = pageSpanLayout.getWidth()
+    h = pageSpanLayout.getHeight()
+
+    enf = pageSpanLayout.getSelection(0, 0, w, h)
+    assert enf.length() == 2, (enf, enf.length())
 
 
 




reply via email to

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