diff options
author | Marc Maurer <uwog@uwog.net> | 2007-05-01 21:05:35 (GMT) |
---|---|---|
committer | Marc Maurer <uwog@uwog.net> | 2007-05-01 21:05:35 (GMT) |
commit | d82a38e6e595db7da3abc460d090a78b68355a2a (patch) | |
tree | 609c6a8612b93650b6c47b7f6d84e7ac5180a84b /toolbar.py | |
parent | e2bc409d176c8704d6c5d23fd588c0405436a53f (diff) |
This patch makes Write use the gtk-based controls instead of the hippo
ones. (Tomeu Vizoso)
Diffstat (limited to 'toolbar.py')
-rw-r--r-- | toolbar.py | 199 |
1 files changed, 92 insertions, 107 deletions
@@ -14,146 +14,131 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - +from gettext import gettext as _ import logging + import abiword -import hippo +import gtk -from sugar.graphics.toolbar import Toolbar -from sugar.graphics.iconbutton import IconButton +from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toggletoolbutton import ToggleToolButton -class AbiToolbar(object): - def __init__(self, hippoCanvasBox, abiword_canvas): - toolbar = Toolbar() - hippoCanvasBox.append(toolbar) +class TextToolbar(gtk.Toolbar): + def __init__(self, abiword_canvas): + gtk.Toolbar.__init__(self) self._abiword_canvas = abiword_canvas - -# self._insert_separator() - - self._undo = IconButton(icon_name='theme:stock-undo') - self._undo.connect("activated", self._undo_cb) - self._abiword_canvas.connect("can_undo", self._canUndo_cb) - toolbar.append(self._undo) - - self._redo = IconButton(icon_name='theme:stock-redo') - self._redo.connect("activated", self._redo_cb) - self._abiword_canvas.connect("can_redo", self._canRedo_cb) - toolbar.append(self._redo) - -# self._insert_separator() - - self._underline = IconButton(icon_name='theme:stock-underline') - self._underline_id = self._underline.connect("activated", self._underline_cb) - self._abiword_canvas.connect("underline", self._isUnderline_cb) - toolbar.append(self._underline) - - self._bold = IconButton(icon_name='theme:stock-bold') - self._bold_id = self._bold.connect("activated", self._bold_cb) - self._abiword_canvas.connect("bold", self._isBold_cb) - toolbar.append(self._bold) - -# self._insert_separator() - - self._align_left = IconButton(icon_name='theme:stock-justify-left') - self._align_left_id = self._align_left.connect("activated", self._align_left_cb) - self._abiword_canvas.connect("left-align", self._isLeftAlign_cb) - toolbar.append(self._align_left) - - self._align_center = IconButton(icon_name='theme:stock-justify-center') - self._align_center_id = self._align_center.connect("activated", self._align_center_cb) - self._abiword_canvas.connect("center-align", self._isCenterAlign_cb) - toolbar.append(self._align_center) - - self._align_right = IconButton(icon_name='theme:stock-justify-right') - self._align_right_id = self._align_right.connect("activated", self._align_right_cb) - self._abiword_canvas.connect("right-align", self._isRightAlign_cb) - toolbar.append(self._align_right) - - # theme:stock-image does not exist yet; someone kick Eben please :) - self._image = IconButton(icon_name='theme:stock-image') - self._image_id = self._image.connect("activated", self._image_cb) - toolbar.append(self._image) - -# reenable this after march 6th -# self._table = abiword.TableCreator() -# self._table.set_labels("Table", "Cancel") -# self._table.show() -# #self._tableCreate.label().hide() - -# tableContainer = hippo.CanvasWidget() -# tableContainer.props.widget = self._table; -# self._table_id = self._table.connect("selected", self._table_cb) - #self._table_id = self._abiword_canvas.connect("table-state", self._tableState) -# toolbar.append(tableContainer) - -# def _insert_separator(self): -# separator = gtk.SeparatorToolItem() -# separator.set_draw(True) -# self.insert(separator, -1) -# separator.show() -# -# def setToggleButtonState(self, button, b, id): -# button.handler_block(id) -# button.set_active(b) -# button.handler_unblock(id) - - def _isDirty_cb(self, abi, b): - print "isDirty",b -# self._save.set_sensitive(b) - def _undo_cb(self, button): - self._abiword_canvas.undo() - - def _canUndo_cb(self, abi, b): - print "canUndo",b -# self._undo.set_sensitive(b) - - def _redo_cb(self, button): - self._abiword_canvas.redo() + self._bold = ToggleToolButton('format-text-bold') + self._bold_id = self._bold.connect('clicked', self._bold_cb) + self._abiword_canvas.connect('bold', self._isBold_cb) + self.insert(self._bold, -1) + self._bold.show() + + # TODO: Add italic ToggleToolButton. + + self._underline = ToggleToolButton('format-text-underline') + self._underline_id = self._underline.connect('clicked', self._underline_cb) + self._abiword_canvas.connect('underline', self._isUnderline_cb) + self.insert(self._underline, -1) + self._underline.show() + + separator = gtk.SeparatorToolItem() + separator.set_draw(True) + self.insert(separator, -1) + separator.show() + + self._align_left = ToggleToolButton('format-justify-left') + self._align_left_id = self._align_left.connect('clicked', self._align_left_cb) + self._abiword_canvas.connect('left-align', self._isLeftAlign_cb) + self.insert(self._align_left, -1) + self._align_left.show() + + self._align_center = ToggleToolButton('format-justify-center') + self._align_center_id = self._align_center.connect('clicked', self._align_center_cb) + self._abiword_canvas.connect('center-align', self._isCenterAlign_cb) + self.insert(self._align_center, -1) + self._align_center.show() + + self._align_right = ToggleToolButton('format-justify-right') + self._align_right_id = self._align_right.connect('clicked', self._align_right_cb) + self._abiword_canvas.connect('right-align', self._isRightAlign_cb) + self.insert(self._align_right, -1) + self._align_right.show() - def _canRedo_cb(self, abi ,b): - print "canRedo",b -# self._redo.set_sensitive(b) + def setToggleButtonState(self,button,b,id): + button.handler_block(id) + button.set_active(b) + button.handler_unblock(id) def _underline_cb(self, button): self._abiword_canvas.toggle_underline() def _isUnderline_cb(self, abi, b): - print "isUnderline",b -# self.setToggleButtonState(self._underline, b, self._underline_id) + print 'isUnderline',b + self.setToggleButtonState(self._underline, b, self._underline_id) def _bold_cb(self, button): self._abiword_canvas.toggle_bold() def _isBold_cb(self, abi, b): - print "isBold",b -# self.setToggleButtonState(self._bold,b,self._bold_id) + print 'isBold',b + self.setToggleButtonState(self._bold,b,self._bold_id) def _align_left_cb(self, button): self._abiword_canvas.align_left() def _isLeftAlign_cb(self, abi, b): - print "isLeftAlign",b -# self.setToggleButtonState(self._align_left,b,self._align_left_id) + print 'isLeftAlign',b + self.setToggleButtonState(self._align_left,b,self._align_left_id) def _align_center_cb(self, button): self._abiword_canvas.align_center() def _isCenterAlign_cb(self, abi, b): - print "isCenterAlign",b -# self.setToggleButtonState(self._align_center,b,self._align_center_id) + print 'isCenterAlign',b + self.setToggleButtonState(self._align_center,b,self._align_center_id) def _align_right_cb(self, button): self._abiword_canvas.align_right() def _isRightAlign_cb(self, abi, b): - print "isRightAlign",b -# self.setToggleButtonState(self._align_right,b,self._align_right_id) + print 'isRightAlign',b + self.setToggleButtonState(self._align_right,b,self._align_right_id) + +class ImageToolbar(gtk.Toolbar): + def __init__(self, abiword_canvas): + gtk.Toolbar.__init__(self) + + self._abiword_canvas = abiword_canvas + + # insert-image does not exist yet; someone kick Eben please :) + self._image = ToolButton('insert-image') + self._image_id = self._image.connect('clicked', self._image_cb) + self.insert(self._image, -1) + self._image.show() def _image_cb(self, button): - print "fileInsertGraphic" - self._abiword_canvas.invoke_cmd("fileInsertGraphic", "", 0, 0) + print 'fileInsertGraphic' + self._abiword_canvas.invoke_cmd('fileInsertGraphic', '', 0, 0) + +class TableToolbar(gtk.Toolbar): + def __init__(self, abiword_canvas): + gtk.Toolbar.__init__(self) + + self._abiword_canvas = abiword_canvas + + self._table = abiword.TableCreator() + self._table.set_labels(_('Table'), _('Cancel')) + self._table_id = self._table.connect('selected', self._table_cb) + #self._table_id = self._abiword_canvas.connect('table-state', self._tableState) + + tool_item = gtk.ToolItem() + tool_item.add(self._table) + self._table.show() + + self.insert(tool_item, -1) + tool_item.show() -# def _table_cb(self, abi, rows, cols): -# self._abiword_canvas.insert_table(rows,cols) + def _table_cb(self, abi, rows, cols): + self._abiword_canvas.insert_table(rows,cols) |