[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire org/fenfire/modules/pp/BgVob.java org/f...
From: |
Matti Katila |
Subject: |
[Gzz-commits] fenfire org/fenfire/modules/pp/BgVob.java org/f... |
Date: |
Tue, 15 Apr 2003 10:15:13 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Matti Katila <address@hidden> 03/04/15 10:15:13
Modified files:
org/fenfire/modules/pp: BgVob.java PPActionsImpl.java
PPCanvasCursor.java PPCanvasNode.java
Pp.java SinglePaper.java
org/fenfire/util: RDFUtil.java
org/fenfire/view: DefaultNodeView.java NodeContent.java
NodePlacementHook.java NodeView.java
SpatialPlane.java
org/fenfire/view/buoy: BuoyAdaptor.java
NodeBuoyViewNodeType.java
org/fenfire/vocab: PP.java SPATIAL.java
Added files:
docs : SwampTutorial.rst
Removed files:
org/fenfire/util: ShortRDF.java ShortRDF.test
Log message:
s/RDFNode/Object/ etc.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/docs/SwampTutorial.rst?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/BgVob.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPActionsImpl.java.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasCursor.java.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasNode.java.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/Pp.java.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/SinglePaper.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/util/RDFUtil.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/DefaultNodeView.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/NodeContent.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/NodePlacementHook.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/NodeView.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/SpatialPlane.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/BuoyAdaptor.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/vocab/PP.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/vocab/SPATIAL.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/modules/pp/BgVob.java
diff -u fenfire/org/fenfire/modules/pp/BgVob.java:1.4
fenfire/org/fenfire/modules/pp/BgVob.java:1.5
--- fenfire/org/fenfire/modules/pp/BgVob.java:1.4 Mon Apr 14 08:18:55 2003
+++ fenfire/org/fenfire/modules/pp/BgVob.java Tue Apr 15 10:15:12 2003
@@ -35,15 +35,12 @@
import java.awt.*;
import java.util.*;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-
-
/** A vob that is the background paper.
* This vob stores the inside coordinates so clicks on it can be
* used to pan pretty easily.
*/
public class BgVob extends org.nongnu.libvob.AbstractVob {
-public static final String rcsid = "$Id: BgVob.java,v 1.4 2003/04/14 12:18:55
mudyc Exp $";
+public static final String rcsid = "$Id: BgVob.java,v 1.5 2003/04/15 14:15:12
mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("BgVob: "+s); }
@@ -52,10 +49,10 @@
// public Rectangle clip;
Color bgcolor;
- RDFNode papercode;
+ Object papercode;
GLRen.PaperQuad pq;
- public static BgVob create(RDFNode node, GraphicsAPI.Window w) {
+ public static BgVob create(Object node, GraphicsAPI.Window w) {
BgVob v = (BgVob)bgvobs.get(node);
if(v == null) {
v = new BgVob(node, w);
@@ -64,7 +61,7 @@
return v;
}
- public BgVob(RDFNode node, GraphicsAPI.Window w) {
+ public BgVob(Object node, GraphicsAPI.Window w) {
papercode = node;
pq = getPaperQuad(papercode, w);
}
@@ -91,7 +88,7 @@
}
- GLRen.PaperQuad getPaperQuad(RDFNode node, GraphicsAPI.Window win) {
+ GLRen.PaperQuad getPaperQuad(Object node, GraphicsAPI.Window win) {
Paper pap;
GLRen.PaperQuad pq;
pap = PaperMill.getInstance().getOptimizedPaper(node.hashCode(), win);
Index: fenfire/org/fenfire/modules/pp/PPActionsImpl.java
diff -u fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.13
fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.14
--- fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.13 Mon Mar 31
07:37:47 2003
+++ fenfire/org/fenfire/modules/pp/PPActionsImpl.java Tue Apr 15 10:15:12 2003
@@ -4,27 +4,25 @@
import org.fenfire.*;
import org.fenfire.vocab.*;
import org.fenfire.util.*;
+import org.fenfire.swamp.*;
import java.io.IOException;
import java.rmi.*;
import java.rmi.server.*;
-import com.hp.hpl.mesa.rdf.jena.vocabulary.RDF;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-import com.hp.hpl.mesa.rdf.jena.common.*;
/** The implementation of PPActions.
*/
public class PPActionsImpl extends UnicastRemoteObject implements PPActions {
-public static final String rcsid = "$Id: PPActionsImpl.java,v 1.13 2003/03/31
12:37:47 mudyc Exp $";
+public static final String rcsid = "$Id: PPActionsImpl.java,v 1.14 2003/04/15
14:15:12 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(s); }
- private Space space;
- public void setSpace(Space space) { this.space = space; }
+ private Fen fen = null;
+ public void setSwamp(Fen fen) { this.fen = fen; }
- public PPActionsImpl(Space space) throws RemoteException {
+ public PPActionsImpl(Fen fen) throws RemoteException {
super();
- setSpace(space);
+ setSwamp(fen);
}
@@ -32,22 +30,19 @@
// --- implement PPActions
//
public String newPaper() throws RemoteException
- { synchronized(space) { try {
-
- Resource paper = (Resource)ShortRDF.newNode(space.getModel(),
PP.paperType);
+ { synchronized(fen) {
+ Object paper = RDFUtil.N(fen, PP.Paper);
// set creation time
// XXX we need iso 8601 time presentation here
- paper.addProperty(PP.creationTime, "123");
-
+ Literal time = Nodes.getStringLiteral("123");
+ fen.graph.set1_11X(paper, PP.creationTime, time);
return paper.toString();
- } catch (RDFException e) {
- return "";
- }}}
+ }}
public void deletePaper(String paperURI) throws RemoteException
- { synchronized(space) {
+ { synchronized(fen) {
/*
// must delete all notes first
Cell paper = space.getCell(paperId).h(d.contains, -1);
@@ -69,39 +64,38 @@
public String newNote(String paperURI, int x, int y, String text)
throws RemoteException
- { synchronized(space) { try {
+ { synchronized(fen) {
// find the paper
- Resource paper = space.getModel().getResource(paperURI);
+ Object paper = Nodes.get(paperURI);
+ //fen.constgraph.find1_X11(RDF.type, PP.Paper);
+ // Resource paper = space.getModel().getResource(paperURI);
if (paper == null) {
pa("Paper is NULL!!");
return "";
}
// note doesn't exist so we need to make one
- Resource note = (Resource)space.N(text, paper, PP.contains);
- note.addProperty(RDF.type, PP.noteType);
+ Object note = RDFUtil.N(fen, PP.Note);
+
+ // and join note to paper
+ fen.graph.set1_11X(paper, PP.contains, note);
// set coords
- note.addProperty(SPATIAL.coordX, ""+x);
- note.addProperty(SPATIAL.coordY, ""+y);
+ fen.graph.set1_11X(note, SPATIAL.coordX, Nodes.getStringLiteral(""+x) );
+ fen.graph.set1_11X(note, SPATIAL.coordY, Nodes.getStringLiteral(""+y) );
// set depth...
- note.addProperty(PP.depth, "10");
+ fen.graph.set1_11X(note, PP.depth, Nodes.getStringLiteral("10") );
// scale etc.. XXX
-
return note.toString();
-
- } catch (RDFException e) {
- pa("Fault creating a new note: "+e);
- return "";
- }}}
+ }}
public void deleteNote(String noteURI)
throws RemoteException
- { synchronized(space) { try {
+ { synchronized(fen) {
/*
// MUST DELETE ALL ASSOCS FIRST
@@ -137,36 +131,30 @@
// not implemented
// ===============
- Resource note = space.getModel().getResource(noteURI);
-
- } catch (RDFException e) {
- pa("Fault deleting a note: "+e);
- }}}
+ }}
public void moveNote(String noteURI, int x, int y)
throws RemoteException
- { synchronized(space) { try {
+ { synchronized(fen) {
- Resource note = space.getModel().getResource(noteURI);
+ Object note = Nodes.get(noteURI);
if (note == null) return;
// delete all old coords
- ShortRDF.rmObj(space.getModel(), note, SPATIAL.coordX);
- ShortRDF.rmObj(space.getModel(), note, SPATIAL.coordY);
+ fen.graph.rm_11A(note, SPATIAL.coordX);
+ fen.graph.rm_11A(note, SPATIAL.coordY);
// set coords
- note.addProperty(SPATIAL.coordX, ""+x);
- note.addProperty(SPATIAL.coordX, ""+x);
- } catch (RDFException e) {
- pa("Fault moving note: "+e);
- }}}
+ fen.graph.set1_11X(note, SPATIAL.coordX, Nodes.getStringLiteral(""+x) );
+ fen.graph.set1_11X(note, SPATIAL.coordY, Nodes.getStringLiteral(""+y) );
+ }}
public void assocNotes(String noteURI, int side, String assocURI)
throws RemoteException
- { synchronized(space) { try {
- Resource note = space.getModel().getResource(noteURI);
- Resource assoc = space.getModel().getResource(assocURI);
+ { synchronized(fen) {
+ Object note = Nodes.get(noteURI);
+ Object assoc = Nodes.get(assocURI);
if (note == assoc) {
pa("link to itself???");
@@ -175,30 +163,28 @@
if (side < 0) {
// check if already associated
- if (((ModelCom)space.getModel()).contains(assoc, PP.association,
(RDFNode)note)) {
+ if (fen.constgraph.contains(assoc, PP.association, note)) {
pa("Already associated!");
return;
}
// assoc
- assoc.addProperty(PP.association, note);
+ fen.graph.set1_11X(assoc, PP.association, note);
} else {
// check if already associated
- if (((ModelCom)space.getModel()).contains(note, PP.association,
(RDFNode)assoc)) {
+ if (fen.constgraph.contains(note, PP.association, assoc)) {
pa("Already associated!");
return;
}
// assoc
- note.addProperty(PP.association, assoc);
+ fen.graph.set1_11X(note, PP.association, assoc);
}
- } catch (RDFException e) {
- pa("Fault associationing notes: "+e);
- }}}
+ }}
public void detachNotes(String id1, int side, String id2)
throws RemoteException
- { synchronized(space) {
+ { synchronized(fen) {
/*
Cell c1 = space.getCell(id1).h(d.clone);
@@ -227,7 +213,7 @@
public void insertText(String noteURI, int offs, String text)
throws RemoteException
- { synchronized(space) { //try {
+ { synchronized(fen) { //try {
/*
Cell note = space.getCell(noteId);
note.insertText(offs, text);
@@ -270,7 +256,7 @@
public void deleteText(String noteURI, int begin, int end)
throws RemoteException
- { synchronized(space) { // try {
+ { synchronized(fen) { // try {
/*
Cell note = space.getCell(noteId);
note.deleteText(begin, end);
Index: fenfire/org/fenfire/modules/pp/PPCanvasCursor.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.12
fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.13
--- fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.12 Tue Apr 15
05:48:16 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasCursor.java Tue Apr 15 10:15:12 2003
@@ -24,7 +24,7 @@
/** XXX
*/
public class PPCanvasCursor implements BuoyViewMainNode {
-private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.12
2003/04/15 09:48:16 mudyc Exp $";
+private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.13
2003/04/15 14:15:12 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) {
System.out.println("PPCanvasCursor::"+s); }
@@ -99,28 +99,28 @@
private NodePlacementHook hook;
private GraphicsAPI.Window window;
- private Space space;
+ private Fen fen;
private NodeView nodeview;
private Pp.Context context;
public PPCanvasCursor(NodePlacementHook hook,
GraphicsAPI.Window w,
- Space space, NodeView nv,
+ Fen fen, NodeView nv,
Pp.Context context)
{
this.hook = hook;
this.window = w;
- this.space = space;
+ this.fen = fen;
this.nodeview = nv;
this.context = context;
// center to the associated note/image/whatever..
- RDFNode node = context.getAccursed();
+ Object node = context.getAccursed();
- if (ShortRDF.isNodeType(space.getModel(), node, PP.noteType)) {
+ if (RDFUtil.isNodeType(fen, node, PP.Note)) {
float [] bs = new float[3];
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;
+ panx = RDFUtil.getInt(fen, node, SPATIAL.coordX) + bs[0]/2;
+ pany = RDFUtil.getInt(fen, node, SPATIAL.coordY) + bs[1]/2;
} else {
panx = 0;
pany = 0;
@@ -142,10 +142,10 @@
private int c2fCS = -1;
public void renderMain(VobScene vs, int into) {
- RDFNode node = context.getAccursed();
- RDFNode paper = node;
- if (ShortRDF.isNodeType(space.getModel(), node, PP.paperType)) {
- paper = ShortRDF.getObj(space.getModel(), node, PP.contains);
+ Object node = context.getAccursed();
+ Object paper = node;
+ if (RDFUtil.isNodeType(fen, node, PP.Paper)) {
+ paper = fen.constgraph.find1_X11(node, PP.contains);
// draw "cursor"
float[] size = new float[2];
@@ -167,14 +167,14 @@
int c2fCSInv = vs.orthoCS(into, "C2FINV",0,0,0, 10,10);
setZoomPan(vs, into);
- SinglePaper.i(space, node, window).render(vs, into, c2fCS,
c2fCSInv, hook);
+ SinglePaper.i(fen, node, window).render(vs, into, c2fCS, c2fCSInv,
hook);
} else {
int zo = (int)(zoom * 100000);
int geometry = vs.orthoBoxCS(into, "FocusGeometry",0, zo,0, 1,1,
panx, pany);
vs.map.put(new UniquePaperVob(paper.toString()), into, geometry);
- (new SpatialPlane(PP.noteType, PP.contains)).renderAWT(vs, into,
geometry,
- node,
nodeview, space.getModel(),hook);
+ (new SpatialPlane(PP.Note, PP.contains)).renderAWT(vs, into,
geometry,
+ node,
nodeview, fen ,hook);
}
}
Index: fenfire/org/fenfire/modules/pp/PPCanvasNode.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.10
fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.11
--- fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.10 Wed Apr 9
18:25:05 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasNode.java Tue Apr 15 10:15:12 2003
@@ -21,17 +21,17 @@
import com.hp.hpl.mesa.rdf.jena.vocabulary.*;
public class PPCanvasNode implements NodeBuoyViewNodeType {
-private static final String rcsid = "$Id: PPCanvasNode.java,v 1.10 2003/04/09
22:25:05 mudyc Exp $";
+private static final String rcsid = "$Id: PPCanvasNode.java,v 1.11 2003/04/15
14:15:12 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("PPCanvasNode::"+s);
}
- private Space space;
+ private Fen fen;
private GraphicsAPI.Window win;
private NodeView nodeview;
private Pp.Context context;
- public PPCanvasNode(Space s, GraphicsAPI.Window w,
+ public PPCanvasNode(Fen f, GraphicsAPI.Window w,
NodeView nodeview, Pp.Context context) {
- this.space = s;
+ this.fen = f;
this.win = w;
this.nodeview = nodeview;
this.context = context;
@@ -47,13 +47,13 @@
/** True if this view "owns" a certain node.
*/
- public boolean ownsNode(RDFNode node)
+ public boolean ownsNode(Object node)
{
// check if node is a note
- if (ShortRDF.isNodeType(space.getModel(), node, PP.noteType)) return
true;
+ if (RDFUtil.isNodeType(fen, node, PP.Note)) return true;
// or if node is a paper
- if (ShortRDF.isNodeType(space.getModel(), node, PP.paperType)) return
true;
+ if (RDFUtil.isNodeType(fen, node, PP.Paper)) return true;
// otherwise
return false;
@@ -64,7 +64,7 @@
* @return An object that, if passed to renderBuoy, may help
* performance a little.
*/
- public Object getSize(RDFNode node, Object content, float[] wh) {
+ public Object getSize(Object node, Object content, float[] wh) {
if (wh[0] > 0 && wh[1] > 0) {
wh[0] /= 6;
wh[1] /= 6;
@@ -84,7 +84,7 @@
* that the view should be centered on. Can be ignored.
* @return The coordinate system of the anchor
*/
- public int renderBuoy(VobScene vs, int into, RDFNode node, Object content,
+ public int renderBuoy(VobScene vs, int into, Object node, Object content,
Object cachedSize){
int[] pan = getCoords(node);
float [] bs = new float[2];
@@ -112,30 +112,30 @@
int zo = (int)(buoyZoom * 100000);
int geometry = vs.orthoBoxCS(into, "FocusGeometry",0, zo,0, 1,1,
pan[0], pan[1]);
- RDFNode paper = node;
- if (ShortRDF.isNodeType(space.getModel(), node, PP.noteType)) {
- paper = ShortRDF.getSubj(space.getModel(), node, PP.contains);
+ Object paper = node;
+ if (RDFUtil.isNodeType(fen, node, PP.Paper)) {
+ paper = fen.constgraph.find1_X11(node, PP.contains);
}
vs.map.put(new UniquePaperVob(paper.toString()), into, geometry);
- (new SpatialPlane(PP.noteType, PP.contains)).renderAWT(vs, into,
geometry,
- node,
nodeview, space.getModel(),null);
+ (new SpatialPlane(PP.Note, PP.contains)).renderAWT(vs, into,
geometry,
+ node,
nodeview, fen, null);
}
return into;
}
- public BuoyViewMainNode createMainNode(RDFNode node, Object content,
NodePlacementHook hook) {
+ public BuoyViewMainNode createMainNode(Object node, Object content,
NodePlacementHook hook) {
context.setAccursed(node);
- return new PPCanvasCursor(hook, win, space, nodeview, context);
+ return new PPCanvasCursor(hook, win, fen, nodeview, context);
}
- private int[] getCoords(RDFNode node) {
+ private int[] getCoords(Object node) {
int [] ints = new int[2];
- ints[0] = ShortRDF.getInt(space.getModel(), node, SPATIAL.coordX);
- ints[1] = ShortRDF.getInt(space.getModel(), node, SPATIAL.coordY);
+ ints[0] = RDFUtil.getInt(fen, node, SPATIAL.coordX);
+ ints[1] = RDFUtil.getInt(fen, node, SPATIAL.coordY);
return ints;
}
Index: fenfire/org/fenfire/modules/pp/Pp.java
diff -u fenfire/org/fenfire/modules/pp/Pp.java:1.12
fenfire/org/fenfire/modules/pp/Pp.java:1.13
--- fenfire/org/fenfire/modules/pp/Pp.java:1.12 Tue Apr 15 05:48:16 2003
+++ fenfire/org/fenfire/modules/pp/Pp.java Tue Apr 15 10:15:12 2003
@@ -2,6 +2,7 @@
package org.fenfire.modules.pp;
import org.fenfire.*;
+import org.fenfire.swamp.*;
import org.fenfire.impl.*;
import org.fenfire.util.*;
import org.fenfire.view.*;
@@ -29,7 +30,7 @@
public class Pp implements BuoyLinkListener {
-public static final String rcsid = "$Id: Pp.java,v 1.12 2003/04/15 09:48:16
mudyc Exp $";
+public static final String rcsid = "$Id: Pp.java,v 1.13 2003/04/15 14:15:12
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); }
@@ -39,30 +40,35 @@
pp = new Pp();
}
- // old!
private final GraphicsAPI api = GraphicsAPI.getInstance();
private Frame frame;
private PPActions ppAct;
- private Space space;
- private NodeView nodeview;
private BuoyAdaptor adaptor = new BuoyAdaptor();
-
private BuoyViewMainNode focus;
- private RDFNode accursed;
+
+ // old!
+ private Space space;
+ private NodeView nodeview;
+ //private RDFNode accursed;
// new
private Fen fen;
+ private Object accursed;
+
+
public Pp() throws RemoteException, RDFException {
fen = new Fen();
+ /*
space = new ModularSpace(
new SimpleVStreamTexter(
new FakeSpanMaker(),
new Enfilade1DImpl.Enfilade1DImplMaker()),
new ModelMem());
- ppAct = new PPActionsImpl(space);
+ */
+ ppAct = new PPActionsImpl(fen);
String paper = ppAct.newPaper();
String n1 = ppAct.newNote(paper, 0,10, "A test note");
@@ -84,7 +90,7 @@
ppAct.assocNotes(n4, -1, note);
- accursed = space.getModel().getResource(paper);
+ accursed = Nodes.get(paper);
api.startUpdateManager(new Runnable() {
@@ -102,12 +108,12 @@
scr.window.setLocation(0, 0, 1024, 768);
- nodeview = new DefaultNodeView(space);
+ nodeview = new DefaultNodeView(fen);
adaptor.nodes = new NodeBuoyViewNodeType[]{
- new PPCanvasNode(space, scr.window, nodeview, new
Pp.Context())};
+ new PPCanvasNode(fen, scr.window, nodeview, new
Pp.Context())};
adaptor.nodeLinkers = new BuoyNodeViewLinker[]{
- new PPLinker(space)};
+ new PPLinker(fen)};
AbstractUpdateManager.chg();
}
@@ -146,7 +152,7 @@
&& m.getModifiers() == m.BUTTON1_MASK)
{
Pair p = (Pair)obj;
- if (((RDFNode)p.first).equals(accursed)) {
+ if (p.first.equals(accursed)) {
focus = adaptor.createMainNode(null, p.second, pp);
accursed = (RDFNode)p.second;
}
@@ -174,20 +180,22 @@
// WievContext
public class Context implements NodeView.Context {
- public void nodeIsToBePlaced(RDFNode node, NodeView nv) {
+ public void nodeIsToBePlaced(Object node, NodeView nv) {
pa("view context is not implemented");
// do nothing
}
- public RDFNode getAccursed() { return accursed; }
- public void setAccursed(RDFNode node) { accursed = node; }
+ public Object getAccursed() { return accursed; }
+ public void setAccursed(Object node) { accursed = node; }
public PPActions getPPActions() { return ppAct; }
public String getCurrentPaper() {
- RDFNode paper = getAccursed();
+ Object 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/modules/pp/SinglePaper.java
diff -u fenfire/org/fenfire/modules/pp/SinglePaper.java:1.4
fenfire/org/fenfire/modules/pp/SinglePaper.java:1.5
--- fenfire/org/fenfire/modules/pp/SinglePaper.java:1.4 Mon Apr 14 08:18:55 2003
+++ fenfire/org/fenfire/modules/pp/SinglePaper.java Tue Apr 15 10:15:12 2003
@@ -17,7 +17,7 @@
* the background and the vobs inside the plane.
*/
public class SinglePaper {
-private static final String rcsid = "$Id: SinglePaper.java,v 1.4 2003/04/14
12:18:55 mudyc Exp $";
+private static final String rcsid = "$Id: SinglePaper.java,v 1.5 2003/04/15
14:15:12 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("SinglePaper:"+s); }
@@ -34,24 +34,24 @@
/** Get instance
*/
- public static SinglePaper i(Space space, RDFNode node,
+ public static SinglePaper i(Fen fen, Object node,
GraphicsAPI.Window win) {
- i().set(space, win, node);
+ i().set(fen, win, node);
return i();
}
/** Set the instance. This is usually made with i() method.
*/
- public void set(Space space, GraphicsAPI.Window win, RDFNode node) {
- this.space = space;
- this.coordinatePlaneView = new CoordinatePlaneView();
+ public void set(Fen fen, GraphicsAPI.Window win, Object node) {
+ this.fen = fen;
+ //this.coordinatePlaneView = new CoordinatePlaneView();
this.window = win;
this.node = node;
}
private TextStyle style = GraphicsAPI.getInstance().getTextStyle("Sans",
0, 20);
- private Space space;
- private RDFNode node;
+ private Fen fen;
+ private Object node;
// Visual characteristics of the virtual paper and ripple
/** The scale of the background.
@@ -73,7 +73,7 @@
private Vob black = GLCache.getCallList("Color 0 0 0\n");
- private CoordinatePlaneView coordinatePlaneView;
+ //private CoordinatePlaneView coordinatePlaneView;
private GraphicsAPI.Window window;
@@ -147,8 +147,9 @@
// vs.map.put(bg, frameUnit, bg2screen);
bg.put(vs, frameUnit, bg2screen);
vs.map.put(black);
- coordinatePlaneView.render(vs, paper2screen_shifted,
- node, frameCS, space,
hook_final);
+
+ //coordinatePlaneView.render(vs, paper2screen_shifted,
+ // node, frameCS, space, hook_final);
}};
if(useStencil)
Index: fenfire/org/fenfire/util/RDFUtil.java
diff -u fenfire/org/fenfire/util/RDFUtil.java:1.1
fenfire/org/fenfire/util/RDFUtil.java:1.2
--- fenfire/org/fenfire/util/RDFUtil.java:1.1 Tue Apr 15 07:00:29 2003
+++ fenfire/org/fenfire/util/RDFUtil.java Tue Apr 15 10:15:12 2003
@@ -4,11 +4,12 @@
import org.fenfire.*;
import org.fenfire.swamp.*;
import org.fenfire.vocab.*;
+import java.util.Iterator;
public class RDFUtil {
- /** Create a new resource with special type.
+ /** Create a new resource with given type.
*/
static public Object N(Fen fen, Object type) {
Object ret = Nodes.N();
@@ -16,8 +17,22 @@
return ret;
}
+ /** Check if node is the type which is asked.
+ */
+ static public boolean isNodeType(Fen fen, Object node, Object type) {
+ Iterator it = fen.constgraph.findN_11X_Iter(node, RDF.type);
+ while(it.hasNext()) {
+ if ( it.next() == type ) return true;
+ }
+ return false;
+ }
-
+ /** Get int from the literal
+ */
+ static public int getInt(Fen fen, Object node, Object pre) {
+ Literal lit = (Literal)fen.constgraph.find1_11X(node, pre);
+ return Integer.parseInt(lit.getTextString() );
+ }
}
Index: fenfire/org/fenfire/view/DefaultNodeView.java
diff -u fenfire/org/fenfire/view/DefaultNodeView.java:1.1
fenfire/org/fenfire/view/DefaultNodeView.java:1.2
--- fenfire/org/fenfire/view/DefaultNodeView.java:1.1 Tue Apr 8 10:56:52 2003
+++ fenfire/org/fenfire/view/DefaultNodeView.java Tue Apr 15 10:15:12 2003
@@ -7,24 +7,24 @@
import java.awt.*;
public class DefaultNodeView extends NodeView {
-private static final String rcsid = "$Id: DefaultNodeView.java,v 1.1
2003/04/08 14:56:52 mudyc Exp $";
+private static final String rcsid = "$Id: DefaultNodeView.java,v 1.2
2003/04/15 14:15:12 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) {
System.out.println("DefaultNodeView::"+s); }
- public DefaultNodeView(Space s) {
+ public DefaultNodeView(Fen f) {
text = new SimpleText();
- space = s;
+ fen = f;
}
- public void place(RDFNode node, VobScene vs, int box) {
- text.place(vs, box, space.getEnfilade(node));
+ public void place(Object node, VobScene vs, int box) {
+ text.place(vs, box, fen.txt.get(node));
}
- public void getSize(RDFNode node, float[] size, float scale) {
+ public void getSize(Object node, float[] size, float scale) {
if (size == null) return;
// XXX
- text.getSize(space.getEnfilade(node), size);
+ text.getSize(fen.txt.get(node), size);
size[0] *= scale;
size[1] *= scale;
Index: fenfire/org/fenfire/view/NodeContent.java
diff -u fenfire/org/fenfire/view/NodeContent.java:1.1
fenfire/org/fenfire/view/NodeContent.java:1.2
--- fenfire/org/fenfire/view/NodeContent.java:1.1 Tue Apr 8 10:56:52 2003
+++ fenfire/org/fenfire/view/NodeContent.java Tue Apr 15 10:15:12 2003
@@ -2,16 +2,15 @@
package org.fenfire.view;
import org.nongnu.libvob.*;
-import com.hp.hpl.mesa.rdf.jena.model.*;
import java.awt.*;
public interface NodeContent {
- void place(RDFNode node, VobScene vs, int box);
- void getSize(RDFNode node, float[] size);
- void getSize(RDFNode node, float[] size, float scale);
+ void place(Object node, VobScene vs, int box);
+ void getSize(Object node, float[] size);
+ void getSize(Object node, float[] size, float scale);
// has methods - ask from enfilade if it contains specified span.
- boolean hasText(RDFNode node);
- boolean hasImage(RDFNode node);
- boolean hasPageSpan(RDFNode node);
+ boolean hasText(Object node);
+ boolean hasImage(Object node);
+ boolean hasPageSpan(Object node);
}
Index: fenfire/org/fenfire/view/NodePlacementHook.java
diff -u fenfire/org/fenfire/view/NodePlacementHook.java:1.2
fenfire/org/fenfire/view/NodePlacementHook.java:1.3
--- fenfire/org/fenfire/view/NodePlacementHook.java:1.2 Fri Apr 4 18:25:06 2003
+++ fenfire/org/fenfire/view/NodePlacementHook.java Tue Apr 15 10:15:12 2003
@@ -7,9 +7,9 @@
/** An interface for code to be run when a cell has been placed in a box.
*/
public interface NodePlacementHook {
-String rcsid = "$Id: NodePlacementHook.java,v 1.2 2003/04/04 23:25:06 mudyc
Exp $";
+String rcsid = "$Id: NodePlacementHook.java,v 1.3 2003/04/15 14:15:12 mudyc
Exp $";
/** A node was placed.
*/
// XXX void placed(RDFNode node, VobScene sc, int b, ViewContext context);
- void placed(RDFNode node, VobScene vs, int b);
+ void placed(Object node, VobScene vs, int b);
}
Index: fenfire/org/fenfire/view/NodeView.java
diff -u fenfire/org/fenfire/view/NodeView.java:1.3
fenfire/org/fenfire/view/NodeView.java:1.4
--- fenfire/org/fenfire/view/NodeView.java:1.3 Tue Apr 8 20:57:55 2003
+++ fenfire/org/fenfire/view/NodeView.java Tue Apr 15 10:15:12 2003
@@ -3,19 +3,18 @@
package org.fenfire.view;
import org.fenfire.*;
import org.nongnu.libvob.*;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-public abstract class NodeView implements NodeContent {
+public abstract class NodeView implements org.fenfire.view.NodeContent {
// Fen in future
// for asking content
- protected Space space;
+ protected Fen fen;
protected NodeView.Context nodeViewContext;
// NodeView places nodes one by one.
- protected RDFNode current;
+ protected Object current;
/** Handler for text
*/
@@ -25,22 +24,22 @@
//public PageHandler page;
- public void place(RDFNode node, VobScene vs, int box) {
+ public void place(Object node, VobScene vs, int box) {
throw new Error("Unimplemented");
}
- public void getSize(RDFNode node, float[] size) {
+ public void getSize(Object node, float[] size) {
getSize(node, size, 1);
}
- public void getSize(RDFNode node, float[] size, float scale) {
+ public void getSize(Object node, float[] size, float scale) {
throw new Error("Unimplemented");
}
// has methods - ask from enfilade if it contains specified span.
- public boolean hasText(RDFNode node) { return false; }
- public boolean hasImage(RDFNode node) { return false; }
- public boolean hasPageSpan(RDFNode node) { return false; }
+ public boolean hasText(Object node) { return false; }
+ public boolean hasImage(Object node) { return false; }
+ public boolean hasPageSpan(Object node) { return false; }
public interface Context {
- void nodeIsToBePlaced(RDFNode node, NodeView nv);
+ void nodeIsToBePlaced(Object node, NodeView nv);
}
}
Index: fenfire/org/fenfire/view/SpatialPlane.java
diff -u fenfire/org/fenfire/view/SpatialPlane.java:1.9
fenfire/org/fenfire/view/SpatialPlane.java:1.10
--- fenfire/org/fenfire/view/SpatialPlane.java:1.9 Wed Apr 9 18:25:05 2003
+++ fenfire/org/fenfire/view/SpatialPlane.java Tue Apr 15 10:15:12 2003
@@ -12,9 +12,8 @@
import org.nongnu.libvob.impl.gl.*;
import org.nongnu.libvob.buoy.*;
import org.nongnu.alph.*;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-import com.hp.hpl.mesa.rdf.jena.common.*;
+import java.util.Iterator;
/** A view which shows a single rank of cells, at coordinates given
@@ -26,17 +25,17 @@
*/
public class SpatialPlane {
-public static final String rcsid = "$Id: SpatialPlane.java,v 1.9 2003/04/09
22:25:05 mudyc Exp $";
+public static final String rcsid = "$Id: SpatialPlane.java,v 1.10 2003/04/15
14:15:12 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("SpatialPlane::"+s);
}
static private Vob frame = null;
-
- private Resource cType;
- private Property cont;
- public SpatialPlane(Resource contentType, Property containment) {
+
+ private Object cType;
+ private Object cont;
+ public SpatialPlane(Object contentType, Object containment) {
cType = contentType;
cont = containment;
}
@@ -49,14 +48,14 @@
public void renderAWT(VobScene vs, int into, int geom,
- RDFNode node, NodeView nodeview,
- Model model, NodePlacementHook hook)
- { try {
- RDFNode current = node;
- RDFNode container = current;
+ Object node, NodeView nodeview,
+ Fen fen, NodePlacementHook hook)
+ {
+ Object current = node;
+ Object container = current;
- if (ShortRDF.isNodeType(model, current, cType)) {
- container = ShortRDF.getSubj(model, current, cont);
+ if (RDFUtil.isNodeType(fen, current, cType)) {
+ container = fen.constgraph.find1_11X(current, cont);
}
// get zoom geometry etc.
@@ -75,16 +74,14 @@
float[] bs = new float[2];
cursorBox = -1;
- Selector slctr = new SelectorImpl((Resource)container, cont, (RDFNode)
null);
- StmtIterator iter = model.listStatements(slctr);
- Statement stmt = null;
+ Iterator iter = fen.constgraph.findN_11X_Iter(container, cont);
while (iter.hasNext()) {
- RDFNode n = (RDFNode)((Statement)iter.next()).getObject();
+ Object n = iter.next();
// get coords
int[] coords = new int[2];
- coords[0] = ShortRDF.getInt(model, n, SPATIAL.coordX);
- coords[1] = ShortRDF.getInt(model, n, SPATIAL.coordY);
+ coords[0] = RDFUtil.getInt(fen, n, SPATIAL.coordX);
+ coords[1] = RDFUtil.getInt(fen, n, SPATIAL.coordY);
nodeview.getSize(n, bs, zoom);
Pair matchKey = new Pair(container, n);
@@ -102,10 +99,7 @@
if(current.equals(n))
cursorBox = box;
}
- } catch (RDFException e) {
- pa("Exception ocurred!: "+e);
- throw new Error("PPLinker error: Failed to doLink!!");
- }}
+ }
@@ -114,8 +108,8 @@
* @param cullCS is the clip cs or under zero if not used.
*/
public void renderGL(VobScene vs, int into,
- RDFNode node, int cullCS,
- Space space, NodePlacementHook hook)
+ Object node, int cullCS,
+ Fen fen, NodePlacementHook hook)
{ // try {
if (frame == null) {
frame = GLRen.createCallListBoxCoorded(
@@ -132,7 +126,7 @@
"PopAttrib"
);
}
-
+ /*
Model mod = space.getModel();
RDFNode current = node;
RDFNode paper = current;
@@ -141,7 +135,7 @@
paper = ShortRDF.getSubj(mod, current, PP.contains);
}
-
+ */
/*
float[] bs = new float[2];
Index: fenfire/org/fenfire/view/buoy/BuoyAdaptor.java
diff -u fenfire/org/fenfire/view/buoy/BuoyAdaptor.java:1.2
fenfire/org/fenfire/view/buoy/BuoyAdaptor.java:1.3
--- fenfire/org/fenfire/view/buoy/BuoyAdaptor.java:1.2 Fri Apr 4 18:25:06 2003
+++ fenfire/org/fenfire/view/buoy/BuoyAdaptor.java Tue Apr 15 10:15:12 2003
@@ -32,7 +32,6 @@
import org.nongnu.libvob.*;
import org.nongnu.libvob.buoy.*;
-import com.hp.hpl.mesa.rdf.jena.model.*;
/** A class that allows different node-based views
@@ -54,7 +53,7 @@
/** Get the node type that is responsible for showing the
* given Node.
*/
- private NodeBuoyViewNodeType getNode(RDFNode node) {
+ private NodeBuoyViewNodeType getNode(Object node) {
for(int i=0; i<nodes.length; i++) {
if(nodes[i].ownsNode(node)) {
return nodes[i];
@@ -66,29 +65,17 @@
// Implement BuoyViewNodeType
public Object getSize(Object linkId, Object anchor, float[] wh) {
- if(anchor instanceof RDFNode) {
- RDFNode node = (RDFNode)anchor;
- return getNode(node).getSize(node, null, wh);
- }
- throw new Error("Unknown anchor!");
+ return getNode(node).getSize(node, null, wh);
}
public int renderBuoy(VobScene vs, int into,
Object linkId, Object anchor, Object cachedSize) {
- if(anchor instanceof RDFNode) {
- RDFNode node = (RDFNode)anchor;
- return getNode(node).renderBuoy(vs, into, node, null, cachedSize);
- }
- throw new Error("Unknown anchor!");
+ return getNode(node).renderBuoy(vs, into, node, null, cachedSize);
}
public BuoyViewMainNode createMainNode(Object linkId,
Object anchor, BuoyLinkListener l) {
- if(anchor instanceof RDFNode) {
- RDFNode node = (RDFNode)anchor;
- return getNode(node).createMainNode(node, null, new LinkAdaptor(l));
- }
- throw new Error("Unknown anchor!");
+ return getNode(node).createMainNode(node, null, new LinkAdaptor(l));
}
/** An adaptor class that calls the nodeLinkers
@@ -98,7 +85,7 @@
LinkAdaptor(BuoyLinkListener l) { this.l = l; }
BuoyLinkListener l;
- public void placed(RDFNode node, VobScene vs, int cs) {
+ public void placed(Object node, VobScene vs, int cs) {
if(dbg)
pa("Placed node: "+node+" "+vs+" "+cs);
for(int i=0; i<nodeLinkers.length; i++)
Index: fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java
diff -u fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java:1.1
fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java:1.2
--- fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java:1.1 Tue Mar 25
19:36:06 2003
+++ fenfire/org/fenfire/view/buoy/NodeBuoyViewNodeType.java Tue Apr 15
10:15:12 2003
@@ -9,14 +9,14 @@
public interface NodeBuoyViewNodeType {
/** True if this view "owns" a certain node.
*/
- public boolean ownsNode(RDFNode node);
+ public boolean ownsNode(Object node);
/** Get the ideal size for this buoy.
* (mudyc): Just and idea if vobscene width and height is passed in wh...
* @return An object that, if passed to renderBuoy, may help
* performance a little.
*/
- public Object getSize(RDFNode node, Object content, float[] wh);
+ public Object getSize(Object node, Object content, float[] wh);
/** Render this view centered on a given node.
* Since this is delegated from BuoyViewNodeType.renderBuoy,
@@ -26,9 +26,9 @@
* that the view should be centered on. Can be ignored.
* @return The coordinate system of the anchor
*/
- public int renderBuoy(VobScene vs, int into, RDFNode node, Object content,
+ public int renderBuoy(VobScene vs, int into, Object node, Object content,
Object cachedSize);
- public BuoyViewMainNode createMainNode(RDFNode node, Object content,
NodePlacementHook hook);
+ public BuoyViewMainNode createMainNode(Object node, Object content,
NodePlacementHook hook);
}
Index: fenfire/org/fenfire/vocab/PP.java
diff -u fenfire/org/fenfire/vocab/PP.java:1.2
fenfire/org/fenfire/vocab/PP.java:1.3
--- fenfire/org/fenfire/vocab/PP.java:1.2 Wed Mar 26 09:00:25 2003
+++ fenfire/org/fenfire/vocab/PP.java Tue Apr 15 10:15:13 2003
@@ -1,46 +1,41 @@
//(c): Matti J. Katila
package org.fenfire.vocab;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-import com.hp.hpl.mesa.rdf.jena.common.*;
+import org.fenfire.swamp.*;
/** Family Portal scheme vocabulary
* Spatial canvases whic have notes and two of those
* notes can be associated together.
*/
public class PP {
-public static final String rcsid = "$Id: PP.java,v 1.2 2003/03/26 14:00:25
mudyc Exp $";
+public static final String rcsid = "$Id: PP.java,v 1.3 2003/04/15 14:15:13
mudyc Exp $";
protected static void pa(String s) { System.out.println("PP: "+s); }
// Propertys
- static public Property contains;
- static public Property association;
+ static public Object contains;
+ static public Object association;
// XXX Wrong/better vocabulary?
- static public Property creationTime;
- static public Property depth;
+ static public Object creationTime;
+ static public Object depth;
// Resources
- static public Resource paperType;
- static public Resource noteType;
+ static public Object Paper;
+ static public Object Note;
static {
String ppVoc = "http://fenfire.org/vocabulary/pp.html";
String unDef = "http://fenfire.org/vocabulary/undef.html";
- try {
- // Propertys
- contains = new PropertyImpl(ppVoc+"#contains");
- association = new PropertyImpl(ppVoc + "#association");
-
- creationTime = new PropertyImpl(unDef + "#creationTime");
- depth = new PropertyImpl(unDef + "#depth");
-
- // Resources
- paperType = new ResourceImpl(ppVoc + "#paperType");
- noteType = new ResourceImpl(ppVoc + "#noteType");
-
- } catch (RDFException e) {
- pa("Failed: "+e);
- }
+
+ // Propertys
+ contains = Nodes.get(ppVoc+"#contains");
+ association = Nodes.get(ppVoc + "#association");
+
+ creationTime = Nodes.get(unDef + "#creationTime");
+ depth = Nodes.get(unDef + "#depth");
+
+ // Resources
+ Paper = Nodes.get(ppVoc + "#paperType");
+ Note = Nodes.get(ppVoc + "#noteType");
}
}
Index: fenfire/org/fenfire/vocab/SPATIAL.java
diff -u fenfire/org/fenfire/vocab/SPATIAL.java:1.2
fenfire/org/fenfire/vocab/SPATIAL.java:1.3
--- fenfire/org/fenfire/vocab/SPATIAL.java:1.2 Wed Mar 26 13:56:00 2003
+++ fenfire/org/fenfire/vocab/SPATIAL.java Tue Apr 15 10:15:13 2003
@@ -1,26 +1,20 @@
//(c): Matti Katila
package org.fenfire.vocab;
-import com.hp.hpl.mesa.rdf.jena.model.*;
-import com.hp.hpl.mesa.rdf.jena.common.*;
+import org.fenfire.swamp.*;
/** You can just add to this vocabulary!
* Immutable to erase or change content - just add more.
*/
public class SPATIAL {
-public static final String rcsid = "$Id: SPATIAL.java,v 1.2 2003/03/26
18:56:00 mudyc Exp $";
- protected static void pa(String s) { System.out.println("SPATIAL: "+s); }
+public static final String rcsid = "$Id: SPATIAL.java,v 1.3 2003/04/15
14:15:13 mudyc Exp $";
- static public Property coordX;
- static public Property coordY;
+ static public Object coordX;
+ static public Object coordY;
static {
- try {
- coordX = new
PropertyImpl("http://fenfire.org/vocabulary/spatial.html#coordX");
- coordY = new
PropertyImpl("http://fenfire.org/vocabulary/spatial.html#coordY");
- } catch (RDFException e) {
- pa("Failed: "+e);
- }
+ coordX = Nodes.get("http://fenfire.org/vocabulary/spatial.html#coordX");
+ coordY = Nodes.get("http://fenfire.org/vocabulary/spatial.html#coordY");
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] fenfire org/fenfire/modules/pp/BgVob.java org/f...,
Matti Katila <=