Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArtActivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'TurtleArtActivity.py')
-rw-r--r--TurtleArtActivity.py35
1 files changed, 5 insertions, 30 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index 17a5941..2518d91 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -79,6 +79,11 @@ class TurtleArtActivity(activity.Activity):
_logger.debug('_setup_canvas')
self._canvas = self._setup_canvas(self._setup_scrolled_window())
+ # FIX ME: not sure how or why self.canvas gets overwritten
+ # It is set to self.sw in _setup_canvas but None here.
+ # We need self.canvas for generating the preview image
+ self.canvas = self.sw
+
_logger.debug('_setup_palette_toolbar')
self._setup_palette_toolbar()
self._setup_help_toolbar()
@@ -685,7 +690,6 @@ class TurtleArtActivity(activity.Activity):
''' Create a scrolled window to contain the turtle canvas. '''
self.sw = gtk.ScrolledWindow()
self.set_canvas(self.sw)
- _logger.debug('in scrolled window: %s' % (str(self.canvas)))
self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.sw.show()
@@ -761,35 +765,6 @@ class TurtleArtActivity(activity.Activity):
_('turtle blocks')])
_logger.debug('Wrote to file: %s' % file_path)
- def get_preview(self):
- ''' Override of activity.get_preview since self.canvas is
- somehow being reset '''
- from sugar.graphics import style
- _logger.debug('in get_preview: %s' % (str(self.canvas)))
- if self.canvas is None:
- self.canvas = self.sw
- if not hasattr(self.canvas, 'get_snapshot'):
- _logger.debug('no get_snapshot attribute')
- return
- pixmap = self.canvas.get_snapshot((-1, -1, 0, 0))
-
- width, height = pixmap.get_size()
- pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8, width, height)
- pixbuf = pixbuf.get_from_drawable(pixmap, pixmap.get_colormap(),
- 0, 0, 0, 0, width, height)
- pixbuf = pixbuf.scale_simple(style.zoom(300), style.zoom(225),
- gtk.gdk.INTERP_BILINEAR)
-
- preview_data = []
-
- def save_func(buf, data):
- data.append(buf)
-
- pixbuf.save_to_callback(save_func, 'png', user_data=preview_data)
- preview_data = ''.join(preview_data)
-
- return preview_data
-
def read_file(self, file_path, run_it=True):
''' Read a project in and then run it. '''
if hasattr(self, 'tw'):