def __init__(self, abiword_canvas): GObject.GObject.__init__(self) self._abiword_canvas = abiword_canvas self._table_btn = ToolButton('create-table') self._table_btn.set_tooltip(_('Create table')) self._grid_create = GridCreateWidget() self._grid_create.show() self._grid_create.connect('create-table', self._create_table_cb) palette = self._table_btn.get_palette() palette.set_content(self._grid_create) self._table_btn.connect('clicked', self._table_btn_clicked_cb) self.insert(self._table_btn, -1) self._table_rows_after = ToolButton('row-insert') self._table_rows_after.set_tooltip(_('Insert Row')) self._table_rows_after_id = self._table_rows_after.connect( 'clicked', self._table_rows_after_cb) self.insert(self._table_rows_after, -1) self._table_delete_rows = ToolButton('row-remove') self._table_delete_rows.set_tooltip(_('Delete Row')) self._table_delete_rows_id = self._table_delete_rows.connect( 'clicked', self._table_delete_rows_cb) self.insert(self._table_delete_rows, -1) self._table_cols_after = ToolButton('column-insert') self._table_cols_after.set_tooltip(_('Insert Column')) self._table_cols_after_id = self._table_cols_after.connect( 'clicked', self._table_cols_after_cb) self.insert(self._table_cols_after, -1) self._table_delete_cols = ToolButton('column-remove') self._table_delete_cols.set_tooltip(_('Delete Column')) self._table_delete_cols_id = self._table_delete_cols.connect( 'clicked', self._table_delete_cols_cb) self.insert(self._table_delete_cols, -1) self._merge_cells = ToolButton('format-columns-single') self._merge_cells.set_tooltip(_('Merge Cells')) self._merge_cells_id = self._merge_cells.connect( 'clicked', self._merge_cells_cb) self.insert(self._merge_cells, -1) self._split_cells = ToolButton('format-columns-double') self._split_cells.set_tooltip(_('Split Cells')) self._split_cells_id = self._split_cells.connect( 'clicked', self._split_cells_cb) self.insert(self._split_cells, -1) self.show_all() self._abiword_canvas.connect('table-state', self._isTable_cb)
class InsertToolbar(Gtk.Toolbar): def __init__(self, abiword_canvas): GObject.GObject.__init__(self) self._abiword_canvas = abiword_canvas self._table_btn = ToolButton('create-table') self._table_btn.set_tooltip(_('Create table')) self.insert(self._table_btn, -1) self._grid_create = GridCreateWidget() self._grid_create.show() self._grid_create.connect('create-table', self._create_table_cb) palette = self._table_btn.get_palette() palette.set_content(self._grid_create) self._table_btn.connect('clicked', self._table_btn_clicked_cb) self._table_rows_after = ToolButton('row-insert') self._table_rows_after.set_tooltip(_('Insert Row')) self._table_rows_after_id = self._table_rows_after.connect( 'clicked', self._table_rows_after_cb) self.insert(self._table_rows_after, -1) self._table_delete_rows = ToolButton('row-remove') self._table_delete_rows.set_tooltip(_('Delete Row')) self._table_delete_rows_id = self._table_delete_rows.connect( 'clicked', self._table_delete_rows_cb) self.insert(self._table_delete_rows, -1) self._table_cols_after = ToolButton('column-insert') self._table_cols_after.set_tooltip(_('Insert Column')) self._table_cols_after_id = self._table_cols_after.connect( 'clicked', self._table_cols_after_cb) self.insert(self._table_cols_after, -1) self._table_delete_cols = ToolButton('column-remove') self._table_delete_cols.set_tooltip(_('Delete Column')) self._table_delete_cols_id = self._table_delete_cols.connect( 'clicked', self._table_delete_cols_cb) self.insert(self._table_delete_cols, -1) self.show_all() self._abiword_canvas.connect('table-state', self._isTable_cb) #self._abiword_canvas.connect('image-selected', # self._image_selected_cb) def _table_btn_clicked_cb(self, button): button.get_palette().popup(True, button.get_palette().SECONDARY) def _create_table_cb(self, abi, rows, cols): self._abiword_canvas.insert_table(rows, cols) def _table_rows_after_cb(self, button): self._abiword_canvas.invoke_ex('insertRowsAfter', '', 0, 0) def _table_delete_rows_cb(self, button): self._abiword_canvas.invoke_ex('deleteRows', '', 0, 0) def _table_cols_after_cb(self, button): self._abiword_canvas.invoke_ex('insertColsAfter', '', 0, 0) def _table_delete_cols_cb(self, button): self._abiword_canvas.invoke_ex('deleteColumns', '', 0, 0) def _isTable_cb(self, abi, b): self._table_rows_after.set_sensitive(b) self._table_delete_rows.set_sensitive(b) self._table_cols_after.set_sensitive(b) self._table_delete_cols.set_sensitive(b)