From 3a87e93e18edbba919d63a7b2e49b8e01f1e68d6 Mon Sep 17 00:00:00 2001 From: Marc Maurer Date: Sat, 23 Dec 2006 13:32:25 +0000 Subject: Update to the new widget api --- (limited to 'toolbar.py') diff --git a/toolbar.py b/toolbar.py index 406a384..0db1d06 100644 --- a/toolbar.py +++ b/toolbar.py @@ -13,7 +13,7 @@ # 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 - +# import logging import gtk import pango @@ -22,70 +22,85 @@ class Toolbar(gtk.Toolbar): def __init__(self, abiword_canvas): gtk.Toolbar.__init__(self) - self.set_orientation(gtk.ORIENTATION_VERTICAL) self.set_style(gtk.TOOLBAR_ICONS) self._abiword_canvas = abiword_canvas - + self._open = gtk.ToolButton() - self._open.set_icon_name('stock-open') + self._open.set_icon_name('gtk-open') self._open.connect("clicked", self._open_cb) self.insert(self._open, -1) self._open.show() self._save = gtk.ToolButton() - self._save.set_icon_name('stock-save') + self._save.set_icon_name('gtk-save') self._save.connect("clicked", self._save_cb) self.insert(self._save, -1) self._save.show() + self._abiword_canvas.connect("is-dirty",self._isDirty_cb) self._insert_separator() self._undo = gtk.ToolButton() - self._undo.set_icon_name('stock-undo') + self._undo.set_icon_name('gtk-undo') self._undo.connect("clicked", self._undo_cb) self.insert(self._undo, -1) self._undo.show() + self._abiword_canvas.connect("can_undo",self._canUndo_cb) self._redo = gtk.ToolButton() - self._redo.set_icon_name('stock-redo') + self._redo.set_icon_name('gtk-redo') self._redo.connect("clicked", self._redo_cb) self.insert(self._redo, -1) self._redo.show() + self._abiword_canvas.connect("can_redo",self._canRedo_cb) self._insert_separator() - self._underline = gtk.ToolButton() - self._underline.set_icon_name('stock-underline') - self._underline.connect("clicked", self._underline_cb) + self._underline = gtk.ToggleToolButton() + self._underline.set_icon_name('gtk-underline') + self._underline_id = self._underline.connect("clicked", self._underline_cb) self.insert(self._underline, -1) self._underline.show() + self._abiword_canvas.connect("underline",self._isUnderline_cb) - self._bold = gtk.ToolButton() - self._bold.set_icon_name('stock-bold') - self._bold.connect("clicked", self._bold_cb) + self._bold = gtk.ToggleToolButton() + self._bold.set_icon_name('gtk-bold') + self._bold_id =self._bold.connect("clicked", self._bold_cb) self.insert(self._bold, -1) self._bold.show() + self._abiword_canvas.connect("bold",self._isBold_cb) self._insert_separator() - self._align_left = gtk.ToolButton() - self._align_left.set_icon_name('stock-justify-left') - self._align_left.connect("clicked", self._align_left_cb) + self._align_left = gtk.ToggleToolButton() + self._align_left.set_icon_name('gtk-justify-left') + self._align_left_id = self._align_left.connect("clicked", self._align_left_cb) self.insert(self._align_left, -1) self._align_left.show() + self._abiword_canvas.connect("left-align",self._isLeftAlign_cb) - self._align_center = gtk.ToolButton() - self._align_center.set_icon_name('stock-justify-center') - self._align_center.connect("clicked", self._align_center_cb) + self._align_center = gtk.ToggleToolButton() + self._align_center.set_icon_name('gtk-justify-center') + self._align_center_id = self._align_center.connect("clicked", self._align_center_cb) self.insert(self._align_center, -1) self._align_center.show() + self._abiword_canvas.connect("center-align",self._isCenterAlign_cb) + - self._align_right = gtk.ToolButton() - self._align_right.set_icon_name('stock-justify-right') - self._align_right.connect("clicked", self._align_right_cb) + self._align_right = gtk.ToggleToolButton() + self._align_right.set_icon_name('gtk-justify-right') + self._align_right_id = self._align_right.connect("clicked", self._align_right_cb) self.insert(self._align_right, -1) self._align_right.show() + self._abiword_canvas.connect("right-align",self._isRightAlign_cb) + + self._align_fill = gtk.ToggleToolButton() + self._align_fill.set_icon_name('gtk-justify-fill') + self._align_fill_id = self._align_fill.connect("clicked", self._align_fill_cb) + self.insert(self._align_fill, -1) + self._align_fill.show() + self._abiword_canvas.connect("justify-align",self._isFillAlign_cb) def _insert_separator(self): separator = gtk.SeparatorToolItem() @@ -93,33 +108,68 @@ class Toolbar(gtk.Toolbar): 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 _open_cb(self, button): - self._abiword_canvas.set_property("file-open","") + self._abiword_canvas.file_open() def _save_cb(self, button): - self._abiword_canvas.set_property("file-save","") + self._abiword_canvas.file_save() + + def _isDirty_cb(self,abi,b): + print "isDirty",b + self._save.set_sensitive(b) def _undo_cb(self, button): - self._abiword_canvas.set_property("undo","") + self._abiword_canvas.undo() + + def _canUndo_cb(self,abi,b): + self._undo.set_sensitive(b) def _redo_cb(self, button): - self._abiword_canvas.set_property("redo","") + self._abiword_canvas.redo() + + def _canRedo_cb(self,abi,b): + self._redo.set_sensitive(b) def _underline_cb(self, button): - self._abiword_canvas.set_property("toggle-uline","") + self._abiword_canvas.toggle_underline() + + def _isUnderline_cb(self,abi,b): + self.setToggleButtonState(self._underline,b,self._underline_id) def _bold_cb(self, button): - self._abiword_canvas.set_property("toggle-bold","") + self._abiword_canvas.toggle_bold() + + def _isBold_cb(self,abi,b): + self.setToggleButtonState(self._bold,b,self._bold_id) def _align_left_cb(self, button): - self._abiword_canvas.set_property("align-left","") + self._abiword_canvas.align_left() + + def _isLeftAlign_cb(self,abi,b): + self.setToggleButtonState(self._align_left,b,self._align_left_id) def _align_center_cb(self, button): - self._abiword_canvas.set_property("align-center","") + self._abiword_canvas.align_center() + + def _isCenterAlign_cb(self,abi,b): + self.setToggleButtonState(self._align_center,b,self._align_center_id) def _align_right_cb(self, button): - self._abiword_canvas.set_property("align-right","") + self._abiword_canvas.align_right() + + def _isRightAlign_cb(self,abi,b): + self.setToggleButtonState(self._align_right,b,self._align_right_id) def _align_fill_cb(self, button): - self._abiword_canvas.set_property("align-fill","") - + self._abiword_canvas.align_justify() + + + def _isFillAlign_cb(self,abi,b): + self.setToggleButtonState(self._align_fill,b,self._align_fill_id) + -- cgit v0.9.1