gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire swamp/CachedNodeFunction.ja...


From: Matti Katila
Subject: [Gzz-commits] fenfire/org/fenfire swamp/CachedNodeFunction.ja...
Date: Tue, 13 May 2003 18:08:57 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Matti Katila <address@hidden>   03/05/13 18:08:57

Modified files:
        org/fenfire/swamp: CachedNodeFunction.java 
        org/fenfire/view: FenPDFContext.java RSTText.java 
        org/fenfire/view/buoy: AbstractMainNode2D.java 
Added files:
        org/fenfire/view/lava: TextHandler.java 

Log message:
        clicking a note accurses it by reddishing.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/CachedNodeFunction.java.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/FenPDFContext.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/RSTText.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/TextHandler.java?rev=1.1

Patches:
Index: fenfire/org/fenfire/swamp/CachedNodeFunction.java
diff -u fenfire/org/fenfire/swamp/CachedNodeFunction.java:1.5 
fenfire/org/fenfire/swamp/CachedNodeFunction.java:1.6
--- fenfire/org/fenfire/swamp/CachedNodeFunction.java:1.5       Sun Apr 27 
07:40:27 2003
+++ fenfire/org/fenfire/swamp/CachedNodeFunction.java   Tue May 13 18:08:57 2003
@@ -78,4 +78,24 @@
        return cac.value;
     }
 
+
+    // AAaarrgghh, tried to find a few hours to how to set nodes dirty
+    // mudyc, XXX
+    public void makeAllDirty(Object node) {
+       CacheEntry cac = (CacheEntry)cache.get(node);
+       if(cac == null) {
+           cac = new CacheEntry();
+           cac.node = node;
+           cache.put(node, cac);
+       }
+
+       Iterator it = cache.entrySet().iterator();
+       while(it.hasNext()) {
+           Map.Entry entry = (Map.Entry) it.next();
+           Object o = cache.get(entry.getKey());
+           CacheEntry ce = (CacheEntry)o;
+           ce.value = DIRTY;
+           cache.put(ce.node, ce);
+       }
+    }
 }
Index: fenfire/org/fenfire/view/FenPDFContext.java
diff -u fenfire/org/fenfire/view/FenPDFContext.java:1.4 
fenfire/org/fenfire/view/FenPDFContext.java:1.5
--- fenfire/org/fenfire/view/FenPDFContext.java:1.4     Mon May 12 23:14:24 2003
+++ fenfire/org/fenfire/view/FenPDFContext.java Tue May 13 18:08:57 2003
@@ -1,6 +1,7 @@
 // (c): Matti J. Katila
 
 package org.fenfire.view;
+import org.fenfire.view.lava.*;
 import org.fenfire.swamp.*;
 import org.fenfire.modules.pp.*;
 import org.fenfire.*;
@@ -38,7 +39,19 @@
     public void setCursorOffset(int offset) { cursorOffset = offset; }
 
     private Object accursed = null;
-    public void setAccursed(Object node) { accursed=node; }
+    public void setAccursed(Object node) { 
+       accursed=node; 
+
+       ((CachedNodeFunction)nodef).makeAllDirty(accursed);
+    }
+
+
+    public void isToBePlaced(Object node, TextHandler text) {
+       p("n"+node+" == "+accursed);
+       if (node==accursed)
+           text.setColor(java.awt.Color.red);
+       else text.setColor(java.awt.Color.black);
+    }
 
     
     private Object rstNode;
Index: fenfire/org/fenfire/view/RSTText.java
diff -u fenfire/org/fenfire/view/RSTText.java:1.1 
fenfire/org/fenfire/view/RSTText.java:1.2
--- fenfire/org/fenfire/view/RSTText.java:1.1   Wed May  7 00:08:05 2003
+++ fenfire/org/fenfire/view/RSTText.java       Tue May 13 18:08:57 2003
@@ -26,20 +26,23 @@
  * Written by Benja Fallenstein and Matti J. Katila
  */
 package org.fenfire.view;
+import org.fenfire.view.lava.*;
 import org.fenfire.swamp.*;
 import org.nongnu.alph.*;
 import org.nongnu.libvob.*;
+import org.nongnu.libvob.util.*;
 import org.nongnu.libvob.vobs.*;
 
 /** A node function returning a vob that shows
  *  the given node as text.
  */
-public class RSTText implements NodeFunction {
+public class RSTText extends TextHandler implements NodeFunction {
+    private void p(String s) { System.out.println("RSTText:: "+s); }
 
     final NodeFunction nodeContent;
     final TextStyle style;
     final float scale;
-    FenPDFContext context = null;
+    private FenPDFContext context = null;
 
     public void setContext(FenPDFContext context) {
        this.context = context;
@@ -56,11 +59,15 @@
     public Object f(ConstGraph g, Object node) {
        if (context == null) throw new Error("No context set");
 
+       context.isToBePlaced(node, this);
+       p("placed");
+
        Enfilade1D enf = (Enfilade1D)nodeContent.f(g, node);
        
        final Object objNode = node;
        String s = enf.makeString();
-       final TextVob vob = new TextVob(style, s, false);
+       final TextVob vob = new TextVob(style, s, false, 
+                                       "Color " + 
ColorUtil.colorGLString(color));
        final float width = style.getWidth(s, scale);
        final float height = style.getHeight(scale);
 
Index: fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java
diff -u fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.6 
fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.7
--- fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.6   Tue May 13 
15:52:08 2003
+++ fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java       Tue May 13 
18:08:57 2003
@@ -148,18 +148,20 @@
           e.getID() == MouseEvent.MOUSE_CLICKED){
 
            View2D view = getView2D();
-           p("v1: "+view);
            while (view.getChildView2D() != null) 
                view = view.getChildView2D();
-           p("v2: "+view);
 
+           // currently only for canvas2d canvases
            if (view instanceof CanvasView2D) {
            
                Object obj = ((CanvasView2D)view).getNode(oldVobScene, 
e.getX(), e.getY(), 
                                                 plane, box2screen, box2screen,
                                                 box2paper, null);
-               
-               p("Object is: "+ obj.toString() + " TADAA!!");
+               if (obj != null) {
+                   p("Object is: "+ obj.toString() + " TADAA!!");
+                   context.setAccursed(obj);
+                   AbstractUpdateManager.chg();
+               }
            }
            else p("not a canvas view?");
 




reply via email to

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