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/tacanvas.py6
-rw-r--r--TurtleArt/taconstants.py6
-rw-r--r--TurtleArt/taexportpython.py28
3 files changed, 27 insertions, 13 deletions
diff --git a/TurtleArt/tacanvas.py b/TurtleArt/tacanvas.py
index 4bac442..f37a3a4 100644
--- a/TurtleArt/tacanvas.py
+++ b/TurtleArt/tacanvas.py
@@ -305,10 +305,14 @@ class TurtleGraphics:
''' Draw text '''
def _draw_text(cr, label, x, y, size, width, scale, heading, rgb):
+ import textwrap
+ final_scale = int(size * scale) * pango.SCALE
+ label = str(label)
+ label = '\n'.join(textwrap.wrap(label, int(width / scale)))
cc = pangocairo.CairoContext(cr)
pl = cc.create_layout()
fd = pango.FontDescription('Sans')
- fd.set_size(int(size * scale) * pango.SCALE)
+ fd.set_size(final_scale)
pl.set_font_description(fd)
if isinstance(label, (str, unicode)):
pl.set_text(label.replace('\0', ' '))
diff --git a/TurtleArt/taconstants.py b/TurtleArt/taconstants.py
index 75288c1..81f15f0 100644
--- a/TurtleArt/taconstants.py
+++ b/TurtleArt/taconstants.py
@@ -544,4 +544,10 @@ MACROS = {
[25, 'description', 0, 0, [24, None]]],
'reskin':
[[0, 'skin', 0, 0, [None, 1, None]],
+ [1, 'journal', 0, 0, [0, None]]],
+ 'saveheaptojournal':
+ [[0, 'saveheap', 0, 0, [None, 1, None]],
+ [1, 'journal', 0, 0, [0, None]]],
+ 'loadheapfromjournal':
+ [[0, 'loadheap', 0, 0, [None, 1, None]],
[1, 'journal', 0, 0, [0, None]]]}
diff --git a/TurtleArt/taexportpython.py b/TurtleArt/taexportpython.py
index 9135302..60bf0c1 100644
--- a/TurtleArt/taexportpython.py
+++ b/TurtleArt/taexportpython.py
@@ -45,18 +45,22 @@ _ALTERNATIVE_INSTALL_PATH = \
'/usr/local/share/sugar/activities/TurtleArt.activity'
import os, sys
-if os.path.exists('../TurtleBlocks.activity'):
- sys.path.insert(0, '../TurtleBlocks.activity')
-elif os.path.exists(os.path.join(os.path.expanduser('~'), 'Activities',
- 'TurtleBlocks.activity')):
- sys.path.insert(0, os.path.join(os.path.expanduser('~'), 'Activities',
- 'TurtleBlocks.activity'))
-elif os.path.exists(_INSTALL_PATH):
- sys.path.insert(0, _INSTALL_PATH)
-elif os.path.exists(_ALTERNATIVE_INSTALL_PATH):
- sys.path.insert(0, _ALTERNATIVE_INSTALL_PATH)
-else:
- print 'This code require the TurtleBlocks activity to be installed.'
+paths = []
+paths.append('../%s.activity')
+paths.append(os.path.expanduser('~') + '/Activities/%s.activity')
+paths.append('/usr/share/sugar/activities/%s.activity')
+paths.append('/usr/local/share/sugar/activities/%s.activity')
+
+flag = False
+for path in paths:
+ for activity in ['TurtleBlocks', 'TurtleBots']:
+ p = path % activity
+ if os.path.exists(p):
+ flag = True
+ sys.path.insert(0, p)
+
+if not flag:
+ print 'This code require the Turtle Blocks/Bots activity to be installed.'
exit(1)
from time import *