Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolbar.py
diff options
context:
space:
mode:
authorMarc Maurer <uwog@uwog.net>2007-05-01 21:05:35 (GMT)
committer Marc Maurer <uwog@uwog.net>2007-05-01 21:05:35 (GMT)
commitd82a38e6e595db7da3abc460d090a78b68355a2a (patch)
tree609c6a8612b93650b6c47b7f6d84e7ac5180a84b /toolbar.py
parente2bc409d176c8704d6c5d23fd588c0405436a53f (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.py199
1 files changed, 92 insertions, 107 deletions
diff --git a/toolbar.py b/toolbar.py
index 1231f1f..d72e92a 100644
--- a/toolbar.py
+++ b/toolbar.py
@@ -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)