fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire/fenpdf BUGS fenpdfcontext.py


From: Tuomas J. Lukka
Subject: [ff-cvs] fenfire/org/fenfire/fenpdf BUGS fenpdfcontext.py
Date: Mon, 18 Aug 2003 03:51:54 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/18 03:51:54

Modified files:
        org/fenfire/fenpdf: BUGS fenpdfcontext.py 

Log message:
        Misc fixes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/BUGS.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/fenpdfcontext.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/fenpdf/BUGS
diff -u fenfire/org/fenfire/fenpdf/BUGS:1.11 
fenfire/org/fenfire/fenpdf/BUGS:1.12
--- fenfire/org/fenfire/fenpdf/BUGS:1.11        Sun Aug 17 11:11:20 2003
+++ fenfire/org/fenfire/fenpdf/BUGS     Mon Aug 18 03:51:54 2003
@@ -1,28 +1,21 @@
 User-visible bugs in FenPDF 1.0
 ===============================
 
-FATAL:
+FATAL
+-----
 
-- import assumes application/pdf!
+- "PLANE IS NOT A CONTAINER"!
+    - gets blue screen, nothing happens
 
-- Textures getting clobbered!
+- Menu seems to clobber fonts?
 
-    - a paper turned solid green
-
-    - letters vanish
-
-    - make sure text and paper always unbind the texture finally.
-       - text done
+- Instability. Have seen it crash in renderImpl.
 
 IMPORTANT:
 
-- transclusions / texts move by dragging WITHOUT ctrl!!!
-
 - startup takes far too long.  [slightly mitigated already 
   by tjl, fixing irregu generation.]
 
-- start with blurring / bleaching. SOO much better viewing
-
 - sometimes "not a canvas view"
     [ architecture-wise: what the hell is AbstractMainNode2D
       doing, checking members' derived types?
@@ -30,17 +23,44 @@
       getChildView2D is **NOT** a good solution.
       ]
 
-ANNOYANCE:
+- menu needs sometimes to be clicked several times
+
+    - need proper grab framework
+
+ANNOYANCE
+---------
+
+- timings need adjustment
 
 - Structlink connecting not done in the right way by spec
 
 - selection not removed at first other click
+    - need to think more about this
 
 - no click&drag of selected area to transclude
 
-- expose events not propagated
+- in pdf nodes, transclusions connected to center always,
+  not real transclusion center
+
+- in transclusion nodes, text fairly unreadable
+    
+    - do we need xu links!?
+       - might be appropriate, or structlink with 
+         enfilade on other end?
+
+- pdf fisheye dragging not right by coordinate system
+
+- need way to move to same node on other focus
+
+- multiple transclusions from a doc as a way of shortening
+  doesn't work nicely with current interface - buoys need
+  to be combined and buoys used several times magnified a little more
+
+- "crosshair" cursor too large and in wrong place!
+
 
-ALREADY FIXED, BUT SYMPTOM OF DEEPER ARCHITECTURAL PROBLEM:
+ALREADY FIXED, BUT SYMPTOM OF DEEPER ARCHITECTURAL PROBLEM
+----------------------------------------------------------
 
 - unlink buoy doesn't work for transclusions!
     [ architecture-wise we should separate the bindings
Index: fenfire/org/fenfire/fenpdf/fenpdfcontext.py
diff -u fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.10 
fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.11
--- fenfire/org/fenfire/fenpdf/fenpdfcontext.py:1.10    Sun Aug 17 15:55:01 2003
+++ fenfire/org/fenfire/fenpdf/fenpdfcontext.py Mon Aug 18 03:51:54 2003
@@ -55,6 +55,7 @@
 
         ### normal alphabets etc.
         if len(stroke) == 1:
+           p( "Typing: ", acc, cur, cur.getAccursed())
            if acc == None:
                paper = Nodes.toString(main.getPlane())
                note = pp.newNote(paper, int(main.getFocus().getPanX()),
@@ -80,22 +81,9 @@
             self.states.nodeview.reinit(fen.graph, 100)
             self.states.view2d.pageview_without_surrounding.flush()
 
-        if stroke == 'Ctrl-A':
-            p('Make an annotate.')
-            if self.states.selection.hasSelection():
-                s = self.states.selection.area
-                if isinstance(main, ff.view.buoy.FisheyeMainNode2D):
-                    v = ff.util.lava.view.getView(main, 
ff.view.PageScrollView2D)
-                    layout = v.getLayout(main.getPlane())
-                    enf = layout.getSelection( int(s[0]), int(s[1]),
-                                               int(s[2]-s[0]), int(s[3]-s[1]))
-                    paper = pp.newPaper()
-                    p('new note')
-                    note = Nodes.get(pp.newNote(paper, 0,0, ''))
-                    p('enfilade:', enf)
-                    fen.txt.set(note, enf)
-                
-        if acc == None: return
+        if acc == None: 
+           print "Other keys only for accursed"
+           return
 
         if stroke == 'Return':
             if dbg: p('Insert \\n')
@@ -142,6 +130,10 @@
         self.mainMouse = None
 
         class Selection:
+           """A selected area
+
+           self.area = x0,y0,x1,y1
+           """
             def __init__(self):
                 self.area = [0,0,0,0]
                self.mainNode = None
@@ -153,6 +145,23 @@
             def hasSelection(self):
                 a = self.area
                 return (a[0]-a[2]) != 0 and (a[1]-a[3]) != 0
+           def getXYWH(self):
+               """Return a x, y, width, height tuple.
+               """
+               a = self.area
+               if a[2] > a[0]:
+                   x = a[0]
+                   w = a[2]-a[0]
+               else:
+                   x = a[2]
+                   w = a[0]-a[2]
+               if a[3] > a[1]:
+                   y = a[1]
+                   h = a[3]-a[1]
+               else:
+                   y = a[3]
+                   h = a[1]-a[3]
+               return (x, y, w, h)
         self.selection = Selection()
 
         # kludge to keep flag how BuoyViewMainNode.mouse() should return.
@@ -233,7 +242,7 @@
     class Transclude(Action):
        def run(self):
            pdfMainNode = self.states.selection.getMainNode()
-           area = self.states.selection.getArea()
+           area = self.states.selection.getXYWH()
            obj = pdfMainNode.getView2D().getSelectedObject(
                    pdfMainNode.getPlane(), *area)
            print "Transclude selected: ",pdfMainNode.getPlane(), area, obj




reply via email to

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