class ToolbarBuilder(): def __init__(self, edit, toolbar): self.edit = edit self.txt_toggle = ToggleToolButton('ascii') self.img_toggle = ToggleToolButton('image') self.txt_toggle.set_tooltip(_('Text')) self.txt_toggle.connect('toggled', self._toggle_cb, [self.txt_toggle, self.img_toggle]) toolbar.insert(self.txt_toggle, -1) self.img_toggle.set_tooltip(_('Images')) self.img_toggle.connect('toggled', self._toggle_cb, [self.txt_toggle, self.img_toggle]) toolbar.insert(self.img_toggle, -1) self.separator = gtk.SeparatorToolItem() toolbar.insert(self.separator, -1) for tab in TABS: for i in tab.toolitems: toolbar.insert(i, -1) self.txt_toggle.set_active(True) def sensitize_all(self): self.txt_toggle.set_sensitive(True) self.img_toggle.set_sensitive(True) def unsensitize_all(self): self.txt_toggle.set_sensitive(False) self.img_toggle.set_sensitive(False) def _toggle_cb(self, widget, toggles): for tab in TABS: for i in tab.toolitems: i.hide() if not widget.get_active(): index = 2 else: another = toggles[0] == widget and 1 or 0 toggles[another].set_active(False) index = int(not another) for i in TABS[index].toolitems: i.show() if book.wiki.article: TABS[index].set_source_article(book.wiki.article) if book.custom.article: TABS[index].set_working_article(book.custom.article) self.edit.set_current_page(index)