gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire modules/pp/PPCanvasCursor.j...


From: Matti Katila
Subject: [Gzz-commits] fenfire/org/fenfire modules/pp/PPCanvasCursor.j...
Date: Wed, 09 Apr 2003 18:25:06 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Matti Katila <address@hidden>   03/04/09 18:25:06

Modified files:
        org/fenfire/modules/pp: PPCanvasCursor.java PPCanvasNode.java 
                                Pp.java 
        org/fenfire/view: SpatialPlane.java 

Log message:
        much better

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasCursor.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasNode.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/Pp.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/SpatialPlane.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/modules/pp/PPCanvasCursor.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.9 
fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.10
--- fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.9      Wed Apr  9 
07:49:05 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasCursor.java  Wed Apr  9 18:25:05 2003
@@ -5,7 +5,7 @@
 import org.fenfire.view.buoy.*;
 import org.fenfire.util.*;
 import org.fenfire.*;
-import org.fenfire.vocab.PP;
+import org.fenfire.vocab.*;
 import org.nongnu.libvob.*;
 import org.nongnu.libvob.gl.*;
 import org.nongnu.libvob.impl.*;
@@ -23,7 +23,7 @@
 /** XXX
  */
 public class PPCanvasCursor implements BuoyViewMainNode {
-private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.9 2003/04/09 
11:49:05 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.10 
2003/04/09 22:25:05 mudyc Exp $";  
     public static boolean dbg = false;
     private static void pa(String s) { 
System.out.println("PPCanvasCursor::"+s); }
 
@@ -96,39 +96,28 @@
 
 
 
-
-
-    private RDFNode node;
     private NodePlacementHook hook;
     private GraphicsAPI.Window window;
     private Space space;
     private NodeView nodeview;
-    public PPCanvasCursor(RDFNode node,
-                         NodePlacementHook hook, 
+    private Pp.Context context;
+    public PPCanvasCursor(NodePlacementHook hook, 
                          GraphicsAPI.Window w, 
-                         Space space, NodeView nv) {
-       this.node = node;
+                         Space space, NodeView nv,
+                         Pp.Context context) 
+    {
        this.hook = hook;
        this.window = w;
        this.space = space;
        this.nodeview = nv;
+       this.context = context;
 
-       /*
-       SimpleVStreamTexter sct = (SimpleVStreamTexter)space.getNodeTexter();
-       Enfilade1DImpl enf = (Enfilade1DImpl)sct.getEnfilade(c, null);
-       java.util.List enfList= enf.getList();
-       Span1D span = (Span1D) enfList.get(0);
-       NodeView cv;
-       if (span instanceof TextSpan)
-           cv = new TextNodeContentView();
-       else
-           cv = new PageSpanNodeView();
+       // center to the associated note/image/whatever..
+       RDFNode node = context.getAccursed();
         float [] bs = new float[3];
-       cv.getSize(c, ((ViewContext)new AbstractViewContext()), bs);
-       panx = bs[0]/2;
-       pany = bs[1]/2;
-       */
-
+       nodeview.getSize(node, bs);
+       panx = ShortRDF.getInt(space.getModel(), node, SPATIAL.coordX) + 
bs[0]/2;
+       pany = ShortRDF.getInt(space.getModel(), node, SPATIAL.coordY) + 
bs[1]/2;
     }
 
 
@@ -146,13 +135,7 @@
 
     private int c2fCS = -1;
     public void renderMain(VobScene vs, int into) {
-       /*
-         c2fCS = vs.coords.ortho(0, 0,0,0, 10,10);
-         int c2fCSInv = vs.coords.ortho(0, 0,0,0, 10,10);
-         vs.matcher.add(into, c2fCS, "C2F");
-         vs.matcher.add(into, c2fCSInv, "C2FINV");
-       */
-
+       RDFNode node = context.getAccursed();
        if (GraphicsAPI.getInstance() instanceof GLAPI) {
            c2fCS = vs.orthoCS(into, "C2F",0,0,0, 10,10);
            int c2fCSInv = vs.orthoCS(into, "C2FINV",0,0,0, 10,10);
@@ -174,33 +157,58 @@
        }
     }
 
-    public void keystroke(String s) {
-       pa("Key occured: "+s); 
-    }
+    public void keystroke(String s) 
+    { try {
+       pa("Key occured: '"+s+"'"); 
+
+
+       if (s.length() == 1) {
+           PPActions ppact = context.getPPActions();
+           String paper = context.getCurrentPaper();
+
+           ppact.newNote(paper, (int)panx, (int)pany, s);
+
+           AbstractUpdateManager.setNoAnimation();
+           AbstractUpdateManager.chg();
+       }
+       
+    }catch (java.rmi.RemoteException e) {
+       pa("RemoteException: "+e);
+    }}
 
     // Mouse press state
     // x, y, buttons
     private int [] m_state = null;
     private float m_state_zoom = -1;
+    private float pan[] = new float[2];
     public boolean mouse(MouseEvent e, VobScene oldVobScene) {
        if (e.getID() == MouseEvent.MOUSE_PRESSED) {
            m_state = new int[]{ e.getX(), e.getY(), e.getModifiers()};
            m_state_zoom = zoom;
+           pan[0] = panx; pan[1] = pany;
            return false;
        }
        if (m_state == null) throw new Error("Mouse state not found!");
 
-
+       // let's zoom!!
        if (m_state[2] == e.BUTTON3_MASK) {
-           
-           // let's zoom!!
            zoom = m_state_zoom * (float) 
                Math.exp((m_state[1] - e.getY())/150.0);
            return true;
        }
 
-
-
+       // Move by dragging with button 1
+       if (m_state[2] == e.BUTTON1_MASK && e.getID() == 
MouseEvent.MOUSE_DRAGGED) {
+           if (GraphicsAPI.getInstance() instanceof GLAPI) {
+               ;
+           } else {
+               panx = pan[0] - (m_state[0] - e.getX())/zoom;
+               pany = pan[1] - (m_state[1] - e.getY())/zoom;
+           }
+           return true;
+       }
+       
+       // Move around by clicking
        if (m_state[2] == e.BUTTON1_MASK && e.getID() == 
MouseEvent.MOUSE_CLICKED){
 
            float[] pt = new float[] { e.getX(), e.getY(), 0 };
@@ -236,15 +244,6 @@
                // XXX current = current.h(d.contains);   
                AbstractUpdateManager.chg();
            }
-           return false;
-       }
-
-       if (m_state[2] == e.BUTTON3_MASK) {
-           zoom = m_state_zoom * (float) 
-               Math.exp((m_state[0] - e.getY())/150.0);
-
-           pa("Zoom: " + zoom);
-           AbstractUpdateManager.chg();
            return false;
        }
 
Index: fenfire/org/fenfire/modules/pp/PPCanvasNode.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.9 
fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.10
--- fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.9        Wed Apr  9 
07:49:06 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasNode.java    Wed Apr  9 18:25:05 2003
@@ -21,17 +21,20 @@
 import com.hp.hpl.mesa.rdf.jena.vocabulary.*;
 
 public class PPCanvasNode implements NodeBuoyViewNodeType {
-private static final String rcsid = "$Id: PPCanvasNode.java,v 1.9 2003/04/09 
11:49:06 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasNode.java,v 1.10 2003/04/09 
22:25:05 mudyc Exp $";  
     public static boolean dbg = false;
     private static void pa(String s) { System.out.println("PPCanvasNode::"+s); 
}
 
     private Space space;
     private GraphicsAPI.Window win;
     private NodeView nodeview;
-    public PPCanvasNode(Space s, GraphicsAPI.Window w, NodeView nodeview) {
+    private Pp.Context context;
+    public PPCanvasNode(Space s, GraphicsAPI.Window w, 
+                       NodeView nodeview, Pp.Context context) {
        this.space = s;
        this.win = w;
        this.nodeview = nodeview;
+       this.context = context;
     }
     
     /** The zoom to be used for the buoys.
@@ -123,7 +126,8 @@
     }
 
     public BuoyViewMainNode createMainNode(RDFNode node, Object content, 
NodePlacementHook hook) {
-       return new PPCanvasCursor(node, hook, win, space, nodeview);
+       context.setAccursed(node);
+       return new PPCanvasCursor(hook, win, space, nodeview, context);
     }
 
 
Index: fenfire/org/fenfire/modules/pp/Pp.java
diff -u fenfire/org/fenfire/modules/pp/Pp.java:1.9 
fenfire/org/fenfire/modules/pp/Pp.java:1.10
--- fenfire/org/fenfire/modules/pp/Pp.java:1.9  Wed Apr  9 10:05:42 2003
+++ fenfire/org/fenfire/modules/pp/Pp.java      Wed Apr  9 18:25:05 2003
@@ -6,6 +6,7 @@
 import org.fenfire.util.*;
 import org.fenfire.view.*;
 import org.fenfire.view.buoy.*;
+import org.fenfire.vocab.*;
 
 import org.nongnu.libvob.*;
 import org.nongnu.libvob.impl.*;
@@ -28,7 +29,7 @@
 
 
 public class Pp implements BuoyLinkListener {
-public static final String rcsid = "$Id: Pp.java,v 1.9 2003/04/09 14:05:42 
mudyc Exp $";
+public static final String rcsid = "$Id: Pp.java,v 1.10 2003/04/09 22:25:05 
mudyc Exp $";
     public static final boolean dbg = true;
     protected static void p(String s) { if(dbg) pa(s); }
     protected static void pa(String s) { System.out.println("Pp::"+s); }
@@ -97,7 +98,7 @@
                    nodeview = new DefaultNodeView(space);
 
                    adaptor.nodes = new NodeBuoyViewNodeType[]{
-                       new PPCanvasNode(space, scr.window, nodeview)};
+                       new PPCanvasNode(space, scr.window, nodeview, new 
Pp.Context())};
                    adaptor.nodeLinkers = new BuoyNodeViewLinker[]{
                        new PPLinker(space)};
 
@@ -123,8 +124,9 @@
            Screen screen;
            
            public void keystroke(String s) {
-               pa("Keystroke: "+s);
-               AbstractUpdateManager.chg();
+               if (s.equals("Ctrl-Q")) System.exit(12765);
+
+               focus.keystroke(s);
            }
            public void mouse(MouseEvent m) {
                VobScene vs = screen.getVobSceneForEvents();
@@ -164,9 +166,22 @@
     // --------------------------------------------------
     // WievContext
 
-    public class PPView implements NodeView.Context {
+    public class Context implements NodeView.Context {
        public void nodeIsToBePlaced(RDFNode node, NodeView nv) {
+           pa("view context is not implemented");
            // do nothing
+       }
+
+       public RDFNode getAccursed() { return accursed; }
+       public void setAccursed(RDFNode node) { accursed = node; }
+
+       public PPActions getPPActions() { return ppAct; }
+       public String getCurrentPaper() {
+           RDFNode paper = getAccursed();
+           if (ShortRDF.isNodeType(space.getModel(), getAccursed(), 
PP.noteType)) {
+               paper = ShortRDF.getSubj(space.getModel(), getAccursed(), 
PP.contains);
+           }
+           return paper.toString();
        }
     }
 
Index: fenfire/org/fenfire/view/SpatialPlane.java
diff -u fenfire/org/fenfire/view/SpatialPlane.java:1.8 
fenfire/org/fenfire/view/SpatialPlane.java:1.9
--- fenfire/org/fenfire/view/SpatialPlane.java:1.8      Tue Apr  8 20:56:51 2003
+++ fenfire/org/fenfire/view/SpatialPlane.java  Wed Apr  9 18:25:05 2003
@@ -26,7 +26,7 @@
  */
 
 public class SpatialPlane {
-public static final String rcsid = "$Id: SpatialPlane.java,v 1.8 2003/04/09 
00:56:51 mudyc Exp $";
+public static final String rcsid = "$Id: SpatialPlane.java,v 1.9 2003/04/09 
22:25:05 mudyc Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.out.println("SpatialPlane::"+s); 
}
 
@@ -65,6 +65,8 @@
        float[] pt = vs.coords.transformPoints3(into, new float[3], null);
        pt[0] += size[0]/2;
        pt[1] += size[1]/2;
+       if (size[0] < 10 || size[1] <10) return;
+
        
        float[] pan = new float[]{1,1};
        vs.coords.getSqSize(geom, pan);
@@ -87,8 +89,8 @@
            nodeview.getSize(n, bs, zoom);
            Pair matchKey = new Pair(container, n);
            int box = vs.orthoCS(0, matchKey, pt[2]-.5f, 
-                                pt[0] + (pan[0] - coords[0] - bs[0]) * zoom,
-                                pt[1] + (pan[1] - coords[1] - bs[1]) * zoom,
+                                pt[0] + (pan[0] - coords[0])*zoom - bs[0],
+                                pt[1] + (pan[1] - coords[1])*zoom - bs[1],
                                 bs[0], bs[1]);
            nodeview.place(n, vs, box);
            




reply via email to

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