[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...
From: |
Asko Soukka |
Subject: |
[ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa... |
Date: |
Fri, 12 Sep 2003 11:36:13 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Asko Soukka <address@hidden> 03/09/12 11:36:13
Modified files:
org/fenfire/demo: mm.py
org/fenfire/view/lava: mindMapView2D.py
Log message:
runs, but AlphContent is created wrong - won't work
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/mm.py.diff?tr1=1.58&tr2=1.59&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/mindMapView2D.py.diff?tr1=1.55&tr2=1.56&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/demo/mm.py
diff -u fenfire/org/fenfire/demo/mm.py:1.58 fenfire/org/fenfire/demo/mm.py:1.59
--- fenfire/org/fenfire/demo/mm.py:1.58 Fri Sep 12 08:16:09 2003
+++ fenfire/org/fenfire/demo/mm.py Fri Sep 12 11:36:13 2003
@@ -100,7 +100,7 @@
vs.put(background((.5, .5, .5)))
w.renderStill(vs, 0)
-(fen, ff_structure, contentFunction) = ff.test.fen.newFen()
+fen = ff.Fen()
if do_load_graph:
m = ModelMem()
@@ -108,19 +108,44 @@
fen.constgraph = fen.graph = ff.swamp.Graphs.toGraph(m);
else: fen.graph = fen.constgraph = ff.swamp.impl.HashGraph()
+structure_ff = ff.structure.Ff.create(fen.graph, myalph)
+
+fen.enfiladeOverlap = structure_ff.getTransclusionIndex()
+fen.alph = myalph
+
style = vob.GraphicsAPI.getInstance().getTextStyle("sansserif", 0, 24)
+functional = ff.functional.SuperFunctional1(
+ fen.constgraph,
+ vob.AbstractUpdateManager.getInstance()
+ )
+
+functional.cache("ContentFunction", 1);
+functional.cache("NormalTextNodeView", 500);
+functional.cache("AccursedTextNodeView", 10);
+
+contentFunction = functional.createFunctionInstance(
+ "ContentFunction",
+ ff.structure.Ff.ContentFunction,
+ [ ff_structure ]).getCallableFunction()
+
# nodeview for normal nodes
normal_text = ff.view.TextNodeView(contentFunction, style, java.awt.Color(0.,
0., 0.), 250.)
-normal_text_bg = ff.fenmm.WhiteNodeView(normal_text, java.awt.Color(.6, .6,
.6))
-normalf = ff.swamp.CachedPureNodeFunction(100, fen.graph, normal_text_bg)
+normalf = functional.createFunctionInstance(
+ "NormalTextNodeView",
+ ff.fenmm.WhiteNodeView,
+ [normal_text, java.awt.Color(.6, .6, .6)])
# nodeview for accursed nodes
accursed_text = ff.view.TextNodeView(contentFunction, style,
java.awt.Color.black, 250.)
-accursed_text_bg = ff.fenmm.WhiteNodeView(accursed_text, java.awt.Color(.9,
.9, .9))
-accursedf = ff.swamp.CachedPureNodeFunction(100, fen.graph, accursed_text_bg)
-
-multiplexer = ff.swamp.MultiplexerNodeFunction(normalf, accursedf)
+accursedf = functional.createFunctionInstance(
+ "AccursedTextNodeView",
+ ff.fenmm.WhiteNodeView,
+ [accursed_text, java.awt.Color(.9, .9, .9)])
+
+multiplexer = ff.swamp.MultiplexerNodeFunction(
+ normalf.getCallableFunction(),
+ accursedf.getCallableFunction())
structLink = ff.structure.StructLink.create(fen.graph)
@@ -142,6 +167,12 @@
self.multiplexer = multiplexer
self.style = style
+ # XXX
+ self.ff_structure = ff_structure # XXX
+ self.contentFunction = contentFunction # XXX
+ self.functional = functional # XXX
+ # XXX
+
self.rmb_switch = [ 'go', 'link' ]
self.oldVS = None
self.replaceVS = None
@@ -151,7 +182,7 @@
self.bgcolor = (.4, .7, 1.0)
self.c = ff.fenmm.MMTextCursor(style)
- self.alphContent = ff.util.AlphContent(self.fen)
+ self.alphContent = ff.util.AlphContent(self.fen, self.ff_structure)
def nextRmb(self):
rmb = self.rmb_switch
@@ -168,6 +199,7 @@
self.c.setOffset(0)
self.components.append(self.c.getAccursed())
offset = self.c.getOffset()
+ print self.alphContent.getText(self.c.getAccursed()), offset, text, 1
self.alphContent.insertText(self.c.getAccursed(), offset, text, 1)
self.c.setOffset(offset + len(text))
@@ -177,9 +209,10 @@
if self.c.getAccursed() == None: return
offset = self.c.getOffset()
+ print accursed, offset-1, offset
self.alphContent.deleteText(accursed, offset-1, offset)
self.c.setOffset(offset-1)
- l = len(self.alphContent.getText(self.fen.graph, accursed))
+ l = len(self.alphContent.getText(accursed))
offset = self.c.getOffset()
if offset == 0 and l == 0: self.rmNode(accursed)
@@ -315,7 +348,7 @@
cursor.setAccursed(node)
### something easier to allow setOffset(x,y) before rendering
- nodeview = ff.view.TextNodeView(self.contentFunction,
self.context.style, 250.)
+ nodeview = ff.view.TextNodeView(contentFunction,
self.context.style, 250.)
self.context.c.setTextPlaceable(nodeview.f(fen.graph, node))
# set cursor, transitions between zoomed and normal should be
accounted
@@ -368,7 +401,6 @@
class MMScene:
def __init__(self):
- self.alphContent = ff.util.AlphContent(fen, ff_structure)
components, centered = self.compinit()
self.context = Context(fen, w, components, multiplexer, style)
@@ -385,6 +417,7 @@
self.main = ff.view.lava.mindMapView2D.MindMapMainNode2D(fen,
centered, self.context,
self.view,
self.mindMouse)
self.context.main = self.main
+
dimensions = w.getSize()
self.view.filletLength = dimensions.width * 1./4
self.view.filletWidth = dimensions.height * 1./15
@@ -437,7 +470,7 @@
if largest == None:
# No components, so create one for focus
largest = ff.util.RDFUtil.N(fen.graph, MINDSTRUCT.Data)
- self.alphContent.setText(largest, 'Home', 1)
+ self.context.alphContent.setText(largest, 'Home', 1)
else:
# convert from java.util.Set to list
for component in comps.toArray():
@@ -515,7 +548,7 @@
accursed = self.context.c.getAccursed()
offset = self.context.c.getOffset()
if accursed:
- text = self.alphContent.getText(fen.graph, accursed)
+ text = self.context.alphContent.getText(accursed)
if offset < len(text):
self.context.c.setOffset(offset+1)
self.context.deleteText()
@@ -533,7 +566,7 @@
elif key == "Return":
"""Add a linebreak."""
self.context.insertText("\n")
- text = self.alphContent.getText(fen.graph,
self.context.c.getAccursed())
+ text =
self.context.alphContent.getText(self.context.c.getAccursed())
# small hack to show the new line on NodeView, without content it
would be shrank
offset = self.context.c.getOffset()
if len(text) == offset:
@@ -559,7 +592,7 @@
self.context.c.moveEnd()
elif key == "Ctrl-C" or key == "Ctrl-K":
"""Copy the content of the node into the clipboard."""
- text = self.alphContent.getText(fen.graph,
self.context.c.getAccursed())
+ text =
self.context.alphContent.getText(self.context.c.getAccursed())
PUIClipboard.puiCopy(text)
print 'PUI copied:', PUIClipboard.getText()
elif key == "Ctrl-V" or key =="Ctrl-Y":
@@ -607,8 +640,8 @@
"""Enter a character into the cursor position."""
self.context.insertText(key)
- if dbg:
- text = drlg.alphContent.getText(fen.graph,
self.context.c.getAccursed())
+ if 1: #dbg:
+ text =
self.context.alphContent.getText(self.context.c.getAccursed())
print text[0:self.context.c.getOffset()], '[cursor]'
Index: fenfire/org/fenfire/view/lava/mindMapView2D.py
diff -u fenfire/org/fenfire/view/lava/mindMapView2D.py:1.55
fenfire/org/fenfire/view/lava/mindMapView2D.py:1.56
--- fenfire/org/fenfire/view/lava/mindMapView2D.py:1.55 Thu Aug 28 05:39:51 2003
+++ fenfire/org/fenfire/view/lava/mindMapView2D.py Fri Sep 12 11:36:13 2003
@@ -43,17 +43,25 @@
style = self.context.style
- # node view normal nodes of floating buffer
- normal_text = ff.view.TextNodeView(self.fen.txtfunc, style,
java.awt.Color(0., 0., 0.), 250.)
- normal_text_bg = ff.fenmm.WhiteNodeView(normal_text,
java.awt.Color(.6, .6, 0))
- normal = ff.swamp.CachedPureNodeFunction(100, self.fen.graph,
normal_text_bg)
-
- # node view for accursed nodes of floating buffer
- accursed_text = ff.view.TextNodeView(self.fen.txtfunc, style,
java.awt.Color.black, 250.)
- accursed_text_bg = ff.fenmm.WhiteNodeView(accursed_text,
java.awt.Color(.9, .9, .9))
- accursed = ff.swamp.CachedPureNodeFunction(100, self.fen.graph,
accursed_text_bg)
-
- self.multiplexer = ff.swamp.MultiplexerNodeFunction(normal, accursed)
+ # nodeview for normal nodes
+ normal_text = ff.view.TextNodeView(self.context.contentFunction,
+ style, java.awt.Color(0., 0., 0.),
250.)
+ normalf = self.context.functional.createFunctionInstance(
+ "NormalTextNodeView",
+ ff.fenmm.WhiteNodeView,
+ [normal_text, java.awt.Color(.6, .6, 0)])
+
+ # nodeview for accursed nodes
+ accursed_text = ff.view.TextNodeView(self.context.contentFunction,
+ style, java.awt.Color.black, 250.)
+ accursedf = self.context.functional.createFunctionInstance(
+ "AccursedTextNodeView",
+ ff.fenmm.WhiteNodeView,
+ [accursed_text, java.awt.Color(.9, .9, .9)])
+
+ self.multiplexer = ff.swamp.MultiplexerNodeFunction(
+ normalf.getCallableFunction(),
+ accursedf.getCallableFunction())
self.floatingView = MindMapView2D(fen, context)
self.floatingView.multiplexer = self.multiplexer
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...,
Asko Soukka <=