gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/lava gzz/loom/Cursor.java gzz/loom/Loom.jav...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/lava gzz/loom/Cursor.java gzz/loom/Loom.jav...
Date: Sun, 23 Feb 2003 11:50:27 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      03/02/23 11:50:27

Modified files:
        lava/gzz/loom  : Cursor.java Loom.java SimpleView.java 
        lava/test/gzz/loom: Cursor.test SimpleView.test 

Log message:
        moving left and right (first draft)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/loom/Cursor.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/loom/Loom.java.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/loom/SimpleView.java.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/test/gzz/loom/Cursor.test.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/test/gzz/loom/SimpleView.test.diff?tr1=1.12&tr2=1.13&r1=text&r2=text

Patches:
Index: gzz/lava/gzz/loom/Cursor.java
diff -u gzz/lava/gzz/loom/Cursor.java:1.3 gzz/lava/gzz/loom/Cursor.java:1.4
--- gzz/lava/gzz/loom/Cursor.java:1.3   Sun Feb 23 10:17:36 2003
+++ gzz/lava/gzz/loom/Cursor.java       Sun Feb 23 11:50:27 2003
@@ -74,6 +74,23 @@
        }
     }
 
+    public SortedSet getNegwardConnections() {
+       try {
+           SortedSet nodes = new TreeSet(order);
+           StmtIterator i = focus.getModel().listStatements();
+           for(; i.hasNext();) {
+               Statement stmt = i.next();
+               if(stmt.getObject().equals(focus)) 
+                   nodes.add(stmt.getSubject());                   
+           }
+           i.close();
+
+           return nodes;
+       } catch(RDFException e) {
+           throw new Error("RDFException: "+e);
+       }
+    }
+
     /** Rotate the view up or down.
      *  This moves the rotation of the cursor one step up or down. XXX
      */
@@ -89,6 +106,22 @@
            if(!i.hasNext()) return; i.next();
            if(!i.hasNext()) return;
            rotation = (RDFNode)i.next();
+       }
+    }
+
+    /** Move left/right. XXX
+     */ 
+    public void move(int dir) {
+       if(dir < 0) {
+           rotation = focus;
+           focus = (Resource)getNegwardConnections().first();
+       } else {
+           focus = (Resource)rotation;
+           try {
+               rotation = (RDFNode)getPoswardConnections().first();
+           } catch(NoSuchElementException _) {
+               rotation = null;
+           }
        }
     }
 }
Index: gzz/lava/gzz/loom/Loom.java
diff -u gzz/lava/gzz/loom/Loom.java:1.5 gzz/lava/gzz/loom/Loom.java:1.6
--- gzz/lava/gzz/loom/Loom.java:1.5     Sun Feb 23 10:23:15 2003
+++ gzz/lava/gzz/loom/Loom.java Sun Feb 23 11:50:27 2003
@@ -92,6 +92,10 @@
                        cursor.rotate(-1);
                    else if(s.equals("Down"))
                        cursor.rotate(1);
+                   else if(s.equals("Left"))
+                       cursor.move(-1);
+                   else if(s.equals("Right"))
+                       cursor.move(1);
 
                    AbstractUpdateManager.chg();
                }
Index: gzz/lava/gzz/loom/SimpleView.java
diff -u gzz/lava/gzz/loom/SimpleView.java:1.18 
gzz/lava/gzz/loom/SimpleView.java:1.19
--- gzz/lava/gzz/loom/SimpleView.java:1.18      Sun Feb 23 10:56:03 2003
+++ gzz/lava/gzz/loom/SimpleView.java   Sun Feb 23 11:50:27 2003
@@ -60,7 +60,12 @@
        nodeView.render(sc, cs, c.focus);
        
        SortedSet nodes = c.getPoswardConnections();
-       int before = nodes.headSet(c.rotation).size();
+       int before;
+
+       if(c.rotation != null)
+           before = nodes.headSet(c.rotation).size();
+       else
+           before = 0;
        
        int x = midx + 75, y = midy-10-before*50;
        
Index: gzz/lava/test/gzz/loom/Cursor.test
diff -u gzz/lava/test/gzz/loom/Cursor.test:1.1 
gzz/lava/test/gzz/loom/Cursor.test:1.2
--- gzz/lava/test/gzz/loom/Cursor.test:1.1      Sun Feb 23 10:17:36 2003
+++ gzz/lava/test/gzz/loom/Cursor.test  Sun Feb 23 11:50:27 2003
@@ -55,7 +55,7 @@
     assert list(c.getPoswardConnections()) == n[3:]
 
 
-def testRotate():
+def testRotateMove():
     c.set(n[2], n[5])
     c.rotate(1)
     assert c.focus == n[2] and c.rotation == n[6]
@@ -76,4 +76,13 @@
 
     c.set(n[2], n[3])
     c.rotate(-1)
+    assert c.focus == n[2] and c.rotation == n[3]
+
+    c.move(-1)
+    assert c.focus == n[1] and c.rotation == n[2]
+    c.move(-1)
+    assert c.focus == n[0] and c.rotation == n[1]
+    c.move(1)
+    assert c.focus == n[1] and c.rotation == n[2]
+    c.move(1)
     assert c.focus == n[2] and c.rotation == n[3]
Index: gzz/lava/test/gzz/loom/SimpleView.test
diff -u gzz/lava/test/gzz/loom/SimpleView.test:1.12 
gzz/lava/test/gzz/loom/SimpleView.test:1.13
--- gzz/lava/test/gzz/loom/SimpleView.test:1.12 Sun Feb 23 09:45:14 2003
+++ gzz/lava/test/gzz/loom/SimpleView.test      Sun Feb 23 11:50:27 2003
@@ -44,6 +44,26 @@
 
 view = gzz.loom.SimpleView(NodeView())
 
+def testNullRotation():
+    r.addProperty(p, s)
+    r.addProperty(p, t)
+
+    vs = getvs()
+    cursor = gzz.loom.Cursor(Cmp(), r, None)
+    view.render(vs, 0, cursor)
+
+    cs_r, cs_s, cs_t, cs_u, cs_v = [vs.matcher.getCS(0, x)
+                                    for x in (r,s,t,u,v)]
+
+    assert cs_u == cs_v == -1
+
+    pr, ps, pt = [vs.coords.transformPoint(cs, 0, 0, None)
+                  for cs in [cs_r, cs_s, cs_t]]
+
+    assert pr.y == pt.y < ps.y
+    assert ps.x == pt.x > pr.x
+    
+
 def testSimple():
     r.addProperty(p, s)
     r.addProperty(p, t)




reply via email to

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