diff options
Diffstat (limited to 'toolbar.py')
-rw-r--r-- | toolbar.py | 254 |
1 files changed, 178 insertions, 76 deletions
@@ -18,7 +18,6 @@ # toolbar.py por: # Flavio Danesse <fdanesse@gmail.com> # CeibalJAM! - Uruguay -# Basado en código de: Keshav Sharma <keshav7890@gmail.com> & Vaibhav Sharma import gtk, pygtk, gobject, os from gettext import gettext as _ @@ -42,89 +41,141 @@ class ViewToolbar(gtk.Toolbar): def __init__(self): gtk.Toolbar.__init__(self) - open_button = IPButtonStock(gtk.STOCK_OPEN) + separator = gtk.SeparatorToolItem() + separator.props.draw = True + separator.set_size_request(0, -1) + separator.set_expand(False) + self.insert(separator, -1) + + open_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'descargas.png'), 32, 32) + pixbuf = pixbuf.rotate_simple(gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE).rotate_simple(gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE) + imagen.set_from_pixbuf(pixbuf) + open_button.set_icon_widget(imagen) + imagen.show() open_button.connect('clicked', self.abrir_archivo) self.insert(open_button, -1) open_button.show() - save_button = IPButtonStock(gtk.STOCK_SAVE) + save_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'descargas.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + save_button.set_icon_widget(imagen) + imagen.show() save_button.connect('clicked', self.guardar_archivo) self.insert(save_button, -1) save_button.show() - save_as_button = IPButtonStock(gtk.STOCK_SAVE_AS) - #self._zoom_out_button.connect('clicked', self.zoom_out_cb) - self.insert(save_as_button, -1) - save_as_button.show() - separator = gtk.SeparatorToolItem() - separator.props.draw = False + separator.props.draw = True separator.set_size_request(0, -1) - separator.set_expand(True) + separator.set_expand(False) self.insert(separator, -1) - zoom_out_button = IPButtonStock(gtk.STOCK_ZOOM_OUT) + zoom_out_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'alejar.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + zoom_out_button.set_icon_widget(imagen) + imagen.show() zoom_out_button.connect('clicked', self.zoom_out_cb) self.insert(zoom_out_button, -1) zoom_out_button.show() - zoom_in_button = IPButtonStock(gtk.STOCK_ZOOM_IN) + zoom_in_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'acercar.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + zoom_in_button.set_icon_widget(imagen) + imagen.show() zoom_in_button.connect('clicked', self.zoom_in_cb) self.insert(zoom_in_button, -1) zoom_in_button.show() - zoom_tofit_button = IPButtonStock(gtk.STOCK_ZOOM_FIT) + zoom_tofit_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'escalaoriginal.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + zoom_tofit_button.set_icon_widget(imagen) + imagen.show() zoom_tofit_button.connect('clicked', self.zoom_to_fit_cb) self.insert(zoom_tofit_button, -1) zoom_tofit_button.show() separator = gtk.SeparatorToolItem() - separator.props.draw = False + separator.props.draw = True separator.set_size_request(0, -1) - separator.set_expand(True) + separator.set_expand(False) self.insert(separator, -1) - rotate_anticlockwise_button = IPButton('rotate_anticlockwise.svg') + rotate_anticlockwise_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'rotar.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + rotate_anticlockwise_button.set_icon_widget(imagen) + imagen.show() rotate_anticlockwise_button.connect('clicked', self.rotate_anticlockwise_cb) self.insert(rotate_anticlockwise_button, -1) rotate_anticlockwise_button.show() - rotate_clockwise_button = IPButton('rotate_clockwise.svg') + rotate_clockwise_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'rotar.png'), 32, 32).flip(True) + imagen.set_from_pixbuf(pixbuf) + rotate_clockwise_button.set_icon_widget(imagen) + imagen.show() rotate_clockwise_button.connect('clicked', self.rotate_clockwise_cb) self.insert(rotate_clockwise_button, -1) rotate_clockwise_button.show() separator = gtk.SeparatorToolItem() - separator.props.draw = False + separator.props.draw = True separator.set_size_request(0, -1) - separator.set_expand(True) + separator.set_expand(False) self.insert(separator, -1) - undo_button = IPButtonStock(gtk.STOCK_UNDO) + undo_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'deshacer.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + undo_button.set_icon_widget(imagen) + imagen.show() undo_button.connect('clicked', self.undo_cb) self.insert(undo_button, -1) undo_button.show() - redo_button = IPButtonStock(gtk.STOCK_REDO) + redo_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'deshacer.png'), 32, 32).flip(True) + imagen.set_from_pixbuf(pixbuf) + redo_button.set_icon_widget(imagen) + imagen.show() redo_button.connect('clicked', self.redo_cb) self.insert(redo_button, -1) redo_button.show() separator = gtk.SeparatorToolItem() - separator.props.draw = False + separator.props.draw = True separator.set_size_request(0, -1) - separator.set_expand(True) + separator.set_expand(False) self.insert(separator, -1) - cam_button = IPButton('foto.png') + cam_button = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'foto.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + cam_button.set_icon_widget(imagen) + imagen.show() cam_button.connect('clicked', self.cam_cb) self.insert(cam_button, -1) cam_button.show() separator = gtk.SeparatorToolItem() - separator.props.draw = False + separator.props.draw = True separator.set_size_request(0, -1) - separator.set_expand(True) + separator.set_expand(False) self.insert(separator, -1) def abrir_archivo(self, button): @@ -153,7 +204,6 @@ class EditToolbar(gtk.Toolbar): __gsignals__ = {'grey': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,([])), 'blur': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])), 'transpose': (gobject.SIGNAL_RUN_FIRST,gobject.TYPE_NONE, ([])), - 'offset': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])), 'contour': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])), 'text': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,([])), 'finedges': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,([])), @@ -168,55 +218,108 @@ class EditToolbar(gtk.Toolbar): def __init__(self): gtk.Toolbar.__init__(self) - self.grey = IPButton('grey.png') - self.grey.connect('clicked', self.grey_cb) - self.insert(self.grey, -1) - self.grey.show() - - self.blur = IPButton('blur.png') - self.blur.connect('clicked', self.blur_cb) - self.insert(self.blur, -1) - self.blur.show() - - self.transpose = IPButton('mirror.png') - self.transpose.connect('clicked', self.transpose_cb) - self.insert(self.transpose, -1) - self.transpose.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = True + separator.set_size_request(0, -1) + separator.set_expand(False) + self.insert(separator, -1) + + grey = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'grey.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + grey.set_icon_widget(imagen) + imagen.show() + grey.connect('clicked', self.grey_cb) + self.insert(grey, -1) + grey.show() - self.offset = IPButton('offset.png') - self.offset.connect('clicked', self.offset_cb) - self.insert(self.offset, -1) - self.offset.show() + blur = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'blur.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + blur.set_icon_widget(imagen) + imagen.show() + blur.connect('clicked', self.blur_cb) + self.insert(blur, -1) + blur.show() - self.contour = IPButton('contour.png') - self.contour.connect('clicked', self.contour_cb) - self.insert(self.contour, -1) - self.contour.show() + button_espejar = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'original.png'), 32, 32).flip(True) + imagen.set_from_pixbuf(pixbuf) + button_espejar.set_icon_widget(imagen) + imagen.show() + button_espejar.connect('clicked', self.transpose_cb) + self.insert(button_espejar, -1) + button_espejar.show() + + contour = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'contour.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + contour.set_icon_widget(imagen) + imagen.show() + contour.connect('clicked', self.contour_cb) + self.insert(contour, -1) + contour.show() - self.finedges = IPButton('finedges.png') - self.finedges.connect('clicked', self.finedges_cb) - self.insert(self.finedges, -1) - self.finedges.show() + finedges = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'finedges.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + finedges.set_icon_widget(imagen) + imagen.show() + finedges.connect('clicked', self.finedges_cb) + self.insert(finedges, -1) + finedges.show() - self.solarize = IPButton('solarize.png') - self.solarize.connect('clicked', self.solarize_cb) - self.insert(self.solarize, -1) - self.solarize.show() + solarize = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'solarize.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + solarize.set_icon_widget(imagen) + imagen.show() + solarize.connect('clicked', self.solarize_cb) + self.insert(solarize, -1) + solarize.show() - self.invert = IPButton('invert.png') - self.invert.connect('clicked', self.invert_cb) - self.insert(self.invert, -1) - self.invert.show() + invert = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'invert.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + invert.set_icon_widget(imagen) + imagen.show() + invert.connect('clicked', self.invert_cb) + self.insert(invert, -1) + invert.show() - self.ambross = IPButton('embross.png') - self.ambross.connect('clicked', self.ambross_cb) - self.insert(self.ambross, -1) - self.ambross.show() + ambross = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'ambross.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + ambross.set_icon_widget(imagen) + imagen.show() + ambross.connect('clicked', self.ambross_cb) + self.insert(ambross, -1) + ambross.show() - self.sharpen = IPButton('sharpen.png') - self.sharpen.connect('clicked', self.sharpen_cb) - self.insert(self.sharpen, -1) - self.sharpen.show() + sharpen = gtk.ToolButton() + imagen = gtk.Image() + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,'sharpen.png'), 32, 32) + imagen.set_from_pixbuf(pixbuf) + sharpen.set_icon_widget(imagen) + imagen.show() + sharpen.connect('clicked', self.sharpen_cb) + self.insert(sharpen, -1) + sharpen.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = True + separator.set_size_request(0, -1) + separator.set_expand(False) + self.insert(separator, -1) def grey_cb(self, button): self.emit('grey') @@ -224,8 +327,6 @@ class EditToolbar(gtk.Toolbar): self.emit('blur') def transpose_cb(self, button): self.emit('transpose') - def offset_cb(self, button): - self.emit('offset') def contour_cb(self, button): self.emit('contour') def finedges_cb(self, button): @@ -239,9 +340,10 @@ class EditToolbar(gtk.Toolbar): def sharpen_cb(self, button): self.emit('sharpen') -class IPButton(gtk.ToggleToolButton): +''' +class IPButton(gtk.ToolButton): def __init__(self, archivo): - gtk.ToggleToolButton.__init__(self) + gtk.ToolButton.__init__(self) imagen = gtk.Image() pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(ICONOS,archivo), 32, 32) imagen.set_from_pixbuf(pixbuf) @@ -249,12 +351,12 @@ class IPButton(gtk.ToggleToolButton): imagen.show() self.show() -class IPButtonStock(gtk.ToggleToolButton): +class IPButtonStock(gtk.ToolButton): def __init__(self, nombre): - gtk.ToggleToolButton.__init__(self) + gtk.ToolButton.__init__(self) imagen = gtk.Image() imagen.set_from_stock(nombre, gtk.ICON_SIZE_BUTTON) self.set_icon_widget(imagen) imagen.show() - self.show() + self.show()''' |