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/Loom.java ...


From: Benja Fallenstein
Subject: [Gzz-commits] fenfire ./TODO-loom org/fenfire/loom/Loom.java ...
Date: Tue, 04 Mar 2003 10:48:16 -0500

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Benja Fallenstein <address@hidden>      03/03/04 10:48:15

Modified files:
        .              : TODO-loom 
        org/fenfire/loom: Loom.java SimpleView.java SimpleView.test 
                          WheelView.java WheelView.test 

Log message:
        first mouse support

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/TODO-loom.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Loom.java.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/SimpleView.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/SimpleView.test.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/WheelView.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/WheelView.test.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: fenfire/TODO-loom
diff -u fenfire/TODO-loom:1.12 fenfire/TODO-loom:1.13
--- fenfire/TODO-loom:1.12      Tue Mar  4 10:16:23 2003
+++ fenfire/TODO-loom   Tue Mar  4 10:48:15 2003
@@ -15,7 +15,9 @@
     - README documenting how you can use this so far
 
     - fix interpolation
-    - make mouse work
+    - make mouse work better-- figure out how
+      - currently clicking on literal rotates to it,
+        clicking on node makes it focus
 
     - better colours
     - views proportional to window size
Index: fenfire/org/fenfire/loom/Loom.java
diff -u fenfire/org/fenfire/loom/Loom.java:1.6 
fenfire/org/fenfire/loom/Loom.java:1.7
--- fenfire/org/fenfire/loom/Loom.java:1.6      Tue Mar  4 10:03:54 2003
+++ fenfire/org/fenfire/loom/Loom.java  Tue Mar  4 10:48:15 2003
@@ -148,6 +148,8 @@
                public void chg() {}
            };
        final Binder b = new Binder() {
+               Screen screen;
+
                public void keystroke(String s) {
                    System.out.println("Keystroke: "+s);
                    if(s.equals("Up"))
@@ -168,8 +170,23 @@
 
                    AbstractUpdateManager.chg();
                }
-               public void mouse(MouseEvent m) {}
-               public void setScreen(Screen s) {}
+               public void mouse(MouseEvent m) {
+                   if(m.getID() != m.MOUSE_CLICKED) return;
+
+                   VobScene vs = screen.getVobSceneForEvents();
+                   int cs = vs.coords.getCSAt(0, m.getX(), m.getY(),
+                                              null);
+                   if(cs < 0) return;
+                   Object key = vs.matcher.getKey(cs);
+                   if(key instanceof Resource) {
+                       cursor.set((Resource)key);
+                       AbstractUpdateManager.chg();
+                   } else if(key instanceof Literal) {
+                       cursor.set(cursor.focus, 1, (Literal)key);
+                       AbstractUpdateManager.chg();
+                   }
+               }
+               public void setScreen(Screen s) { this.screen = s; }
                public void timeout(Object id) {}
                public void windowClosed() {
                    System.exit(0);
Index: fenfire/org/fenfire/loom/SimpleView.java
diff -u fenfire/org/fenfire/loom/SimpleView.java:1.3 
fenfire/org/fenfire/loom/SimpleView.java:1.4
--- fenfire/org/fenfire/loom/SimpleView.java:1.3        Tue Mar  4 06:17:19 2003
+++ fenfire/org/fenfire/loom/SimpleView.java    Tue Mar  4 10:48:15 2003
@@ -61,6 +61,7 @@
        int midx = sc.size.width/2, midy = sc.size.height/2;
        int cs = sc.orthoBoxCS(into, c.focus, 0, midx-sizex/2, midy-sizey/2, 
                               1, 1, sizex, sizey);
+       sc.coords.activate(cs);
        nodeView.render(sc, cs, c.focus, null, 0);
        
        int before = c.getRotationIndex(1);
@@ -72,6 +73,7 @@
            Statement stmt = (Statement)j.next();
            RDFNode node = stmt.getObject();
            int cs2 = sc.orthoBoxCS(into, node, 0, x, y, 1, 1, sizex, sizey);
+           sc.coords.activate(cs2);
            nodeView.render(sc, cs2, node, stmt.getPredicate(), 1);
            sc.map.put(conn, cs, cs2);
            y += sizey + gapy;
@@ -85,6 +87,7 @@
            Statement stmt = (Statement)j.next();
            RDFNode node = stmt.getSubject();
            int cs2 = sc.orthoBoxCS(into, node, 0, x, y, 1, 1, sizex, sizey);
+           sc.coords.activate(cs2);
            nodeView.render(sc, cs2, node, stmt.getPredicate(), -1);
            sc.map.put(conn, cs2, cs);
            y += sizey + gapy;
Index: fenfire/org/fenfire/loom/SimpleView.test
diff -u fenfire/org/fenfire/loom/SimpleView.test:1.5 
fenfire/org/fenfire/loom/SimpleView.test:1.6
--- fenfire/org/fenfire/loom/SimpleView.test:1.5        Tue Mar  4 07:28:39 2003
+++ fenfire/org/fenfire/loom/SimpleView.test    Tue Mar  4 10:48:15 2003
@@ -55,6 +55,11 @@
         return [t,r,s,v,u,w].index(self.get(r1)) \
                - [t,r,s,v,u,w].index(self.get(r2))
 
+def isActivated(scene, cs):
+    pt = scene.coords.transformPoint(cs, 0, 0, None)
+    return scene.coords.getCSAt(0, pt.x, pt.y, None) == cs
+    
+
 def testNullRotation():
     r.addProperty(p, s)
     r.addProperty(p, t)
@@ -118,6 +123,11 @@
     # distances on both sides should be equal
     # this works only if all nodes are same size... XXX
     assert (ps.x - pr.x) == (pr.x - pw.x)
+
+    # Test that all node coordinate systems are activated
+    # (clickable).
+    for x in (cs_r, cs_s, cs_t, cs_u, cs_v, cs_w):
+        assert isActivated(vs, x)        
 
     # Test that SimpleView calls its NodeView
     # with all the correct parameters.
Index: fenfire/org/fenfire/loom/WheelView.java
diff -u fenfire/org/fenfire/loom/WheelView.java:1.3 
fenfire/org/fenfire/loom/WheelView.java:1.4
--- fenfire/org/fenfire/loom/WheelView.java:1.3 Tue Mar  4 06:17:19 2003
+++ fenfire/org/fenfire/loom/WheelView.java     Tue Mar  4 10:48:15 2003
@@ -65,6 +65,7 @@
        int midx = sc.size.width/2, midy = sc.size.height/2;
        int cs = sc.orthoBoxCS(into, c.focus, 0, midx-sizex/2, midy-sizey/2, 
                               1, 1, sizex, sizey);
+       sc.coords.activate(cs);
        nodeView.render(sc, cs, c.focus, null, 0);
        
        int totpos = c.getConnections(1).size();
@@ -89,6 +90,7 @@
                                    midx+x(cura, r)-sizex/2,
                                    midy+y(cura, r)-sizey/2,
                                    1, 1, sizex, sizey);
+           sc.coords.activate(cs2);
            nodeView.render(sc, cs2, node, stmt.getPredicate(), 1);
            sc.map.put(conn, cs, cs2);    
            cura+=rota;
@@ -105,6 +107,7 @@
                                    midx+x(cura, r)-sizex/2,
                                    midy+y(cura, r)-sizey/2,
                                    1, 1, sizex, sizey);
