[Top][All Lists]
[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;
+ }
}