Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tablock.py12
-rw-r--r--TurtleArt/talogo.py1
-rw-r--r--TurtleArt/tawindow.py20
3 files changed, 24 insertions, 9 deletions
diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py
index adbd196..3f8863b 100644
--- a/TurtleArt/tablock.py
+++ b/TurtleArt/tablock.py
@@ -40,6 +40,7 @@ class Blocks:
def __init__(self, font_scale_factor=1, decimal_point='.'):
self.list = []
+ self.max_width = 400
self.font_scale_factor = font_scale_factor
self.decimal_point = decimal_point
@@ -245,7 +246,7 @@ class Block:
return False
if self.name in block_styles['box-style']:
return False
- if self.name in ['storein', 'box',
+ if self.name in ['storein', 'box', 'string',
# Deprecated blocks
'sandwichtop', 'sandwichtop_no_label']:
return False
@@ -267,7 +268,12 @@ class Block:
return
dx = (self.spr.label_width() - self.spr.label_safe_width()) / \
self.scale
- if dx != 0:
+ if self.dx + dx >= self.block_list.max_width and \
+ self.name == 'string':
+ self.dx = self.block_list.max_width
+ self.refresh()
+ self._set_labels(0, self.spr.labels[0])
+ elif dx != 0:
self.dx += dx
if self.dx < 0:
self.dx = 0
@@ -543,6 +549,8 @@ class Block:
i=i)
elif self.name in EXPANDABLE_FLOW:
self._calc_moving_labels(i)
+ elif self.name == 'string':
+ self.spr.set_label_attributes(size, False, 'center', 'middle')
elif i == 1: # top
self.spr.set_label_attributes(size, True, 'right', 'top', i=i)
elif i > 0 and i == n - 1: # bottom
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py
index 7b84e9e..9cdb317 100644
--- a/TurtleArt/talogo.py
+++ b/TurtleArt/talogo.py
@@ -361,7 +361,6 @@ class LogoCode:
self.icall(self.evline, blklist)
yield True
if self.tw.running_sugar:
- # self.tw.activity.stop_turtle_button.set_icon("stopitoff")
if self.tw.step_time == 0 and self.tw.selected_blk is None:
self.tw.activity.stop_turtle_button.set_icon("hideshowon")
self.tw.activity.stop_turtle_button.set_tooltip(
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 34d8588..7e70f5f 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -1780,6 +1780,16 @@ class TurtleArtWindow():
if self._text_to_check:
self._test_string()
self._text_to_check = False
+ if self._action_name(self.selected_blk, hat=True):
+ if self._saved_action_name == _('action'):
+ self._new_stack_block(self.selected_blk.spr.labels[0])
+ self._update_action_names(self.selected_blk.spr.labels[0])
+ elif self._box_name(self.selected_blk, storein=True):
+ if self._saved_box_name == _('my box'):
+ self._new_storein_block(self.selected_blk.spr.labels[0])
+ self._new_box_block(self.selected_blk.spr.labels[0])
+ self._update_storein_names(self.selected_blk.spr.labels[0])
+ self._update_box_names(self.selected_blk.spr.labels[0])
self.selected_blk.unhighlight()
self.selected_blk = None
@@ -2361,10 +2371,11 @@ class TurtleArtWindow():
self._text_entry.modify_font(font_desc)
self.activity.fixed.put(self._text_entry, 0, 0)
self._text_entry.show()
+ count = self._saved_string.count(RETURN)
self._text_buffer.set_text(
self._saved_string.replace(RETURN, '\12'))
w = blk.spr.label_safe_width()
- h = blk.spr.label_safe_height()
+ h = blk.spr.label_safe_height() * (count + 1)
self._text_entry.set_size_request(w, h)
bx, by = blk.spr.get_xy()
if not self.running_sugar:
@@ -3164,8 +3175,8 @@ class TurtleArtWindow():
self.selected_blk.values[0] = float(str(num))
def _text_focus_out_cb(self, widget=None, event=None):
- bounds = self._text_buffer.get_bounds()
- text = self._text_buffer.get_text(bounds[0], bounds[1])
+ # bounds = self._text_buffer.get_bounds()
+ # text = self._text_buffer.get_text(bounds[0], bounds[1])
self._text_to_check = True
if self.selected_blk is not None:
self._unselect_block()
@@ -3181,9 +3192,6 @@ class TurtleArtWindow():
self._text_entry.hide()
else:
text = self.selected_blk.spr.labels[0]
- self._string_check(text)
-
- def _string_check(self, text):
self.selected_blk.spr.set_label(text.replace('\12', RETURN))
self.selected_blk.resize()
self.selected_blk.values[0] = text.replace(RETURN, '\12')