From b98a33bb8136c2de6b570491ad82f529696157f1 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 25 Feb 2010 14:24:13 +0000 Subject: autoload description blocks --- (limited to 'tawindow.py') diff --git a/tawindow.py b/tawindow.py index 46644dc..1330932 100644 --- a/tawindow.py +++ b/tawindow.py @@ -1372,6 +1372,8 @@ class TurtleArtWindow(): blk.spr.labels[0] += CURSOR elif blk.name in BOX_STYLE_MEDIA: self._import_from_journal(self.selected_blk) + if blk.name == 'journal' and self.running_sugar: + self._load_description_block(blk) elif blk.name=='identity2' or blk.name=='hspace': group = self._find_group(blk) if self._hide_button_hit(blk.spr, x, y): @@ -1874,6 +1876,32 @@ class TurtleArtWindow(): self._update_media_icon(blk, fname) """ + When we load a journal block, look for a corresponding description block + """ + def _load_description_block(self, blk): + if blk == None or blk.name != 'journal' or len(blk.values) == 0 or\ + blk.connections[0] is None: + return + cblk = blk.connections[0] + dblk = self._find_blk_below(cblk, 'description') + # Only autoupdate the block if it is empty + if dblk != None and (len(dblk.values) == 0 or dblk.values[0] == None): + # Copy the dsobject id and update the icon + self._update_media_icon(dblk, None, blk.values[0]) + + """ + Find a specific block below this block. + """ + def _find_blk_below(self, blk, name): + if blk == None or len(blk.connections) == 0: + return + group = self._find_group(blk) + for b in group: + if b.name == name: + return b + return None + + """ Update the icon on a 'loaded' media block. """ def _update_media_icon(self, blk, name, value=''): -- cgit v0.9.1