gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz ./Makefile doc/pegboard/gfxdemos_framework-...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./Makefile doc/pegboard/gfxdemos_framework-...
Date: Thu, 19 Dec 2002 10:02:33 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/12/19 10:02:33

Modified files:
        .              : Makefile 
        doc/pegboard/gfxdemos_framework--tjl: peg.rst 
        gfx/demo/paper : singlepaper.py util.py 
        gfx/util       : demo.py 
Added files:
        gfx/util       : demokeys.py demowindow.py 

Log message:
        declarative keying

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Makefile.diff?tr1=1.226&tr2=1.227&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/paper/singlepaper.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/paper/util.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/util/demokeys.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/util/demowindow.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/util/demo.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gzz/Makefile
diff -u gzz/Makefile:1.226 gzz/Makefile:1.227
--- gzz/Makefile:1.226  Thu Dec 19 04:12:38 2002
+++ gzz/Makefile        Thu Dec 19 10:02:33 2002
@@ -431,7 +431,7 @@
 GLDEMO=gfx/util/demo.py $(DBG)
 
 runpaper:
-       $(GLLIB) $(JYTHON) $(GLDEMO) gfx/demo/papertest.py
+       $(GLLIB) $(JYTHON) $(GLDEMO) gfx.demo.paper
 runtestto:
        $(GLLIB) $(JYTHON) $(GLDEMO) gfx/demo/testtimeout.py
 runpsyko:
Index: gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst
diff -u gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst:1.4 
gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst:1.5
--- gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst:1.4        Tue Dec 17 
19:24:23 2002
+++ gzz/doc/pegboard/gfxdemos_framework--tjl/peg.rst    Thu Dec 19 10:02:33 2002
@@ -3,8 +3,8 @@
 =============================================================
 
 :Authors:   Tuomas J. Lukka, Janne V. Kujala
-:Last-Modified: $Date: 2002/12/18 00:24:23 $
-:Revision: $Revision: 1.4 $
+:Last-Modified: $Date: 2002/12/19 15:02:33 $
+:Revision: $Revision: 1.5 $
 :Status:   Incomplete
 
 The current gfx/demos directory is a mess. To see an effect,
@@ -17,8 +17,13 @@
 - How should gldemo.py move between scenes if started with
   more than one?
 
+    RESOLVED: For less than ten, function keys.
+    For more, TBD.
+
 - What module for ``Toggle`` &c?
 
+    RESOLVED: ``gfx.util.demokeys``. 
+
 - Is the declarative key handling powerful enough?
 
     RESOLVED: Yes, since with the ``Custom`` type it
@@ -93,14 +98,14 @@
 key presses are decoded in a sequence of if statements,
 each Scene class shall contain a table ``keys``::
     
-    keys = [
-       Toggle("fillets", 0, "Filleting", "f"),
+    keys = KeyPresses(
+       Toggle("fillets", 0, "filleting", "f"),
        SlideLog("zoom", 900.0, "Zoom factor", "<", ">"),
        Custom("setFlurbType", re.compile("[0-9]")),
        ...
-    ]
+    )
 
-where the ``Toggle`` and others come from XXX.
+where the ``Toggle`` and others come from ``gfx.util.demokeys``.
 
 The scene mechanism ::
     
Index: gzz/gfx/demo/paper/singlepaper.py
diff -u gzz/gfx/demo/paper/singlepaper.py:1.1 
gzz/gfx/demo/paper/singlepaper.py:1.2
--- gzz/gfx/demo/paper/singlepaper.py:1.1       Thu Dec 19 08:55:16 2002
+++ gzz/gfx/demo/paper/singlepaper.py   Thu Dec 19 10:02:33 2002
@@ -14,11 +14,14 @@
        
        self.optimized = ["not", "opt", "both"]
 
+       print "Paper2scene, keys = ",keys
+       self.key = KeyPresses(self, *keys)
+
     def initpaper(self):
         self.pq = getpaper(self.seed)
         self.opq = getpaper(self.seed, optimized = 1)
 
-    def key(self, k):
+    def OLDkey(self, k):
         oldseed = self.seed
         if k >= "0" and k <= "9": self.seed = self.seed * 10 + int(k)
         if k == "BackSpace" or k == "Backspace": self.seed = self.seed / 10
@@ -42,7 +45,7 @@
        cs1 = vs.coords.affineCoordsys(0, 10, 0, 0,
                                        size.width, 0,
                                        0, size.height)
-       scale = float(zoom)
+       scale = float(self.zoom)
        cs2 = vs.coords.affineCoordsys(0, 0, 0, 0,
                                        scale / size.width, 0,
                                        0, scale / size.height)
@@ -66,7 +69,7 @@
        vs.matcher.add(cs1right, "1r")
        vs.matcher.add(cs2right, "2r")
 
-       pscale = zoom
+       pscale = self.zoom
 
 
        #print "Seed: ",self.seed," pq ",self.pq
Index: gzz/gfx/demo/paper/util.py
diff -u gzz/gfx/demo/paper/util.py:1.1 gzz/gfx/demo/paper/util.py:1.2
--- gzz/gfx/demo/paper/util.py:1.1      Thu Dec 19 08:55:16 2002
+++ gzz/gfx/demo/paper/util.py  Thu Dec 19 10:02:33 2002
@@ -97,6 +97,11 @@
 
 rng = java.util.Random()
 
+from gfx.util.demokeys import *
+keys = [
+    SlideLog("zoom", 900.0, "zoom factor", "<", ">"),
+]
+
 benchmark = 0
 def globalkey(k):
     global benchmark
@@ -116,12 +121,6 @@
         currentScene.initpaper()
     if k == "d":
         gfx.libpaper.papermill.dbg = not gfx.libpaper.papermill.dbg
-    if k == "<":
-        zoom /= 1.1
-       print zoom
-    if k == ">":
-        zoom *= 1.1
-       print zoom
     if k == "c":
         global cmap
         x,y = 0,0
Index: gzz/gfx/util/demo.py
diff -u gzz/gfx/util/demo.py:1.6 gzz/gfx/util/demo.py:1.7
--- gzz/gfx/util/demo.py:1.6    Thu Dec 19 06:09:35 2002
+++ gzz/gfx/util/demo.py        Thu Dec 19 10:02:33 2002
@@ -70,6 +70,12 @@
            list.extend(loadSubmodules(a))
     return list
 
+def firstDocLine(obj):
+    if hasattr(obj, "__doc__") and obj.__doc__ != None:
+       return obj.__doc__.splitlines()[0]
+    else:
+       return "XXX UNDOC "
+
 globalSceneMap = { }
 
 def loadScenes():
@@ -80,6 +86,8 @@
     if 1:
        reloadmod.reloadModules()
     try:
+       from gfx.util import demowindow
+       demowindow.w = w
        if "." not in scenefile or "/" in scenefile:
            exec open(scenefile) in globals(), globals()
        else:
@@ -108,7 +116,7 @@
                key = "F%s"%(i+2)
                globalSceneMap[key] = globalScenes[i]
                globalSceneHelp += "%s: %s\n"%(key,
-                       globalScenes[i].__doc__.splitlines()[0])
+                       firstDocLine(globalScenes[i]))
 
            print globalScenes, globalSceneHelp, globalSceneMap
 



reply via email to

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