gzz-commits
[Top][All Lists]
Advanced

[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);




reply via email to

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