gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] fenfire/org/fenfire/demo mind.py


From: Asko Soukka
Subject: [Gzz-commits] fenfire/org/fenfire/demo mind.py
Date: Tue, 12 Aug 2003 16:12:34 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Asko Soukka <address@hidden>    03/08/12 16:12:34

Modified files:
        org/fenfire/demo: mind.py 

Log message:
        Asko rikkoi Matin näkymän

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/mind.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/mind.py
diff -u fenfire/org/fenfire/demo/mind.py:1.4 
fenfire/org/fenfire/demo/mind.py:1.5
--- fenfire/org/fenfire/demo/mind.py:1.4        Wed Aug  6 12:02:31 2003
+++ fenfire/org/fenfire/demo/mind.py    Tue Aug 12 16:12:34 2003
@@ -10,20 +10,51 @@
 
 import jarray
 
-pool = storm.impl.TransientPool(java.util.HashSet())
+# save and load
+from com.hp.hpl.mesa.rdf.jena.mem import ModelMem
+import os.path
+
+DIR = 'myFenfire/'
+FILE = DIR+'mindmap.rdf'
+
+os.system('mkdir -p '+DIR)
+pool = storm.impl.DirPool(java.io.File(DIR), java.util.HashSet())
 myalph = alph.impl.StormAlph(pool)
 
+vob.putil.demo.usingNormalBindings = 0
+
+# manual system to toggle the load point ;)
+# first time put 0 in here,
+# then Qtrl-Q for quit and save
+# then put load_toggle to 1 and rerun.
+do_load_graph = 0
+
+# automatic system for previous
+if os.path.isfile(FILE):
+    print 'Loading the RDF graph from the file %s', FILE
+    do_load_graph = 1
+else:
+    print 'Creating a new RDF graph'
+    do_load_graph = 0
+
 fen = ff.Fen()
-fen.graph = fen.constgraph = ff.swamp.impl.HashGraph()
+if do_load_graph:
+    m = ModelMem()
+    m.read(java.io.FileReader(FILE), None);
+    fen.constgraph = fen.graph = ff.swamp.Graphs.toGraph(m);
+else:
+    fen.graph = fen.constgraph = ff.swamp.impl.HashGraph()
 fen.txt = ff.impl.SimpleNodeContent(fen, myalph);
 fen.txtfunc = fen.txt.getNodeFunction()
 fen.enfiladeOverlap = fen.txt.getTransclusionIndex()
 alphContent = ff.util.AlphContent(fen)
 
 vs = w.createVobScene()
-vs.put(background((.8, .4, .9)))
+vs.put(background((1, 1, 1)))
 
 textstyle = vob.GraphicsAPI.getInstance().getTextStyle("sans", 0, 24)
+nodeview = ff.view.TextNodeView(fen.txtfunc, textstyle, 1)
+nodeview.setHasNoContext()
 
 def p(*s):
     print "mind.py::", s
@@ -33,7 +64,6 @@
 def rotatelist(list):
     list.append(list.pop(0))
 
-
 class MindMap:
     def __init__(self):
         self._acc = None
@@ -102,11 +132,11 @@
         w.setCursor('default')
         self.mm = MindMap()
 
-        init = [ 'elephant', 'carrot', 'mouse', 'line', 'smoke',
-                 'dog', 'fish', 'wait', 'light', 'smile', 'work to do' ]
-        for i in init:
-            self.mm.setAccursed(None)
-            self.mm.insertText(i)
+#        init = [ 'elephant', 'carrot', 'mouse', 'line', 'smoke',
+#                'dog', 'fish', 'wait', 'light', 'smile', 'work to do' ]
+#        for i in init:
+#           self.mm.setAccursed(None)
+#           self.mm.insertText(i)
         self.center = None
         self.scumm = [ 'go', 'link', 'unlink' ]
 
