Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-06-23 13:03:23 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-06-23 13:03:23 (GMT)
commite4e535ad10ccd8fe15b1c497084f409a051dd898 (patch)
treecd61798d59112515020d1dbaaed3c84ea740fad2
parent9624d3e2b5860b2b019c73cf44319365b8c46d12 (diff)
add regenerate method for butia plugin
-rw-r--r--TurtleArt/tawindow.py40
1 files changed, 37 insertions, 3 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 067f5a4..ed7bdc2 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -841,6 +841,43 @@ class TurtleArtWindow():
self.selected_palette = save_selected
self.previous_palette = save_previous
+ def regenerate_palette(self, n):
+ """ Regenerate palette (used by some plugins) """
+
+ if (self.activity is None or not self.activity.has_toolbarbox) and \
+ self.selectors == []:
+ return
+ if self.palette_sprs == []:
+ return
+
+ # At initialization of the program, we don't actually populate
+
+ self._hide_previous_palette()
+ save_selected = self.selected_palette
+ save_previous = self.previous_palette
+ self.selected_palette = n
+ self.previous_palette = self.selected_palette
+
+ if save_selected == n:
+ self._layout_palette(n, regenerate=True)
+ else:
+ self._layout_palette(n, regenerate=True, show=False)
+
+ for blk in self.palettes[n]:
+ if blk.get_visibility():
+ if hasattr(blk.spr, 'set_layer'):
+ blk.spr.set_layer(PROTO_LAYER)
+ else:
+ debug_output('WARNING: block sprite is None' % (blk.name),
+ self.running_sugar)
+ else:
+ blk.spr.hide()
+
+ if not save_selected == n:
+ self._hide_previous_palette(palette=n)
+ self.selected_palette = save_selected
+ self.previous_palette = save_previous
+
def _display_palette_shift_button(self, n):
''' Palettes too wide (or tall) for the screen get a shift button '''
if self.palette_sprs[n][self.orientation].type == \
@@ -1612,9 +1649,6 @@ class TurtleArtWindow():
self.saved_string = blk.spr.labels[0]
self._saved_action_name = self.saved_string
self._saved_box_name = self.saved_string
- debug_output('_block_pressed: %s (%s, %s)' % (
- self.saved_string, self._saved_action_name,
- self._saved_box_name), self.running_sugar)
else:
self.saved_string = ''