Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/tablock.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-10-10 22:22:37 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-10-10 22:22:37 (GMT)
commitdcd7408d2f4c18e9342119829aa039693c276b31 (patch)
treef6643d1d4c1ba72409727a9f9b7f84d2c5a56173 /TurtleArt/tablock.py
parentaf3be3449aefad988cc6d733182a970eda0da764 (diff)
pep8 cleanup
Diffstat (limited to 'TurtleArt/tablock.py')
-rw-r--r--TurtleArt/tablock.py190
1 files changed, 96 insertions, 94 deletions
diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py
index de7b18f..db9ef0b 100644
--- a/TurtleArt/tablock.py
+++ b/TurtleArt/tablock.py
@@ -34,8 +34,8 @@ from taconstants import EXPANDABLE, EXPANDABLE_BLOCKS, EXPANDABLE_ARGS, \
FLOW_STYLE_1ARG, FLOW_STYLE_BOOLEAN, FLOW_STYLE_WHILE, FLOW_STYLE_ELSE, \
COLLAPSIBLE_TOP, COLLAPSIBLE_TOP_NO_ARM, COLLAPSIBLE_TOP_NO_LABEL, \
COLLAPSIBLE_TOP_NO_ARM_NO_LABEL, COLLAPSIBLE_BOTTOM, PORTFOLIO_STYLE_2x2, \
- PORTFOLIO_STYLE_1x1, PORTFOLIO_STYLE_2x1, PORTFOLIO_STYLE_1x2, BOX_COLORS, \
- STANDARD_STROKE_WIDTH, SELECTED_STROKE_WIDTH, SELECTED_COLOR, \
+ PORTFOLIO_STYLE_1x1, PORTFOLIO_STYLE_2x1, PORTFOLIO_STYLE_1x2, \
+ STANDARD_STROKE_WIDTH, SELECTED_STROKE_WIDTH, SELECTED_COLOR, BOX_COLORS, \
BASIC_STYLE_EXTENDED_VERTICAL
from tasprite_factory import SVG, svg_str_to_pixbuf
import sprites
@@ -43,10 +43,10 @@ import sprites
import logging
_logger = logging.getLogger('turtleart-activity')
-#
-# A class for the list of blocks and everything they share in common
-#
+
class Blocks:
+ """ A class for the list of blocks and everything they share in common """
+
def __init__(self, font_scale_factor=1, decimal_point='.'):
self.list = []
self.font_scale_factor = font_scale_factor
@@ -61,7 +61,7 @@ class Blocks:
def length_of_list(self):
return(len(self.list))
- def append_to_list(self,block):
+ def append_to_list(self, block):
self.list.append(block)
def remove_from_list(self, block):
@@ -76,7 +76,7 @@ class Blocks:
def set_scale(self, scale):
for b in self.list:
for i in range(len(b._font_size)):
- b._font_size[i] *= b.scale*scale/self.font_scale_factor
+ b._font_size[i] *= b.scale * scale / self.font_scale_factor
self.font_scale_factor = scale
def spr_to_block(self, spr):
@@ -112,14 +112,13 @@ class Blocks:
break
i += 1
return None
-
-#
-# A class for the individual blocks
-#
+
class Block:
+ """ A class for the individual blocks """
+
def __init__(self, block_list, sprite_list, name, x, y, type='block',
- values=[], scale=BLOCK_SCALE, colors=["#FF0000","#A00000"]):
+ values=[], scale=BLOCK_SCALE, colors=["#FF0000", "#A00000"]):
self.block_list = block_list
self.spr = None
self.shapes = [None, None]
@@ -143,7 +142,8 @@ class Block:
self.name = OLD_NAMES[self.name]
for i in range(len(self._font_size)):
- self._font_size[i] *= self.scale*self.block_list.font_scale_factor
+ self._font_size[i] *= self.scale * \
+ self.block_list.font_scale_factor
for v in (values):
self.values.append(v)
@@ -165,46 +165,45 @@ class Block:
self.block_list.append_to_list(self)
- # We may want to highlight a block...
def highlight(self):
+ """ We may want to highlight a block... """
if self.spr is not None:
self.spr.set_shape(self.shapes[1])
- # Or unhighlight it.
def unhighlight(self):
+ """ Or unhighlight it. """
if self.spr is not None:
self.spr.set_shape(self.shapes[0])
- # We need to resize some blocks on the fly so that the labels fit.
def resize(self):
+ """ We need to resize some blocks on the fly so the labels fit. """
if self.spr is None:
return
- dx = (self.spr.label_width()-self.spr.label_safe_width())/self.scale
+ dx = (self.spr.label_width() - self.spr.label_safe_width()) / \
+ self.scale
if dx !=0:
self.dx += dx
if self.dx < 0:
self.dx = 0
self.refresh()
- # Some blocks get a skin.
def set_image(self, image, x, y):
+ """ Some blocks get a skin. """
if self.spr is None:
return
self._image = image
self.spr.set_image(image, 1, x, y)
- # The skin might need scaling.
- # Keep the original here, the scaled version stays with the sprite.
def scale_image(self, x, y, w, h):
+ """ The skin might need scaling. """
if self.spr is None:
return
if self._image is not None:
- tmp = self._image.scale_simple(w, h,
- gtk.gdk.INTERP_NEAREST)
+ tmp = self._image.scale_simple(w, h, gtk.gdk.INTERP_NEAREST)
self.spr.set_image(tmp, 1, x, y)
- # We may want to rescale blocks as well.
def rescale(self, scale):
+ """ We may want to rescale blocks as well. """
if self.spr is None:
return
for i in range(len(self._font_size)):
@@ -224,8 +223,8 @@ class Block:
self._set_margins()
self.spr.set_shape(self.shapes[0])
- # We may want to add additional slots for arguments ("innies").
def add_arg(self, keep_expanding=True):
+ """ We may want to add additional slots for arguments ("innies"). """
if self.spr is None:
return
h = self.svg.get_height()
@@ -235,10 +234,10 @@ class Block:
else:
self.svg.set_show(False)
self.refresh()
- return self.svg.get_height()-h
+ return self.svg.get_height() - h
- # We may want to grow a block vertically.
def expand_in_y(self, dy):
+ """ We may want to grow a block vertically. """
if self.spr is None:
return
self.ey += dy
@@ -253,8 +252,8 @@ class Block:
self.svg.set_show(False)
self.refresh()
- # We may want to grow a block horizontally.
def expand_in_x(self, dx):
+ """ We may want to grow a block horizontally. """
if self.spr is None:
return
self.ex += dx
@@ -320,7 +319,7 @@ class Block:
self.shapes[0] = copy_block.shapes[0]
self.spr = sprites.Sprite(sprite_list, x, y, self.shapes[0])
self.spr._margins = copy_block.spr._margins[:]
- if len(copy_block.shapes) > 1:
+ if len(copy_block.shapes) > 1:
self.shapes[1] = copy_block.shapes[1]
self.docks = copy_block.docks[:]
else:
@@ -349,7 +348,7 @@ class Block:
elif self.name in BLOCK_NAMES:
for i, n in enumerate(BLOCK_NAMES[self.name]):
self._set_labels(i, n)
-
+
if copy_block is None:
if self.spr.label_width() > self.spr.label_safe_width():
self.resize()
@@ -367,14 +366,14 @@ class Block:
n = len(BLOCK_NAMES[self.name])
for i in range(n):
if i == 1: # top
- self.spr.set_label_attributes(int(self._font_size[1]+0.5), True,
- "right", "top", i)
+ self.spr.set_label_attributes(int(self._font_size[1] + 0.5),
+ True, 'right', 'top', i)
elif i == 2: # bottom
- self.spr.set_label_attributes(int(self._font_size[1]+0.5), True,
- "right", "bottom", i)
+ self.spr.set_label_attributes(int(self._font_size[1] + 0.5),
+ True, 'right', 'bottom', i)
else:
- self.spr.set_label_attributes(int(self._font_size[0]+0.5), True,
- "center", "middle", i)
+ self.spr.set_label_attributes(int(self._font_size[0] + 0.5),
+ True, 'center', 'middle', i)
def _set_labels(self, i, label):
self.spr.set_label(label, i)
@@ -474,13 +473,14 @@ class Block:
self.svg.set_colors(self.colors)
def _make_basic_style(self, svg, extend_x=0, extend_y=0):
- self.svg.expand(self.dx+self.ex+extend_x, self.ey+extend_y)
+ self.svg.expand(self.dx + self.ex + extend_x, self.ey + extend_y)
self._make_block_graphics(svg, self.svg.basic_block)
- self.docks = [['flow',True,self.svg.docks[0][0],self.svg.docks[0][1]],
- ['flow',False,self.svg.docks[1][0],self.svg.docks[1][1]]]
+ self.docks = [['flow', True, self.svg.docks[0][0],
+ self.svg.docks[0][1]], ['flow',
+ False, self.svg.docks[1][0], self.svg.docks[1][1]]]
def _make_basic_style_head(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_slot(False)
self.svg.set_cap(True)
self._make_block_graphics(svg, self.svg.basic_block)
@@ -489,7 +489,7 @@ class Block:
self.svg.docks[0][1]]]
def _make_basic_style_head_1arg(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_innie([True])
self.svg.set_slot(False)
self.svg.set_cap(True)
@@ -501,7 +501,7 @@ class Block:
self.svg.docks[1][1]]]
def _make_basic_style_tail(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_tab(False)
self._make_block_graphics(svg, self.svg.basic_block)
self.docks = [['flow', True, self.svg.docks[0][0],
@@ -509,7 +509,7 @@ class Block:
['unavailable', False, 0, 0]]
def _make_basic_style_1arg(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_innie([True])
self._make_block_graphics(svg, self.svg.basic_block)
self.docks = [['flow', True, self.svg.docks[0][0],
@@ -520,8 +520,8 @@ class Block:
self.svg.docks[2][1]]]
def _make_basic_style_2arg(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
- self.svg.set_innie([True,True])
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
+ self.svg.set_innie([True, True])
self._make_block_graphics(svg, self.svg.basic_block)
self.docks = [['flow', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
@@ -533,7 +533,7 @@ class Block:
self.svg.docks[3][1]]]
def _make_basic_style_var_arg(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
innie = [True]
for i in range(self._ei):
innie.append(True)
@@ -544,13 +544,13 @@ class Block:
['number', False, self.svg.docks[1][0],
self.svg.docks[1][1]]]
for i in range(self._ei):
- self.docks.append(['number', False, self.svg.docks[i+2][0],
- self.svg.docks[i+2][1]])
- self.docks.append(['flow', False, self.svg.docks[self._ei+2][0],
- self.svg.docks[self._ei+2][1]])
+ self.docks.append(['number', False, self.svg.docks[i + 2][0],
+ self.svg.docks[i + 2][1]])
+ self.docks.append(['flow', False, self.svg.docks[self._ei + 2][0],
+ self.svg.docks[self._ei + 2][1]])
def _make_bullet_style(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
innie = [True, True]
for i in range(self._ei):
innie.append(True)
@@ -563,28 +563,28 @@ class Block:
['string', False, self.svg.docks[2][0],
self.svg.docks[2][1]]]
for i in range(self._ei):
- self.docks.append(['string', False, self.svg.docks[i+3][0],
- self.svg.docks[i+3][1]])
- self.docks.append(['flow', False, self.svg.docks[self._ei+3][0],
- self.svg.docks[self._ei+3][1], ']'])
+ self.docks.append(['string', False, self.svg.docks[i + 3][0],
+ self.svg.docks[i + 3][1]])
+ self.docks.append(['flow', False, self.svg.docks[self._ei + 3][0],
+ self.svg.docks[self._ei + 3][1], ']'])
def _make_box_style(self, svg):
- self.svg.expand(60+self.dx+self.ex, self.ey)
+ self.svg.expand(60 + self.dx + self.ex, self.ey)
self._make_block_graphics(svg, self.svg.basic_box)
self.docks = [['number', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
['unavailable', False, 0, 0]]
def _make_media_style(self, svg):
- self.svg.expand(40+self.dx+self.ex, 10+self.ey)
+ self.svg.expand(40 + self.dx + self.ex, 10 + self.ey)
self._make_block_graphics(svg, self.svg.basic_box)
self.docks = [['number', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
['unavailable', False, 0, 0]]
def _make_number_style(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
- self.svg.set_innie([True,True])
+ self.svg.expand(self.dx + self.ex, self.ey)
+ self.svg.set_innie([True, True])
self.svg.set_outie(True)
self.svg.set_tab(False)
self.svg.set_slot(False)
@@ -598,30 +598,30 @@ class Block:
['number', False, self.svg.docks[0][0],
self.svg.docks[0][1]],
['number', False, self.svg.docks[1][0],
- self.svg.docks[1][1]]]
+ self.svg.docks[1][1]]]
def _make_number_style_var_arg(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
innie = [True]
- for i in range(self._ei+1):
+ for i in range(self._ei + 1):
innie.append(True)
self.svg.set_innie(innie)
self.svg.set_outie(True)
self.svg.set_tab(False)
self.svg.set_slot(False)
self._make_block_graphics(svg, self.svg.basic_block)
- self.docks = [['number', True, self.svg.docks[2+self._ei][0],
- self.svg.docks[2+self._ei][1]],
+ self.docks = [['number', True, self.svg.docks[2 + self._ei][0],
+ self.svg.docks[2 + self._ei][1]],
['number', False, self.svg.docks[0][0],
self.svg.docks[0][1]]]
- for i in range(self._ei+1):
- self.docks.append(['number', False, self.svg.docks[i+1][0],
- self.svg.docks[i+1][1]])
+ for i in range(self._ei + 1):
+ self.docks.append(['number', False, self.svg.docks[i + 1][0],
+ self.svg.docks[i + 1][1]])
self.docks.append(['unavailable', False, 0, 0])
def _make_number_style_block(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
- self.svg.set_innie([True,True])
+ self.svg.expand(self.dx + self.ex, self.ey)
+ self.svg.set_innie([True, True])
self.svg.set_outie(True)
self.svg.set_tab(False)
self.svg.set_slot(False)
@@ -635,7 +635,7 @@ class Block:
['unavailable', False, 0, 0, ')']]
def _make_number_style_1arg(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_innie([True])
self.svg.set_outie(True)
self.svg.set_tab(False)
@@ -647,7 +647,7 @@ class Block:
self.svg.docks[0][1]]]
def _make_number_style_1strarg(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_innie([True])
self.svg.set_outie(True)
self.svg.set_tab(False)
@@ -660,8 +660,8 @@ class Block:
['unavailable', False, 0, 0]]
def _make_number_style_porch(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
- self.svg.set_innie([True,True])
+ self.svg.expand(self.dx + self.ex, self.ey)
+ self.svg.set_innie([True, True])
self.svg.set_outie(True)
self.svg.set_tab(False)
self.svg.set_slot(False)
@@ -672,10 +672,10 @@ class Block:
['number', False, self.svg.docks[0][0],
self.svg.docks[0][1]],
['number', False, self.svg.docks[1][0],
- self.svg.docks[1][1]]]
+ self.svg.docks[1][1]]]
def _make_compare_style(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self._make_block_graphics(svg, self.svg.boolean_compare)
self.docks = [['bool', True, self.svg.docks[0][0],
self.svg.docks[0][1], '('],
@@ -686,7 +686,7 @@ class Block:
['unavailable', False, 0, 0, ')']]
def _make_boolean_style(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self._make_block_graphics(svg, self.svg.boolean_and_or)
self.docks = [['bool', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
@@ -694,9 +694,9 @@ class Block:
self.svg.docks[1][1]],
['bool', False, self.svg.docks[2][0],
self.svg.docks[2][1]]]
-
+
def _make_not_style(self, svg):
- self.svg.expand(15+self.dx+self.ex, self.ey)
+ self.svg.expand(15 + self.dx + self.ex, self.ey)
self._make_block_graphics(svg, self.svg.boolean_not)
self.docks = [['bool', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
@@ -704,7 +704,7 @@ class Block:
self.svg.docks[1][1]]]
def _make_flow_style(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self._make_block_graphics(svg, self.svg.basic_flow)
@@ -716,7 +716,7 @@ class Block:
self.svg.docks[2][1], ']']]
def _make_flow_style_tail(self, svg):
- self.svg.expand(10+self.dx+self.ex, self.ey)
+ self.svg.expand(10 + self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(False)
self._make_block_graphics(svg, self.svg.basic_flow)
@@ -726,7 +726,7 @@ class Block:
self.svg.docks[1][1]]]
def _make_flow_style_1arg(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self.svg.set_innie([True])
@@ -741,7 +741,7 @@ class Block:
self.svg.docks[3][1], ']']]
def _make_flow_style_boolean(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self.svg.set_boolean(True)
@@ -756,7 +756,7 @@ class Block:
self.svg.docks[3][1], ']']]
def _make_flow_style_while(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self.svg.set_boolean(True)
@@ -771,7 +771,7 @@ class Block:
self.svg.docks[3][1], ']']]
def _make_flow_style_else(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self.svg.set_else(True)
@@ -789,7 +789,7 @@ class Block:
self.svg.docks[4][1], ']']]
def _make_collapsible_style_top(self, svg, arm=True, label=True):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self.svg.set_arm(arm)
self._make_block_graphics(svg, self.svg.sandwich_top, label)
if label:
@@ -806,17 +806,19 @@ class Block:
self.svg.docks[1][1]]]
def _make_collapsible_style_bottom(self, svg):
- self.svg.expand(self.dx+self.ex, self.ey)
+ self.svg.expand(self.dx + self.ex, self.ey)
self._make_block_graphics(svg, self.svg.sandwich_bottom)
- self.docks = [['flow',True,self.svg.docks[0][0],self.svg.docks[0][1]],
- ['flow',False,self.svg.docks[1][0],self.svg.docks[1][1]]]
+ self.docks = [['flow', True, self.svg.docks[0][0],
+ self.svg.docks[0][1]], ['flow', False,
+ self.svg.docks[1][0], self.svg.docks[1][1]]]
# Depreciated block styles
+
def _make_portfolio_style_2x2(self, svg):
- self.svg.expand(30+self.dx+self.ex, 10+self.ey)
+ self.svg.expand(30 + self.dx + self.ex, 10 + self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
- self.svg.set_innie([True, True, False, True])
+ self.svg.set_innie([True, True, False, True])
self._make_block_graphics(svg, self.svg.portfolio)
self.docks = [['flow', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
@@ -834,10 +836,10 @@ class Block:
self.svg.docks[3][1]]]
def _make_portfolio_style_2x1(self, svg):
- self.svg.expand(30+self.dx+self.ex, 10+self.ey)
+ self.svg.expand(30 + self.dx + self.ex, 10 + self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
- self.svg.set_innie([True, True])
+ self.svg.set_innie([True, True])
self._make_block_graphics(svg, self.svg.portfolio)
self.docks = [['flow', True, self.svg.docks[0][0],
self.svg.docks[0][1]],
@@ -851,7 +853,7 @@ class Block:
self.svg.docks[2][1]]]
def _make_portfolio_style_1x2(self, svg):
- self.svg.expand(30+self.dx+self.ex, 15+self.ey)
+ self.svg.expand(30 + self.dx + self.ex, 15 + self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
self.svg.set_innie([True, True, False, True])
@@ -869,10 +871,10 @@ class Block:
self.svg.docks[1][1]]]
def _make_portfolio_style_1x1(self, svg):
- self.svg.expand(30+self.dx+self.ex, 15+self.ey)
+ self.svg.expand(30 + self.dx + self.ex, 15 + self.ey)
self.svg.set_slot(True)
self.svg.set_tab(True)
- self.svg.set_innie([True, True])
+ self.svg.set_innie([True, True])
self.svg.set_draw_innies(False)
self._make_block_graphics(svg, self.svg.portfolio)
self.docks = [['flow', True, self.svg.docks[0][0],