From 2bd919cae85f47f80ae158e1a053e63ea73ad177 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Wed, 20 Jun 2012 21:20:19 +0000 Subject: add init_on_start option --- diff --git a/TurtleArt/tapalette.py b/TurtleArt/tapalette.py index ad96103..2af8ff1 100644 --- a/TurtleArt/tapalette.py +++ b/TurtleArt/tapalette.py @@ -22,6 +22,7 @@ help_palettes = {} help_windows = {} palette_names = [] +palette_init_on_start = [] palette_blocks = [] block_colors = [] expandable_blocks = [] @@ -125,7 +126,7 @@ class Palette(): self._help_box = help_palettes[self._name] self._help = 'deja vu' - def add_palette(self, position=None): + def add_palette(self, position=None, init_on_start=False): if self._name is None: debug_output('You must specify a name for your palette') return @@ -143,6 +144,9 @@ class Palette(): palette_names.insert(i, self._name) palette_blocks.insert(i, []) block_colors.insert(i, self._colors) + if init_on_start: + if not self._name in palette_init_on_start: + palette_init_on_start.append(self._name) else: return @@ -211,7 +215,8 @@ class Palette(): block.add_block() -def make_palette(palette_name, colors=None, help_string=None, position=None): +def make_palette(palette_name, colors=None, help_string=None, position=None, + init_on_start=False): """ Palette helper function """ if colors is None: palette = Palette(palette_name) @@ -219,7 +224,7 @@ def make_palette(palette_name, colors=None, help_string=None, position=None): palette = Palette(palette_name, colors) if help_string is not None: palette.set_help(help_string) - palette.add_palette(position) + palette.add_palette(position, init_on_start=init_on_start) return palette diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index c555261..067f5a4 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -55,7 +55,7 @@ from taconstants import HORIZONTAL_PALETTE, VERTICAL_PALETTE, BLOCK_SCALE, \ from tapalette import palette_names, palette_blocks, expandable_blocks, \ block_names, content_blocks, default_values, special_names, block_styles, \ help_strings, hidden_proto_blocks, string_or_number_args, \ - make_palette, palette_name_to_index + make_palette, palette_name_to_index, palette_init_on_start from talogo import LogoCode, primitive_dictionary, logoerror from tacanvas import TurtleGraphics from tablock import Blocks, Block @@ -266,8 +266,13 @@ class TurtleArtWindow(): if self.interactive_mode: self._setup_misc() - self.show_toolbar_palette(0, False) - + for name in palette_init_on_start: + debug_output('initing palette %s' % (name), self.running_sugar) + self.show_toolbar_palette(palette_names.index(name), + init_only=False, regenerate=True, + show=False) + self.show_toolbar_palette(0, init_only=False, regenerate=True, + show=True) self.saved_pictures = [] self.block_operation = '' -- cgit v0.9.1