Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pysamples/uturn.py
diff options
context:
space:
mode:
authorPootle daemon <pootle@pootle.sugarlabs.org>2011-06-13 14:23:40 (GMT)
committer Pootle daemon <pootle@pootle.sugarlabs.org>2011-06-13 14:23:40 (GMT)
commit86e2111461fab98d8c188d50ec8bd0c72c527f73 (patch)
tree6976b1ce163cb60586011951d748177e3663e937 /pysamples/uturn.py
parentd0bcef61b8ca9b8ef0066a891819dba950764d40 (diff)
parentc9b92a2a244430c677b2e27645a23c082c6c8188 (diff)
Merge branch 'master' of git.sugarlabs.org:turtleart/mainline
Diffstat (limited to 'pysamples/uturn.py')
-rw-r--r--pysamples/uturn.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/pysamples/uturn.py b/pysamples/uturn.py
new file mode 100644
index 0000000..0b164a0
--- /dev/null
+++ b/pysamples/uturn.py
@@ -0,0 +1,35 @@
+#Copyright (c) 2011, Walter Bender
+
+# This procedure is invoked when the user-definable block on the
+# "extras" palette is selected.
+
+# Usage: Import this code into a Python (user-definable) block; when
+# it is run, a u-turn block will be added to the Turtle Palette. You
+# can use the u-turn block as you would any other block.
+
+
+def myblock(tw, arg):
+ ''' Add a uturn block to the 'turtle' palette '''
+
+ from TurtleArt.tapalette import make_palette, palette_name_to_index
+ from TurtleArt.talogo import primitive_dictionary
+ from gettext import gettext as _
+
+ # Choose a palette for the new block.
+ palette = make_palette('turtle')
+
+ # Create a new block prototype.
+ palette.add_block('uturn',
+ style='basic-style-extended-vertical',
+ label=_('uturn'),
+ prim_name='uturn',
+ help_string=_('make a uturn'))
+
+ # Add its primitive to the LogoCode dictionary.
+ tw.lc.def_prim('uturn', 0,
+ lambda self: primitive_dictionary['set'](
+ 'heading', tw.canvas.seth, tw.canvas.heading + 180))
+
+ # Regenerate the palette, which will now include the new block.
+ tw.show_toolbar_palette(palette_name_to_index('turtle'),
+ regenerate=True)