From 64bc6b7e2d4ffd98c99026e70153f9377bc25fc1 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 20 Aug 2011 13:11:49 +0000 Subject: more toolbar cleanups; fixes #3044 --- (limited to 'TurtleArtActivity.py') diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index da77090..d41b828 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -63,16 +63,19 @@ class TurtleArtActivity(activity.Activity): super(TurtleArtActivity, self).__init__(handle) self._check_ver_change(get_path(activity, 'data')) - self._setup_visibility_handler() self.has_toolbarbox = HAS_TOOLBARBOX + _logger.debug('_setup_toolbar') self._setup_toolbar() + _logger.debug('_setup_canvas') self._setup_canvas(self._setup_scrolled_window()) + _logger.debug('_setup_palette_toolbar') self._setup_palette_toolbar() + _logger.debug('_setup_sharing') self._setup_sharing() # Activity toolbar callbacks @@ -80,7 +83,7 @@ class TurtleArtActivity(activity.Activity): def do_save_as_html_cb(self, button): ''' Write html out to datastore. ''' self.save_as_html.set_icon('htmlon') - _logger.debug('saving html code') + _logger.debug('saving HTML code') # Until we have URLs for datastore objects, always embed images. embed_flag = True @@ -471,16 +474,12 @@ class TurtleArtActivity(activity.Activity): page=help_toolbar, icon_name='help-toolbar') - journal_toolbar = gtk.Toolbar() - journal_toolbar_button = ToolbarButton(page=journal_toolbar, - icon_name='activity-journal') + self._make_load_save_buttons(activity_toolbar_button) activity_toolbar_button.show() self._toolbox.toolbar.insert(activity_toolbar_button, -1) edit_toolbar_button.show() self._toolbox.toolbar.insert(edit_toolbar_button, -1) - journal_toolbar_button.show() - self._toolbox.toolbar.insert(journal_toolbar_button, -1) view_toolbar_button.show() self._toolbox.toolbar.insert(view_toolbar_button, -1) self._palette_toolbar_button.show() @@ -491,6 +490,10 @@ class TurtleArtActivity(activity.Activity): self._add_separator(self._toolbox.toolbar, expand=True, visible=False) + self.samples_button = self._add_button( + 'ta-open', _('Load example'), self.do_samples_cb, + self._toolbox.toolbar) + help_toolbar_button.show() self._toolbox.toolbar.insert(help_toolbar_button, -1) @@ -498,6 +501,10 @@ class TurtleArtActivity(activity.Activity): stop_button.props.accelerator = 'Q' self._toolbox.toolbar.insert(stop_button, -1) stop_button.show() + + _logger.debug('set_toolbar_box') + self.set_toolbar_box(self._toolbox) + self._palette_toolbar_button.set_expanded(True) else: self._toolbox = activity.ActivityToolbox(self) self.set_toolbox(self._toolbox) @@ -513,7 +520,6 @@ class TurtleArtActivity(activity.Activity): edit_toolbar_button = edit_toolbar journal_toolbar = gtk.Toolbar() self._toolbox.add_toolbar(_('Import/Export'), journal_toolbar) - journal_toolbar_button = journal_toolbar help_toolbar = gtk.Toolbar() self._toolbox.add_toolbar(_('Help'), help_toolbar) help_toolbar_button = help_toolbar @@ -523,29 +529,8 @@ class TurtleArtActivity(activity.Activity): self._add_separator(project_toolbar) self._make_project_buttons(project_toolbar) + self._make_load_save_buttons(journal_toolbar) - self.keep_button = self._add_button( - 'filesaveoff', _('Save snapshot'), self.do_keep_cb, - journal_toolbar_button) - self.save_as_html = self._add_button( - 'htmloff', _('Save as HTML'), self.do_save_as_html_cb, - journal_toolbar_button) - self.save_as_logo = self._add_button( - 'logo-saveoff', _('Save as Logo'), self.do_save_as_logo_cb, - journal_toolbar_button) - self.save_as_image = self._add_button( - 'image-saveoff', _('Save as image'), self.do_save_as_image_cb, - journal_toolbar_button) - self._add_separator(journal_toolbar) - self.load_ta_project = self._add_button( - 'load-from-journal', _('Import project from the Journal'), - self.do_load_ta_project_cb, journal_toolbar_button) - self.load_python = self._add_button( - 'pippy-openoff', _('Load Python block'), self.do_load_python_cb, - journal_toolbar_button) - self.samples_button = self._add_button( - 'ta-open', _('Load example'), self.do_samples_cb, - journal_toolbar_button) self._add_button('edit-copy', _('Copy'), self._copy_cb, edit_toolbar_button, 'c') self._add_button('edit-paste', _('Paste'), self._paste_cb, @@ -563,7 +548,7 @@ class TurtleArtActivity(activity.Activity): self._add_separator(view_toolbar, visible=False) self.coordinates_label = self._add_label(_('xcor') + ' = 0 ' + \ _('ycor') + ' = 0 ' + _('heading') + ' = 0', view_toolbar) - self._add_separator(view_toolbar, True) + self._add_separator(view_toolbar, expand=True) self.rescale_button = self._add_button( 'expand-coordinates', _('Rescale coordinates up'), self.do_rescale_cb, view_toolbar_button) @@ -589,7 +574,8 @@ class TurtleArtActivity(activity.Activity): # Setup palette toolbar only *after* initializing the plugins if self.has_toolbarbox: - self._palette_toolbar_button.set_expanded(True) + # self._palette_toolbar_button.set_expanded(True) + pass else: self._toolbox.set_current_toolbar(1) @@ -598,20 +584,43 @@ class TurtleArtActivity(activity.Activity): if self.has_toolbarbox: self.palette_buttons = [] for i, name in enumerate(palette_names): - if i > 0: - suffix = 'off' - else: + if i == 0: suffix = 'on' + else: + suffix = 'off' + _logger.debug('palette_buttons.append %s', name) self.palette_buttons.append(self._add_button(name + suffix, help_strings[name], self.do_palette_buttons_cb, self._palette_toolbar_button, None, i)) - self._add_separator(self._palette_toolbar, True) - self._make_palette_buttons(self._palette_toolbar_button) + self._add_separator(self._palette_toolbar, False) - self.set_toolbar_box(self._toolbox) + self._make_palette_buttons(self._palette_toolbar_button) self._palette_toolbar.show() + def _make_load_save_buttons(self, toolbar): + self.keep_button = self._add_button( + 'filesaveoff', _('Save snapshot'), self.do_keep_cb, toolbar) + self.save_as_html = self._add_button( + 'htmloff', _('Save as HTML'), self.do_save_as_html_cb, toolbar) + self.save_as_logo = self._add_button( + 'logo-saveoff', _('Save as Logo'), self.do_save_as_logo_cb, + toolbar) + self.save_as_image = self._add_button( + 'image-saveoff', _('Save as image'), self.do_save_as_image_cb, + toolbar) + if not self.has_toolbarbox: + self._add_separator(toolbar) + self.load_ta_project = self._add_button( + 'load-from-journal', _('Import project from the Journal'), + self.do_load_ta_project_cb, toolbar) + self.load_python = self._add_button( + 'pippy-openoff', _('Load Python block'), self.do_load_python_cb, + toolbar) + if not self.has_toolbarbox: + self.samples_button = self._add_button( + 'ta-open', _('Load example'), self.do_samples_cb, toolbar) + def _make_palette_buttons(self, toolbar, palette_button=False): ''' Creates the palette and block buttons for both toolbar types''' if palette_button: # old-style toolbars need this button -- cgit v0.9.1