gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire demo/actions.py demo/buoyoi...


From: Matti Katila
Subject: [Gzz-commits] fenfire/org/fenfire demo/actions.py demo/buoyoi...
Date: Mon, 07 Jul 2003 02:00:52 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Matti Katila <address@hidden>   03/07/07 02:00:52

Modified files:
        org/fenfire/demo: actions.py buoyoing.py fenpdfcontext.py 
        org/fenfire/view: AreaSelectingView2D.java PageSpanLayout.java 

Log message:
        selection fixes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/actions.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.87&tr2=1.88&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/fenpdfcontext.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/AreaSelectingView2D.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PageSpanLayout.java.diff?tr1=1.14&tr2=1.15&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/actions.py
diff -u fenfire/org/fenfire/demo/actions.py:1.7 
fenfire/org/fenfire/demo/actions.py:1.8
--- fenfire/org/fenfire/demo/actions.py:1.7     Tue Jul  1 12:33:33 2003
+++ fenfire/org/fenfire/demo/actions.py Mon Jul  7 02:00:51 2003
@@ -95,13 +95,13 @@
 
 class SelectArea(AbstractContextController):
     def isChangeable(self): return 0
-    def tryFast(self): return 0
+    def tryFast(self): return 1
     def controlPoint(self, x, y, scale):
         if dbg: self.context.states.p()
         xy = self.obj.getXYHit(self.oldVS, x,y)
         oldXY = self.context.states.getPressPans()
         self.context.selection.setArea(oldXY[0], oldXY[1], xy[0], xy[1])
-
+        self.obj.chgFast(self.oldVS)
 
 ####### Dispatcher for plane events etc.
 
@@ -125,13 +125,21 @@
             self.context.states.setPressPans(xy[0], xy[1])
             if dbg: self.context.states.p()
 
+        ### Get node on plane if any
         if dbg: p('event', ev)
         obj = main.getNodeOnPlane(vs, ev.getX(), ev.getY())
         if dbg: p(obj)
 
-        self.context.selection.setCurrentPlane(main.getPlane())
 
-        # Special case if user has pressed 'Ctrl'
+        ### Set selection plane
+        v = main.getView2D()
+        while v != None:
+            if isinstance(v, ff.view.AreaSelectingView2D):
+                v.setCurrentPlane(main.getPlane())
+                break
+            v = v.getChildView2D()
+
+        #### Special case if user has pressed 'Ctrl'
         if self.context.states.hasCtrl():
             self.last = self.c
             self.args = main
@@ -142,7 +150,7 @@
                     self.args = [main, obj, self.graph, self.pp]
                     return self.p.handleEvent(self.args, ev, vs)
 
-            # Drag if something under mouse pointer is accursed!
+            ### Drag if something under mouse pointer is accursed!
             if obj != None and self.p.hasBinding(ev) and 
self.context.isAccursed(obj):
                 self.last = self.p
                 self.args = [main, obj, self.graph, self.pp]
@@ -153,7 +161,7 @@
         if 0 and ev.getID() != ev.MOUSE_PRESSED and not 
self.last.hasPressState():
             self.removePressState()
             self.last.setPressStateByForce(ev)
-            raise 'set press state by force - should not happen', ev
+            raise 'set press state by force - should not happen!', ev
         return self.last.handleEvent(self.args, ev, vs)
     def removePressState(self):
         for c in self.all:
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.87 
fenfire/org/fenfire/demo/buoyoing.py:1.88
--- fenfire/org/fenfire/demo/buoyoing.py:1.87   Tue Jul  1 12:33:33 2003
+++ fenfire/org/fenfire/demo/buoyoing.py        Mon Jul  7 02:00:51 2003
@@ -135,7 +135,7 @@
 ctrl = ControlsDispatcher(main_ctrl, node_ctrl, ctrlkey_ctrl, fen.graph, ppAct)
 
 #context = ff.view.lava.FenPDFContext(fen, ppAct, nodeview, ctrl)
-context = Context(w, fen, ppAct, nodeview, ctrl, selection)
+context = Context(w, fen, ppAct, nodeview, ctrl)
 
 context.initMainNodes(2)
 nodeview.setContext(context)
@@ -152,7 +152,7 @@
 # Default controls
 
 ctrl.setContext(context)
-main_ctrl.add(MovePanFast(), -1, ctrl.WHEEL, 7,0, ctrl.VERTICAL)
+main_ctrl.add(MovePanFast(), -1, ctrl.WHEEL, 13,1, ctrl.VERTICAL)
 main_ctrl.add(MovePanFast(), 1, ctrl.DRAG, 1, 0, ctrl.ALL)
 main_ctrl.add(MovePanSlow(), 1, ctrl.CLICK)
 main_ctrl.add(ZoomPan(), 3, ctrl.DRAG, 1, 0, ctrl.VERTICAL)
