> > PS: Si queréis aprovechar del Trac/Subversion (que se ve public) donde > está bluetotem os he hecho developers a Andres y a Pablo... > > * http://code.autistici.org/trac/bluetotem/ > Gracias por el ofrecimiento, dw. Esperaremos a ver qué tal se recupera jon antes de tomar decisiones de ese tipo. Por lo pronto hemos aplazado el día de trabajo en pybluetotem, lo único que hicimos es un prototipo que tenía algunos de los elementos que esperamos que tenga la aplicación.
> Me pide GTK+ 2.16 y tengo la 2.14 en Ubuntu 8.10... y cambiando el > fichero .glade a 2.14 no parece cargarse todo. > > Que hay que instalar? Tengo que compilarme la 2.16?? =-O > Creo que no usamos ningún elemento que no estuviera en la versión 2.14. He abierto el archivo ejemplo.glade con un editor de texto y lo he "guardado como" escribiendo 2.14 en la línea correspondiente del xml. Te lo adjunto, y espero que te funcione. Yo hice el ejemplo usando gtk 2.16 en ubuntu 9.04, pero otra gente fue haciendo los ejemplos con debian y otros ubuntus y tiraba. Saludos
import gtk
class Ejemplo(object):
""" Class doc """
def __init__ (self):
""" Class initialiser """
self.builder = gtk.Builder()
self.builder.add_from_file("ejemplo214.glade")
self.ventana = self.builder.get_object("ventana_principal")
self.textview_informacion = self.builder.get_object("textview_informacion")
self.treeview_tareas = self.builder.get_object("treeview_tareas")
self.tareas = gtk.ListStore(object)
self.treeview_tareas.set_model(self.tareas)
renderer1 = gtk.CellRendererText()
renderer2 = gtk.CellRendererText()
columna1 = gtk.TreeViewColumn('Status')
columna1.pack_start(renderer1,True)
columna1.set_cell_data_func(renderer1, self.texto_status)
self.treeview_tareas.append_column(columna1)
columna2 = gtk.TreeViewColumn('Fichero')
columna2.pack_start(renderer2,True)
columna2.set_cell_data_func(renderer2, self.texto_fichero)
self.treeview_tareas.append_column(columna2)
self.builder.connect_signals(self)
def texto_status(self, column, cell, model, iter):
'''Me pasan una tarea y devuelvo el status
'''
tarea = model.get_value(iter,0)
status = str(tarea.status)
cell.set_property('text',status)
def texto_fichero(self, column, cell, model, iter):
'''Me pasan una tarea y devuelvo el fichero
'''
tarea = model.get_value(iter,0)
fichero = str(tarea.fichero)
cell.set_property('text',fichero)
def on_treeview_tareas_cursor_changed(self,widget,data=None):
selection = widget.get_selection()
model,iter = selection.get_selected()
tarea = model.get_value(iter,0)
buffer = self.textview_informacion.get_buffer()
buffer.set_text(tarea.direccion)
def on_ventana_principal_destroy(self,widget,data=None):
gtk.main_quit()
def on_nueva_tarea(self,widget,data=None):
self.builder = gtk.Builder()
self.builder.add_from_file("ejemplo214.glade")
self.dialog_nueva_tarea = self.builder.get_object("dialog_nueva_tarea")
entry_archivo = self.builder.get_object("entry_archivo")
combobox_direcciones = self.builder.get_object("combobox_direcciones")
slist=["00:F5:50:C3:00:00","00:1F:00:08:00:23"]
liststore = gtk.ListStore(str)
combobox_direcciones.set_model(liststore)
cell = gtk.CellRendererText()
combobox_direcciones.pack_start(cell, True)
combobox_direcciones.add_attribute(cell, 'text', 0)
for s in slist:
liststore.append( (s,) )
resultado= self.dialog_nueva_tarea.run()
if resultado:
archivo=entry_archivo.get_text()
print archivo
indice = combobox_direcciones.get_active()
print slist[indice], indice
self.dialog_nueva_tarea.destroy()
nueva_tarea = Tarea(archivo, slist[indice])
self.tareas.append( (nueva_tarea,) )
def on_cancelar_tareas(self,widget,data=None):
gtk.main_quit()
def on_pausa(self,widget,data=None):
gtk.main_quit()
class Tarea(object):
""" Tarea bluetooth """
descripcion_estado = {0: 'Creada', 1: 'Iniciada', 2:'Conexion establecida', 3:'Archivo transferido', 4:'Completada'}
def __init__ (self, fichero, direccion):
""" Class initialiser """
self.fichero=fichero
self.direccion=direccion
self.status=0
def terminada(self):
self.status=4
if __name__ == "__main__":
tareas = Ejemplo()
tareas.ventana.show()
gtk.main()
ejemplo214.glade
Description: application/glade
_______________________________________________ Hackademy mailing list [email protected] https://listas.sindominio.net/mailman/listinfo/hackademy