+           sc.coords.activate(cs2);
            nodeView.render(sc, cs2, node, stmt.getPredicate(), -1);
            sc.map.put(conn, cs2, cs);
            cura+=rota;
Index: fenfire/org/fenfire/loom/WheelView.test
diff -u fenfire/org/fenfire/loom/WheelView.test:1.5 
fenfire/org/fenfire/loom/WheelView.test:1.6
--- fenfire/org/fenfire/loom/WheelView.test:1.5 Tue Mar  4 07:28:39 2003
+++ fenfire/org/fenfire/loom/WheelView.test     Tue Mar  4 10:48:15 2003
@@ -88,6 +88,11 @@
     vs.coords.transformPoints3(cs, [0.0, 0.0, 0.0], tmp)
     return (tmp[2])
 
+def isActivated(scene, cs):
+    pt = scene.coords.transformPoint(cs, 0, 0, None)
+    return scene.coords.getCSAt(0, pt.x, pt.y, None) == cs
+    
+
 def testWheel():
     r.addProperty(p, s)
     r.addProperty(p, t)
@@ -137,6 +142,11 @@
     assert angle(pr, pu) == 2*math.pi/8*2
     assert angle(pr, pw) == math.pi
     assert angle(pr, pt) == 2*math.pi - angle(pr, pv)
+
+    # Test that all node coordinate systems are activated
+    # (clickable).
+    for x in (cs_r, cs_s, cs_t, cs_u, cs_v, cs_w):
+        assert isActivated(vs, x)        
 
     # Test that WheelView calls its NodeView
     # with all the correct parameters.




reply via email to

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