diff options
author | Pootle 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) |
commit | 86e2111461fab98d8c188d50ec8bd0c72c527f73 (patch) | |
tree | 6976b1ce163cb60586011951d748177e3663e937 /pysamples/uturn.py | |
parent | d0bcef61b8ca9b8ef0066a891819dba950764d40 (diff) | |
parent | c9b92a2a244430c677b2e27645a23c082c6c8188 (diff) |
Merge branch 'master' of git.sugarlabs.org:turtleart/mainline
Diffstat (limited to 'pysamples/uturn.py')
-rw-r--r-- | pysamples/uturn.py | 35 |
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) |