diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-03-02 18:05:09 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-03-02 18:05:09 (GMT) |
commit | fa82201a38d40e508173ae3bbaf7a32b2010fadc (patch) | |
tree | 9580be12c2256f361b994bbd48ec0dd723c0f7cc /TurtleArt/taprimitive.py | |
parent | 779f5ba100a53b51a7ec001313a4caf14ecf3d73 (diff) |
added helper method for making primitives
Diffstat (limited to 'TurtleArt/taprimitive.py')
-rw-r--r-- | TurtleArt/taprimitive.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/TurtleArt/taprimitive.py b/TurtleArt/taprimitive.py index 75a1efd..bdb0ec1 100644 --- a/TurtleArt/taprimitive.py +++ b/TurtleArt/taprimitive.py @@ -70,6 +70,7 @@ class Palette(): def set_special_name(self, name): self._special_name = name + class Primitive(): """ a class for defining new block primitives """ @@ -170,3 +171,25 @@ class Primitive(): def set_prim_name(self, prim_name): self._prim_name = prim_name + + +def make_prim(block_name, style='basic-block', palette=None, label=None, + special_name=None, default=None, prim_name=None, + help_string=None, value_block=False): + """ Block factory """ + b = Primitive(block_name) + b.set_style(style) + if palette is not None: + b.set_palette(palette) + if label is not None: + b.set_label(label) + if special_name is not None: + b.set_special_name(special_name) + if default is not None: + b.set_default(default) + if prim_name is not None: + b.set_prim_name(prim_name) + if help_string is not None: + b.set_help(help_string) + b.set_value_block(value_block) + b.add_prim() |