[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire bin/fenpdf10.py demo/buoyoi...
From: |
Matti Katila |
Subject: |
[Gzz-commits] fenfire/org/fenfire bin/fenpdf10.py demo/buoyoi... |
Date: |
Sat, 09 Aug 2003 13:29:24 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Matti Katila <address@hidden> 03/08/09 13:29:23
Modified files:
org/fenfire/bin: fenpdf10.py
org/fenfire/demo: buoyoing.py
org/fenfire/view/buoy: actions.py
org/fenfire/view/buoy/lava: MindMapConnector.java
org/fenfire/view/lava: mindMapView2D.py
Log message:
just coding..
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/bin/fenpdf10.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.106&tr2=1.107&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/actions.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/mindMapView2D.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/bin/fenpdf10.py
diff -u fenfire/org/fenfire/bin/fenpdf10.py:1.9
fenfire/org/fenfire/bin/fenpdf10.py:1.10
--- fenfire/org/fenfire/bin/fenpdf10.py:1.9 Sat Aug 9 09:31:16 2003
+++ fenfire/org/fenfire/bin/fenpdf10.py Sat Aug 9 13:29:23 2003
@@ -96,8 +96,6 @@
### debugs
#ff.view.AreaSelectingView2D.dbg = 1
-#ff.view.buoy.TransclusionConnector.dbg = 1
-#ff.impl.SimpleNodeContent.dbg = 1
DIR = 'myFenfire/'
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.106
fenfire/org/fenfire/demo/buoyoing.py:1.107
--- fenfire/org/fenfire/demo/buoyoing.py:1.106 Wed Aug 6 12:25:20 2003
+++ fenfire/org/fenfire/demo/buoyoing.py Sat Aug 9 13:29:23 2003
@@ -51,7 +51,8 @@
AbstractAction, ZoomPan, ChangeSize, \
CanvasNodePressListener, \
NodeMover, PanMover, \
- SelectArea, BrowseClick, IfSelectNodeOnPlane
+ SelectArea, BrowseClick, IfSelectNodeOnPlane, \
+ LinkClick
from org.fenfire.demo.fenpdfcontext import Context
@@ -198,6 +199,9 @@
SelectArea(context))
mainMouse.setListener(1, 0, 'Browse to clicked point in the main view',
BrowseClick(context))
+mainMouse.setListener(1, vob.VobMouseEvent.CONTROL_MASK,
+ 'linking',
+ LinkClick(context))
mainMouse.setListener(3, 0, 'Select a node by click or unselect.',
IfSelectNodeOnPlane(context))
@@ -235,7 +239,7 @@
### Connectors
# MindMap
-mmconnector = ff.view.buoy.lava.MindMapConnector(fen)
+mmconnector = ff.view.buoy.lava.MindMapConnector(fen, nodeview)
mmconnector.normalNodeNodeType = ff.view.buoy.NodeType2D(irregu, \
ff.view.buoy.MainNode2D.MainNode2DFactory(1, mainMouse))
mmconnector.mindMapNodeType = ff.view.buoy.NodeType2DFull(mmview, \
@@ -357,36 +361,40 @@
def mouse(self, ev, oldvs):
if dbg: p(ev)
-
+
if ev.getType() == ev.MOUSE_RELEASED:
- p('mainMouse released?')
- # mainMouse XXX
- #ctrl.removePressState()
- self.context.states.clean()
+ p('mainMouse released? - there\'s a bug in here!')
+ #mousePrint(self.lastEvent, 'lastEvent')
+
+ # release event must go to mainMouse MouseMultiplexer to work
correctly!
+ # mainMouse.deliverEvent(ev)
+ # flush implemented...
+ mainMouse.flush()
+
+ self.context.clean()
w.setCursor('default')
+
+ # workaround..
+ if self.lastEvent.getType() == ev.MOUSE_PRESSED:
+ p('workaround for a bug')
+ return 1
+
# There is a bug in AbstractUpdateManager code(?) and that's why
now is must to return.
- # return 1
+ #return 1
return 0
- #return 0
-
+ self.lastEvent = ev
+
# ...then see context
if ev.getType() != ev.MOUSE_CLICKED:
return 0
- planes = []
- for single in self.mgr.singles:
- planes.append(single.getMainNode())
- newPlanes = self.context.doMouse(ev, oldvs, planes, self.nv)
- if newPlanes != None and planes != newPlanes:
- p('going to change the singles with new ones')
- for i in range(0, len(newPlanes)):
- self.mgr.singles[i] = vob.buoy.buoymanager.SingleFocusManager(
- newPlanes[i],
- self.mgr.connectors)
- vob.AbstractUpdateManager.chg()
+
+ if self.context.doMouse(ev, oldvs):
+ mainMouse.flush()
+ vob.AbstractUpdateManager.chg()
return 1
+
return 0
-
-
+
def buoyMouse(self, mgr, ev, single, link):
Index: fenfire/org/fenfire/view/buoy/actions.py
diff -u fenfire/org/fenfire/view/buoy/actions.py:1.5
fenfire/org/fenfire/view/buoy/actions.py:1.6
--- fenfire/org/fenfire/view/buoy/actions.py:1.5 Fri Aug 8 07:45:58 2003
+++ fenfire/org/fenfire/view/buoy/actions.py Sat Aug 9 13:29:23 2003
@@ -111,6 +111,13 @@
self.pp.moveNote(self.node, ox+x/f.zoom, oy+y/f.zoom )
self.main.chgFast(self.oldVS, -1)
+class LinkClick(AbstractAction, vob.mouse.MouseClickListener):
+ def clicked(self, x,y):
+ self.super()
+ obj = self.main.getNodeOnPlane(self.oldVS, x,y)
+ pp = self.context.states.pp
+ pp.assocNotes(obj, 1, self.context.states.cursor.getAccursed())
+
####### Actions to control selection (Ctrl pressed)
Index: fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java
diff -u fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java:1.2
fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java:1.3
--- fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java:1.2 Wed Aug
6 11:55:54 2003
+++ fenfire/org/fenfire/view/buoy/lava/MindMapConnector.java Sat Aug 9
13:29:23 2003
@@ -20,7 +20,7 @@
* First only canvas perhaps (later more).
*/
public class MindMapConnector implements BuoyViewConnector {
-public static final String rcsid = "$Id: MindMapConnector.java,v 1.2
2003/08/06 15:55:54 mudyc Exp $";
+public static final String rcsid = "$Id: MindMapConnector.java,v 1.3
2003/08/09 17:29:23 mudyc Exp $";
public static boolean dbg = false;
private static void p(String s) { System.out.println("MindMapConnector::
"+s); }
@@ -30,8 +30,9 @@
public AbstractNodeType2D mindMapNodeType;
public AbstractNodeType2D normalNodeNodeType;
- public MindMapConnector(Fen fen) {
+ public MindMapConnector(Fen fen, NodeFunction nodef) {
this.fen = fen;
+ this.nodeView = nodef;
}
private NodeFunction mindMapForNode =
@@ -83,33 +84,27 @@
} else if(mn2d.getView2D() == mindMapNodeType.getView2D()) {
if (dbg) p("mindmap -> outside");
-
+
+ // see mindmapView2D for correct nodes..
for(Iterator i=m.getKeys(parentCs).iterator(); i.hasNext();) {
- Object key = i.next();
- p("key: "+key);
-
- if(!(key instanceof PageImageSpan)) continue;
- PageImageSpan span = (PageImageSpan)key;
-
- if(dbg) p("TRC: span "+key);
- int cs =m.getCS(parentCs, key);
-
- Enfilade1D tmpEnf = fen.enfMaker.makeEnfilade(span);
- for(Iterator nodes =
fen.enfiladeOverlap.getMatches(tmpEnf).iterator(); nodes.hasNext(); ) {
- Object node = nodes.next();
- if(dbg) p("TRC: overlap "+node);
- Object plane = fen.constgraph.find1_X11(
- CANVAS2D.contains, node);
- if(plane == null) {
- if(dbg) p("No plane!");
- continue;
- }
- Object anchor = getAnchor(plane, node);
- l.link(-1, cs, normalNodeNodeType,
- new Pair(node, span.getScrollBlock()),
- anchor);
-
+ Object node = i.next();
+ p("key: "+node);
+
+ if (!RDFUtil.isNodeType(fen.graph, node, MINDSTRUCT.Data))
continue;
+
+ int cs =m.getCS(parentCs, node);
+ p("cs: "+cs);
+ Object plane = fen.
+ constgraph.find1_X11(CANVAS2D.contains, node);
+ if(plane == null) {
+ if(dbg) p("No plane!");
+ continue;
}
+ Object anchor = getAnchor(plane, node);
+ l.link(-1, cs, normalNodeNodeType,
+ new Pair(node, ((View2D.Anchor)anchor).plane),
+ anchor);
+
}
} else if(dbg) p("Unknown view2d type");
}
Index: fenfire/org/fenfire/view/lava/mindMapView2D.py
diff -u fenfire/org/fenfire/view/lava/mindMapView2D.py:1.2
fenfire/org/fenfire/view/lava/mindMapView2D.py:1.3
--- fenfire/org/fenfire/view/lava/mindMapView2D.py:1.2 Wed Aug 6 12:02:31 2003
+++ fenfire/org/fenfire/view/lava/mindMapView2D.py Sat Aug 9 13:29:23 2003
@@ -91,7 +91,9 @@
def getDistance(self, deepnes):
""" good size * 80% of every deepnes """
- return (self.box[0] * 1./4.0) * (0.9 ** deepnes)
+ d = (self.box[0] * 1./4.0) * (0.9 ** deepnes)
+ if dbg: p('dist: ', d)
+ return d
def render(self, vs, node,
matchingParent, box2screen, box2plane):
@@ -178,7 +180,7 @@
linkCount = len(links)
if deepnes > 1: linkCount += 1
- angle = 2 * Math.PI/linkCount
+ angle = 2 * Math.PI/float(linkCount)
for i in range(len(links)):
@@ -190,14 +192,19 @@
if self.nodes.get(n) == None:
pl = self.getPlace(vs, into, x, y, n, dirAngle, angle*i,
deepnes)
if dbg: p('new node', pl)
- ### XXX place the text in the cs.
- #MindData().place(self.mm, n, vs, pl[0])
self.nodes.put(n, pl)
self.doLink.put(n, '1')
else:
pl = self.nodes.get(n)
if dbg: p('old node', pl)
+ # debugging..
+ if 1:
+ p('main node:',self.alphContent.getText(node))
+ for n in links:
+ p(' ',self.alphContent.getText(n),self.nodes.get(n))
+
+
for link in links:
if self.doLink.get(link) != None:
self.doLink.put(link, None)
@@ -206,12 +213,14 @@
place[3], deepnes + 1)
def getPlace(self, vs, into, x0,y0, key, dirAngle, angle, deepnes):
- xy = self.getXY(x0,y0, 0.2*dirAngle + angle, deepnes)
+ xy = self.getXY(x0,y0, angle, deepnes)
x,y = xy[0], xy[1]
s = self.getNodeSize(deepnes)
cs = vs.coords.orthoBox(into,0, x-s/2.0,y-s/2.0, 1,1, s,s)
- if dbg: p(cs, xy, angle, s)
+ if 1 or dbg:
+ p('come:',x0,y0, angle, dirAngle)
+ p(cs, xy, angle, s)
return [cs, x, y, angle]
def getXY(self, x0, y0, angle, deepnes):
- [Gzz-commits] fenfire/org/fenfire bin/fenpdf10.py demo/buoyoi...,
Matti Katila <=