@@ -166,6 +196,15 @@
                 self.mm.deleteText()
                 if self.mm.getAccursed() == None:
                     self.center = None
+        elif key == "Ctrl-Q":
+            p("going to save");
+
+            m = ff.swamp.Graphs.toModel(fen.graph);
+            m.write(java.io.FileWriter(FILE));
+
+            java.lang.System.exit(43)
+        elif key == "Ctrl-R":
+            vob.putil.demo.loadScenes()
         elif len(key) == 1:
             if self.mm.getAccursed() == None:
                 vob.AbstractUpdateManager.setNoAnimation()
@@ -175,7 +214,7 @@
             
     def scene(self, vs):
         self.vs = vs
-        vs.put(background((.1, .1, .9)))
+        vs.put(background((1, 1, 1)))
 
         unused = []
         iter = fen.graph.findN_X11_Iter(RDF.type, M.Data)
@@ -227,12 +266,12 @@
                 MindData().place(self.mm, li, vs, pl[0])
                 self.nodes.put(li, pl)
                 vs.put(vob.vobs.LineVob(xx,yy,int(pl[1]), int(pl[2]),
-                                        java.awt.Color.yellow), 0)
+                                        java.awt.Color.black), 0)
                 self.doLink.put(li, '1')
             else:
                 pl = self.nodes.get(li)
                 vs.put(vob.vobs.LineVob(xx,yy,int(pl[1]), int(pl[2]),
-                                        java.awt.Color.red), 0)
+                                        java.awt.Color.black), 0)
 
         for link in links:
             if self.doLink.get(link) != None:
@@ -287,30 +326,34 @@
         vs.coords.getSqSize(cs, box)
         bx, by = box[0], box[1]
 
-        if key == mm.getAccursed():
-            color = wh = java.awt.Color.white
-            if rect:
-                vs.put(vob.vobs.RectBgVob(self.color(key),1,wh), cs)
-            else: vs.put(vob.vobs.OvalBgVob(self.color(key),1,wh), cs)
-        else:
-            color = java.awt.Color.black
-            if rect:
-                vs.put(vob.vobs.RectBgVob(self.color(key)), cs)
-            else: vs.put(vob.vobs.OvalBgVob(self.color(key)), cs)
+#        if key == mm.getAccursed():
+#            color = wh = java.awt.Color.white
+#            if rect:
+#                vs.put(vob.vobs.RectBgVob(self.color(key),1,wh), cs)
+#            else: vs.put(vob.vobs.OvalBgVob(self.color(key),1,wh), cs)
+#        else:
+#            color = java.awt.Color.black
+#            if rect:
+#                vs.put(vob.vobs.RectBgVob(self.color(key)), cs)
+#            else: vs.put(vob.vobs.OvalBgVob(self.color(key)), cs)
         vs.activate(cs)
 
         # put the text
         cs = vs.translateCS(cs, "TR", 0, by*0.3 )
         
-        text = vob.vobs.TextVob(textstyle, alphContent
-                                .getText(fen.graph,key), 0,
-                                color)
-        cs = vs.scaleCS(cs, "SC", bx/4, by/2)
-        vs.put(text, cs)
+        p = nodeview.f(fen.graph, key)
+
+#        text = vob.vobs.TextVob(textstyle, alphContent
+#                                .getText(fen.graph,key), 0,
+#                                color)
+        
+#        cs = vs.scaleCS(cs, "SC", bx/4, by/2)
+        p.place(vs, cs)
 
     def color(self, key):
-        r = java.util.Random(java.lang.String(key).hashCode())
-        return java.awt.Color(r.nextFloat(), r.nextFloat(), r.nextFloat() )
+        return java.awt.Color.white
+#        r = java.util.Random(java.lang.String(key).hashCode())
+#        return java.awt.Color(r.nextFloat(), r.nextFloat(), r.nextFloat() )
 
 class MindNet:
     def __init__(self):




reply via email to

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