On 01/03/10 02:42, Andreina Mejia wrote:

Un amigo me recomendó integrar GtkSourceView
(http://projects.gnome.org/gtksourceview/index.html) a mi aplicación
para poder hacer uso de una de las herramientas implementadas en esta
librería: deshacer/rehacer ilimitado.

GtkSourceView lo usa -entre otros- gedit, así que parece un camino seguro para hacer algo parecido a un editor de texto.

En /usr/share/doc/python-gtksourceview2/examples/ aparece un ejemplo
sobre cómo debe integrarse GtkSourceView a una aplicación, pero sigo sin
entender.

Éste es el código del ejemplo que aparece en “examples”:

Está bien que estudies el código de ejemplo, pero si no tienes mucha experiencia con GTK es normal que no entiendas algunas cosas. Te recomendaría empezar un script de cero e ir complicándolo poco a poco, teniendo siempre un ojo en la documentación:

http://people.gnome.org/~gianmt/pygtksourceview2/

Para que tengas un punto de partida, lo que comentas (gtksourceview + funciones undo/redo), se puede hacer así:

import gtk
import gtksourceview2 as gtkview

def on_undo_clicked(button, viewbuffer):
    if viewbuffer.can_undo():
        viewbuffer.undo()

def on_redo_clicked(button, viewbuffer):
    if viewbuffer.can_redo():
        viewbuffer.redo()

window = gtk.Window()
viewbuffer = gtkview.Buffer()
view = gtkview.View(viewbuffer)
undo_button = gtk.Button("undo")
undo_button.connect("clicked", on_undo_clicked, viewbuffer)
redo_button = gtk.Button("redo")
redo_button.connect("clicked", on_redo_clicked, viewbuffer)

box = gtk.VBox()
bbox = gtk.HBox()
bbox.pack_start(undo_button)
bbox.pack_start(redo_button)
box.pack_start(bbox, expand=False)
box.pack_start(view)
window.add(box)
window.resize(640, 480)
window.show_all()
gtk.main()

--
http://www.arnau-sanchez.com
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a