@@ -189,7 +189,7 @@
 #          ff.view.PaperView2D(vob.putil.demowindow.w, 
 #                      ff.view.PageScrollView2D()))
 pagescroll2d = ff.view.PageScrollView2D()
-
+pagescroll2d = ff.view.AreaSelectingView2D(pagescroll2d)
 
 tconnector.normalNodeNodeType = ff.view.buoy.NodeType2D(irregu,
                        ff.view.buoy.MainNode2D.MainNode2DFactory(1, ctrl))
Index: fenfire/org/fenfire/demo/fenpdfcontext.py
diff -u fenfire/org/fenfire/demo/fenpdfcontext.py:1.5 
fenfire/org/fenfire/demo/fenpdfcontext.py:1.6
--- fenfire/org/fenfire/demo/fenpdfcontext.py:1.5       Tue Jul  1 12:33:33 2003
+++ fenfire/org/fenfire/demo/fenpdfcontext.py   Mon Jul  7 02:00:51 2003
@@ -72,17 +72,26 @@
         
 
 class Context(ff.view.lava.FenPDFContext, SuperCaller):
-    def __init__(self, win, fen, pp, nv, ctrl, selection):
+    def __init__(self, win, fen, pp, nv, ctrl):
         self.super = self.superproxy(ff.view.lava.FenPDFContext)
         ff.view.lava.FenPDFContext.__init__(self, fen, pp, nv, ctrl)
         self.states = ContextStates()
         self.keys = KeyHandler(self.states)
         global w
         w = win
-        self.selection = selection
     def setMngr(self, mngr):
         self.mgr = mngr
     def key(self, key):
         if self.keys.key(key): return
         else: self.super.handleKeyStroke(key, self.mgr.getLastMain())
+
+    def mainNodeToBeRender(self, vs, into, main):
+        v = main.getView2D()
+        while v != None:
+            if isinstance(v, ff.view.AreaSelectingView2D):
+                self.selection = v
+                break
+            v = v.getChildView2D()
+
+        self.super.mainNodeToBeRender(vs, into, main)
 
Index: fenfire/org/fenfire/view/AreaSelectingView2D.java
diff -u fenfire/org/fenfire/view/AreaSelectingView2D.java:1.7 
fenfire/org/fenfire/view/AreaSelectingView2D.java:1.8
--- fenfire/org/fenfire/view/AreaSelectingView2D.java:1.7       Thu Jul  3 
10:02:28 2003
+++ fenfire/org/fenfire/view/AreaSelectingView2D.java   Mon Jul  7 02:00:52 2003
@@ -7,9 +7,9 @@
 
 /** View2D to draw the selecting area 
  */
-public class AreaSelectingView2D extends View2D {
+public class AreaSelectingView2D extends View2D implements FastView {
     public static boolean dbg = false;
-    private static void pa(String s) { 
System.out.println("AreaSelectingView2D:: "+s); }
+    private static void p(String s) { 
System.out.println("AreaSelectingView2D:: "+s); }
 
     public View2D getChildView2D() { return child; }
     protected View2D child;
@@ -41,6 +41,8 @@
         pq = GLRen.createFixedPaperQuad(paper, 0, 0, 1, 1, 0, 10, 10, 10);
     }
 
+    int cs = -1;
+
     public void render(VobScene vs, Object plane,
                        int matchingParent,
                        int box2screen, int box2paper) {
@@ -54,9 +56,14 @@
        int paper2box = vs.invertCS(box2paper, "areaselectview_INv");
        int paper2screen = vs.concatCS(box2screen, "areaselectview_conc",
                                    paper2box);
-       int cs = vs.orthoCS(paper2screen, "selection", 0, x0,y0,x1-x0,y1-y0);
+       cs = vs.orthoCS(paper2screen, "selection", 0, 1,2,3,4);
+       chgFast(vs);
         vs.put(pq, cs);
 
+    }
+
+    public void chgFast(VobScene oldVS) {
+       oldVS.coords.setOrthoParams(cs, 0,  x0,y0,x1-x0,y1-y0);
     }
         
         
Index: fenfire/org/fenfire/view/PageSpanLayout.java
diff -u fenfire/org/fenfire/view/PageSpanLayout.java:1.14 
fenfire/org/fenfire/view/PageSpanLayout.java:1.15
--- fenfire/org/fenfire/view/PageSpanLayout.java:1.14   Thu Jun 26 04:53:36 2003
+++ fenfire/org/fenfire/view/PageSpanLayout.java        Mon Jul  7 02:00:52 2003
@@ -219,6 +219,10 @@
        place(vs, scaled);
     }
 
+    Enfilade1D getSelection(float x0, float y0, float x1, float y1) {
+
+       return null;
+    }
 
 }
 




reply via email to

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