[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire ./TODO-loom org/fenfire/loom/Cursor.jav...
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] fenfire ./TODO-loom org/fenfire/loom/Cursor.jav... |
Date: |
Wed, 05 Mar 2003 12:12:40 -0500 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Benja Fallenstein <address@hidden> 03/03/05 12:12:40
Modified files:
. : TODO-loom
org/fenfire/loom: Cursor.java Cursor.test Loom.java
Log message:
Fix selection (equal nodes aren't both colored red when one's selected)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/TODO-loom.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Cursor.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Cursor.test.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Loom.java.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
Patches:
Index: fenfire/TODO-loom
diff -u fenfire/TODO-loom:1.18 fenfire/TODO-loom:1.19
--- fenfire/TODO-loom:1.18 Wed Mar 5 11:50:07 2003
+++ fenfire/TODO-loom Wed Mar 5 12:12:40 2003
@@ -6,6 +6,8 @@
soon:
+ - factor almost everything from Loom.java
+ out into tested code
- README documenting how to get things to run from CVS
- draw UML diagrams similar to Gzz "Core APIs"
- doc test system
@@ -23,6 +25,7 @@
- better colours
- views proportional to window size
+ - clip instead of truncate text
- allow specifying namespaces (as in RDF/XML) and display
URIs using those namespaces-- i.e., rdf:type instead of
@@ -38,6 +41,7 @@
+ Optional node view showing Resources as green ovals
(no border) and Literals as yellow rectangles (no border).
This convention is used e.g. by the RDF specs.
+ + Copy URI / copy literal text to clipboard
later:
Index: fenfire/org/fenfire/loom/Cursor.java
diff -u fenfire/org/fenfire/loom/Cursor.java:1.4
fenfire/org/fenfire/loom/Cursor.java:1.5
--- fenfire/org/fenfire/loom/Cursor.java:1.4 Tue Mar 4 07:28:39 2003
+++ fenfire/org/fenfire/loom/Cursor.java Wed Mar 5 12:12:40 2003
@@ -170,15 +170,7 @@
return abs;
}
- /** Get the selected node in the given direction.
- * getRotationNode(1) is the node we go to if
- * we hit 'Right.' getRotationNode(-1) is the node
- * we go to if we hit 'Left.' getRotationNode(0)
- * is the focused node.
- */
- public RDFNode getRotationNode(int dir) {
- if(dir == 0)
- return focus;
+ protected Statement getRotationStmt(int dir) {
Iterator iter = getConnections(dir).iterator();
int n = getRotationIndex(dir);
if(n < 0)
@@ -189,8 +181,36 @@
// nothing there
return null;
- Statement stmt = (Statement)iter.next();
+ return (Statement)iter.next();
+ }
+
+ /** Get the selected node in the given direction.
+ * getRotationNode(1) is the node we go to if
+ * we hit 'Right.' getRotationNode(-1) is the node
+ * we go to if we hit 'Left.' getRotationNode(0)
+ * is the focused node.
+ */
+ public RDFNode getRotationNode(int dir) {
+ if(dir == 0)
+ return focus;
+
+ Statement stmt = getRotationStmt(dir);
+ if(stmt == null) return null;
return (dir<0) ? stmt.getSubject() : stmt.getObject();
+ }
+
+ public NodeView.Nodespec getRotationNodespec(int dir) {
+ if(dir == 0)
+ return new NodeView.Nodespec(focus);
+
+ Statement stmt = getRotationStmt(dir);
+ if(stmt == null) return null;
+ if(dir < 0)
+ return new NodeView.Nodespec(stmt.getSubject(),
+ stmt.getPredicate(), -1);
+ else
+ return new NodeView.Nodespec(stmt.getObject(),
+ stmt.getPredicate(), 1);
}
/** Move left/right. XXX
Index: fenfire/org/fenfire/loom/Cursor.test
diff -u fenfire/org/fenfire/loom/Cursor.test:1.5
fenfire/org/fenfire/loom/Cursor.test:1.6
--- fenfire/org/fenfire/loom/Cursor.test:1.5 Tue Mar 4 07:28:39 2003
+++ fenfire/org/fenfire/loom/Cursor.test Wed Mar 5 12:12:40 2003
@@ -261,12 +261,34 @@
assert c.getRotationNode(0) == n[2]
assert c.getRotationNode(1) == n[6]
+ s = c.getRotationNodespec(-1)
+ assert (s.node, s.prop, s.dir) == (n[1], p, -1)
+ s = c.getRotationNodespec(0)
+ assert (s.node, s.prop, s.dir) == (n[2], None, 0)
+ s = c.getRotationNodespec(1)
+ assert (s.node, s.prop, s.dir) == (n[6], p, 1)
+
c.rotation = 3
assert c.getRotationNode(-1) == None
assert c.getRotationNode(0) == n[2]
assert c.getRotationNode(1) == n[9]
+ assert c.getRotationNodespec(-1) is None
+
+ s = c.getRotationNodespec(0)
+ assert (s.node, s.prop, s.dir) == (n[2], None, 0)
+ s = c.getRotationNodespec(1)
+ assert (s.node, s.prop, s.dir) == (n[9], p, 1)
+
c.rotation = -2
assert c.getRotationNode(-1) == None
assert c.getRotationNode(0) == n[2]
assert c.getRotationNode(1) == n[4]
+
+ assert c.getRotationNodespec(-1) is None
+
+ s = c.getRotationNodespec(0)
+ assert (s.node, s.prop, s.dir) == (n[2], None, 0)
+ s = c.getRotationNodespec(1)
+ assert (s.node, s.prop, s.dir) == (n[4], p, 1)
+
Index: fenfire/org/fenfire/loom/Loom.java
diff -u fenfire/org/fenfire/loom/Loom.java:1.10
fenfire/org/fenfire/loom/Loom.java:1.11
--- fenfire/org/fenfire/loom/Loom.java:1.10 Wed Mar 5 11:41:52 2003
+++ fenfire/org/fenfire/loom/Loom.java Wed Mar 5 12:12:40 2003
@@ -118,7 +118,7 @@
int dir = spec.dir;
RectBgVob bg = new RectBgVob();
- if(node.equals(cursor.getRotationNode(dir))) // if selected
+ if(spec.equals(cursor.getRotationNodespec(dir))) // if
selected
bg.addColor(Color.red);
if(!(node instanceof Resource)) // if literal
bg.addColor(Color.yellow);