Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-03-03 03:43:25 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-03-03 03:43:25 (GMT)
commitc2e939def27ef50d443ceb4ddbcd9e38bf88ace6 (patch)
tree82e2fd0bdb54ac037d8e62071299fe1d30f8a312
parent11f1d6744b229f9e8b5983880be288e14347c31c (diff)
added make_palette helper function
-rw-r--r--TurtleArt/tabasics.py35
-rw-r--r--TurtleArt/taprimitive.py13
-rw-r--r--plugins/camera_plugin.py7
-rw-r--r--plugins/rfid_plugin.py7
-rw-r--r--plugins/turtle_blocks_plugin.py22
5 files changed, 41 insertions, 43 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py
index 984a839..de64608 100644
--- a/TurtleArt/tabasics.py
+++ b/TurtleArt/tabasics.py
@@ -66,7 +66,7 @@ from random import uniform
from gettext import gettext as _
-from taprimitive import Palette, make_prim
+from taprimitive import make_palette, make_prim
from talogo import PLUGIN_DICTIONARY, logoerror
from taconstants import CONSTANTS, BLACK, WHITE
from tautils import convert, chr_to_ord, round_int, strtype
@@ -94,38 +94,31 @@ class Palettes():
def __init__(self, parent):
self.tw = parent
- p = Palette('turtle', ["#00FF00", "#00A000"])
- p.set_help(_('Palette of turtle commands'))
- p.add_palette()
+ make_palette('turtle', ["#00FF00", "#00A000"],
+ _('Palette of turtle commands'))
self._turtle_palette()
- p = Palette('pen', ["#00FFFF", "#00A0A0"])
- p.set_help(_('Palette of pen commands'))
- p.add_palette()
+ make_palette('pen', ["#00FFFF", "#00A0A0"],
+ _('Palette of pen commands'))
self._pen_palette()
- p = Palette('colors', ["#00FFFF", "#00A0A0"])
- p.set_help(_('Palette of pen colors'))
- p.add_palette()
+ make_palette('colors', ["#00FFFF", "#00A0A0"],
+ _('Palette of pen colors'))
self._color_palette()
- p = Palette('numbers', ["#FF00FF", "#A000A0"])
- p.set_help(_('Palette of numeric operators'))
- p.add_palette()
+ make_palette('numbers', ["#FF00FF", "#A000A0"],
+ _('Palette of numeric operators'))
self._numbers_palette()
- p = Palette('flow', ["#FFC000", "#A08000"])
- p.set_help(_('Palette of flow operators'))
- p.add_palette()
+ make_palette('flow', ["#FFC000", "#A08000"],
+ _('Palette of flow operators'))
self._flow_palette()
- p = Palette('blocks', ["#FFFF00", "#A0A000"])
- p.set_help(_('Palette of variable blocks'))
- p.add_palette()
+ make_palette('blocks', ["#FFFF00", "#A0A000"],
+ _('Palette of variable blocks'))
self._blocks_palette()
- p = Palette('trash', ["#FFFF00", "#A0A000"])
- p.add_palette()
+ make_palette('trash', ["#FFFF00", "#A0A000"])
self._trash_palette()
# Palette definitions
diff --git a/TurtleArt/taprimitive.py b/TurtleArt/taprimitive.py
index 7f985f8..7d73ff2 100644
--- a/TurtleArt/taprimitive.py
+++ b/TurtleArt/taprimitive.py
@@ -71,6 +71,17 @@ class Palette():
self._special_name = name
+def make_palette(palette_name, colors=None, help_string=None):
+ """ Palette helper function """
+ if colors is None:
+ p = Palette(palette_name)
+ else:
+ p = Palette(palette_name, colors)
+ if help_string is not None:
+ p.set_help(help_string)
+ p.add_palette()
+
+
class Primitive():
""" a class for defining new block primitives """
@@ -176,7 +187,7 @@ class Primitive():
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, content_block=False):
- """ Block factory """
+ """ Primitive helper function """
b = Primitive(block_name)
b.set_style(style)
if palette is not None:
diff --git a/plugins/camera_plugin.py b/plugins/camera_plugin.py
index 26150f4..ebc45a0 100644
--- a/plugins/camera_plugin.py
+++ b/plugins/camera_plugin.py
@@ -31,7 +31,7 @@ from camera.v4l2 import v4l2_control, V4L2_CID_AUTOGAIN, VIDIOC_G_CTRL, \
from plugin import Plugin
-from TurtleArt.taprimitive import Palette, make_prim
+from TurtleArt.taprimitive import make_palette, make_prim
from TurtleArt.talogo import MEDIA_BLOCKS_DICTIONARY, PLUGIN_DICTIONARY
from TurtleArt.tautils import get_path
@@ -58,9 +58,8 @@ class Camera_plugin(Plugin):
self._status = True
def setup(self):
- sensors = Palette('sensor')
- sensors.set_help(_('Palette of sensor blocks'))
- sensors.add_palette()
+ make_palette('sensor', ["#FF6060", "#A06060"],
+ _('Palette of sensor blocks'))
# set up camera-specific blocks
if self._status:
diff --git a/plugins/rfid_plugin.py b/plugins/rfid_plugin.py
index a69eb6d..03b08bd 100644
--- a/plugins/rfid_plugin.py
+++ b/plugins/rfid_plugin.py
@@ -29,7 +29,7 @@ from rfid.rfidutils import strhex2bin, strbin2dec, find_device
from plugin import Plugin
-from TurtleArt.taprimitive import Palette, make_prim
+from TurtleArt.taprimitive import make_palette, make_prim
from TurtleArt.talogo import PLUGIN_DICTIONARY
import logging
@@ -86,9 +86,8 @@ class Rfid_plugin(Plugin):
def setup(self):
# set up RFID-specific blocks
if self._status:
- sensors = Palette('sensor')
- sensors.set_help(_('Palette of sensor blocks'))
- sensors.add_palette()
+ make_palette('sensor', ["#FF6060", "#A06060"],
+ _('Palette of sensor blocks'))
PLUGIN_DICTIONARY['rfid'] = self.prim_read_camera
make_prim('rfid',
diff --git a/plugins/turtle_blocks_plugin.py b/plugins/turtle_blocks_plugin.py
index 969fde8..ce6f73b 100644
--- a/plugins/turtle_blocks_plugin.py
+++ b/plugins/turtle_blocks_plugin.py
@@ -30,7 +30,7 @@ except ImportError:
pass
from plugin import Plugin
-from TurtleArt.taprimitive import Palette, make_prim
+from TurtleArt.taprimitive import make_palette, make_prim
from TurtleArt.talogo import PLUGIN_DICTIONARY, logoerror, \
MEDIA_BLOCKS_DICTIONARY
from TurtleArt.taconstants import DEFAULT_SCALE, CONSTANTS, ICON_SIZE
@@ -81,24 +81,20 @@ class Turtle_blocks_plugin(Plugin):
# set up Turtle Block palettes
self._flow_palette()
- p = Palette('media', ["#A0FF00", "#80A000"])
- p.set_help(_('Palette of media objects'))
- p.add_palette()
+ make_palette('media', ["#A0FF00", "#80A000"],
+ _('Palette of media objects'))
self._media_palette()
- p = Palette('sensor', ["#FF6060", "#A06060"])
- p.set_help(_('Palette of sensor blocks'))
- p.add_palette()
+ make_palette('sensor', ["#FF6060", "#A06060"],
+ _('Palette of sensor blocks'))
self._sensor_palette()
- p = Palette('extras', ["#FF0000", "#A00000"])
- p.set_help(_('Palette of extra options'))
- p.add_palette()
+ make_palette('extras', ["#FF0000", "#A00000"],
+ _('Palette of extra options'))
self._extras_palette()
- p = Palette('portfolio', ["#0606FF", "#0606A0"])
- p.set_help(_('Palette of presentation templates'))
- p.add_palette()
+ make_palette('portfolio', ["#0606FF", "#0606A0"],
+ _('Palette of presentation templates'))
self._portfolio_palette()
def start(self):