[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/...
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/... |
Date: |
Sat, 03 May 2003 09:35:15 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Benja Fallenstein <address@hidden> 03/05/03 09:35:15
Modified files:
org/fenfire/demo: buoyoing.py
org/fenfire/view/buoy: TransclusionConnector.java
Log message:
center transclusion on the correct place after clicking
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/TransclusionConnector.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.40
fenfire/org/fenfire/demo/buoyoing.py:1.41
--- fenfire/org/fenfire/demo/buoyoing.py:1.40 Sat May 3 09:19:57 2003
+++ fenfire/org/fenfire/demo/buoyoing.py Sat May 3 09:35:14 2003
@@ -140,7 +140,7 @@
ppconnector = ff.view.buoy.PPConnector(fen, irregu,
ff.view.buoy.MainNode2D.MainNode2DFactory(1),
nodeview)
-tconnector = ff.view.buoy.TransclusionConnector(fen)
+tconnector = ff.view.buoy.TransclusionConnector(fen, nodeview)
#pagescroll2d = ff.view.IrregularViewportView2D(
# ff.view.PaperView2D(vob.putil.demowindow.w,
Index: fenfire/org/fenfire/view/buoy/TransclusionConnector.java
diff -u fenfire/org/fenfire/view/buoy/TransclusionConnector.java:1.7
fenfire/org/fenfire/view/buoy/TransclusionConnector.java:1.8
--- fenfire/org/fenfire/view/buoy/TransclusionConnector.java:1.7 Fri May
2 20:57:00 2003
+++ fenfire/org/fenfire/view/buoy/TransclusionConnector.java Sat May 3
09:35:14 2003
@@ -5,6 +5,7 @@
import org.nongnu.libvob.*;
import org.nongnu.libvob.buoy.*;
import org.nongnu.libvob.impl.DefaultVobMatcher;
+import org.nongnu.libvob.lava.placeable.Placeable;
import org.nongnu.alph.*;
import org.fenfire.*;
import org.fenfire.swamp.*;
@@ -20,7 +21,7 @@
/** Hang transclusion buoys.
*/
public class TransclusionConnector implements BuoyViewConnector {
-public static final String rcsid = "$Id: TransclusionConnector.java,v 1.7
2003/05/03 00:57:00 mudyc Exp $";
+public static final String rcsid = "$Id: TransclusionConnector.java,v 1.8
2003/05/03 13:35:14 benja Exp $";
public static boolean dbg = false;
private static void pa(String s) {
System.out.println("TransclusionConnector:: "+s); }
@@ -30,28 +31,43 @@
public AbstractNodeType2D pageImageScrollNodeType;
public AbstractNodeType2D normalNodeNodeType;
+ protected NodeFunction nodeView;
+
// Function: node -> pair(scrollblock, rect)
private class SB4Node implements NodeFunction {
public Object f(ConstGraph g, Object node) {
Enfilade1D enf = (Enfilade1D)fen.txtfunc.f(g, node);
List l = enf.getList();
if(l.size() < 1) return null;
- Span sp = (Span)l.get(0);
- if (sp instanceof PageImageSpan) {
- return new Pair(sp.getScrollBlock(), new
Rectangle(0,0,300,300));
- } else {
+
+ PageImageSpan sp;
+ try {
+ sp = (PageImageSpan)l.get(0);
+ } catch(ClassCastException _) {
return null;
}
+
+ int x = sp.getLocation().x,
+ y = sp.getLocation().y,
+ w = sp.getSize().width,
+ h = sp.getSize().height;
+
+ PageScrollBlock b = (PageScrollBlock)sp.getScrollBlock();
+ for(int i=0; i<sp.getPageIndex(); i++)
+ x += b.getPage(i).getSize().width;
+
+ return new Pair(b, new Rectangle(x,y,w,h));
}
}
NodeFunction scrollBlockForNode ;
- public TransclusionConnector(Fen fen) {
+ public TransclusionConnector(Fen fen, NodeFunction nodeView) {
this.fen = fen;
this.scrollBlockForNode = new CachedNodeFunction(1000,
fen.constgraph, new SB4Node());
+ this.nodeView = nodeView;
}
public void addBuoys(VobScene vs, int parentCs,
@@ -120,11 +136,14 @@
}
}
+ public int dx = 30, dy = 30;
protected java.awt.Rectangle getRect(Object node) {
+ if (node == null) throw new Error("Impossible!");
int x = RDFUtil.getInt(fen, node, SPATIAL.coordX);
int y = RDFUtil.getInt(fen, node, SPATIAL.coordY);
- return new java.awt.Rectangle(x-20, y-20, 240, 140);
+ Placeable p = (Placeable)nodeView.f(fen.constgraph, node);
+ return new java.awt.Rectangle(x-dx, y-dy,
+ (int)p.getWidth()+dx+dx,
+ (int)p.getHeight()+dy+dy);
}
-
-
}
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/...,
Benja Fallenstein <=
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/15
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/19
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/19
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/23