fenfire-commits
[Top][All Lists]
Advanced

[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




reply via email to

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