[Top][All Lists]
[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)