>
> 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()
       

Attachment: ejemplo214.glade
Description: application/glade

_______________________________________________
Hackademy mailing list
[email protected]
https://listas.sindominio.net/mailman/listinfo/hackademy

Responder a