def __init__(self, objeto = None, usuario = None):
        """
        Constructor. objeto puede ser un objeto de pclases con el que
        comenzar la ventana (en lugar del primero de la tabla, que es
        el que se muestra por defecto).
        """
        global fin
        Ventana.__init__(self, 'consulta_entradas_almacen.glade', objeto, usuario = usuario)
        connections = {'b_salir/clicked': self.salir,
                       'b_buscar/clicked': self.buscar,
                       'b_imprimir/clicked': self.imprimir,
                       'b_fecha_inicio/clicked': self.set_inicio,
                       'b_producto/clicked': self.buscar_producto,
                       'b_fecha_fin/clicked': self.set_fin}
        self.add_connections(connections)
        utils.rellenar_lista(self.wids['cmbe_proveedor'], [(c.id, c.nombre) for c in pclases.Proveedor.select(orderBy='nombre')])

        cols = (('Proveedor', 'gobject.TYPE_STRING', False, True, False, None),
                ('Albarán', 'gobject.TYPE_STRING', False, True, True, None),
                ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
                ('Producto', 'gobject.TYPE_STRING', False, True, True, None),
                ('Cantidad', 'gobject.TYPE_FLOAT', False, True, False, None),
                ('Precio', 'gobject.TYPE_FLOAT', False, True, False, None),
                ('Subtotal', 'gobject.TYPE_FLOAT', False, True, False, None),
                ('idldc','gobject.TYPE_STRING',False,False,False,None))
        utils.preparar_listview(self.wids['tv_datos'], cols)
        for ncol in (4, 5, 6):
            col = self.wids['tv_datos'].get_column(ncol)
            for cell in col.get_cell_renderers():
                cell.set_property("xalign", 1)
        temp = time.localtime()
        self.fin = mx.DateTime.DateTimeFrom(day = temp[2], month = temp[1], year = temp[0])
        self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
        self.producto = None
        gtk.main()
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     Ventana.__init__(self, 'listado_productos.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_limpiar/clicked': self.limpiar_tv, 
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_exportar/clicked': self.exportar}
     self.wids['b_limpiar'].set_property("visible", False)
     self.add_connections(connections)
     cols = (('Código', 'gobject.TYPE_STRING', False, True, False, None),
             ('Descripción', 'gobject.TYPE_STRING', False,True,False,None),
             ('Gramos', 'gobject.TYPE_STRING', False,True,False,None),
             ('Producción estándar', 
                 'gobject.TYPE_STRING', False,True,False,None),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     for ncol in (2, 3):
         col = self.wids['tv_datos'].get_column(ncol)
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1)
     self.wids['tv_datos'].connect("row-activated", self.abrir_producto)
     #self.wids['e_buscar'].grab_focus()
     self.wids['e_buscar'].set_property("visible", False)
     self.wids['label1'].set_property("visible", False)
     self.wids['ventana'].set_title("Velocidades de la línea de geotextiles según producto")
     gtk.main()
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     # Inicialización del resto de widgets:
     utils.rellenar_lista(self.wids['cb_material'],[(t.id, t.descripcion) for t in pclases.TipoMaterialBala.select()])
     cols = (('Tarifa', 'gobject.TYPE_STRING', False, True, True, None),
             ('Precio', 'gobject.TYPE_FLOAT', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_tarifas'], cols)
     try:
         dde_nombre = pclases.DatosDeLaEmpresa.select()[0].nombre
     except IndexError:
         dde_nombre = ""
     clientes = ((0, dde_nombre), )
     for cliente in pclases.Cliente.select(
             pclases.Cliente.q.inhabilitado == False,
             orderBy = "nombre"):
         clientes += ((cliente.id, "%s (%s)" % (cliente.nombre,
                                                cliente.cif)), )
     utils.rellenar_lista(self.wids['cbe_cliente'], clientes)
     # HACK: Como glade-gtk2 ya no me abre el glade ni desde la 3.8.4:
     self.add_campo_obsoleto()
示例#4
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'lineas_sin_pedido.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_agregar/clicked': self.crear_nuevo_pedido,
                    'b_borrar/clicked': self.eliminar_linea_sin_pedido,
                    'b_modificar/clicked': self.agregar_a_pedido}
     self.add_connections(connections)
     cols = [('Nombre','gobject.TYPE_STRING',False,True,False,None),
             ('Descripción','gobject.TYPE_STRING',False,True,False,None),
             ('Cantidad','gobject.TYPE_DOUBLE',False,True,False,None),
             ('Fecha Hora','gobject.TYPE_STRING',False,True,False,None),
             ('Albarán', 'gobject.TYPE_STRING', False, True, False, None),
             ('Factura', 'gobject.TYPE_STRING', False, True, False, None),
             ('Idlinea_sin_pedido','gobject.TYPE_INT64',False,False,False,None)]
     if pclases.Ticket.select().count():
         cols.insert(-2, ('Ticket', 'gobject.TYPE_STRING', False, True, False, None))
     utils.preparar_listview(self.wids['tv_tipos'], cols)
     self.rellenar_tabla()
     gtk.main()
示例#5
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, os.path.join("ui", 'consulta_precios.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = [('Fecha', 'gobject.TYPE_STRING', False, True, True, None)]
     for p in pclases.ProductoVenta.select(orderBy = "nombre"):
         cols.append((p.nombre, "gobject.TYPE_STRING", 
                      False, False, False, None))
     cols += [('id', 'gobject.TYPE_STRING', False, False, False, None)]
     utils.preparar_listview(self.wids['tv_datos'], cols)
     for i in range(1, len(cols)-1):
         col = self.wids['tv_datos'].get_column(i)
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1)
     temp = mx.DateTime.localtime()
     self.fin = utils.abs_mxfecha(temp)
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.wids['tv_datos'].set_size_request(700, 200)
     gtk.main()
示例#6
0
 def crear_listviewes(self):
     tv = self.wids['tv_pruebas']
     #cols = (('Fecha análisis', 'gobject.TYPE_STRING', True, True, True, self.cambiar_fecha),
     #        ('MFI proveedor', 'gobject.TYPE_STRING', True, True, False, self.cambiar_mfi), 
     #        ('Lote', 'gobject.TYPE_STRING', True, True, False, self.cambiar_lote), 
     #        ('Silo', 'gobject.TYPE_STRING', True, True, False, self.cambiar_silo), 
     #        ('MFI laboratorio 1', 'gobject.TYPE_STRING', True, True, False, self.cambiar_resultado),
     #        ('MFI laboratorio 2', 'gobject.TYPE_STRING', True, True, False, self.cambiar_resultado),
     #        ('Media MFI laboratorio', 'gobject.TYPE_STRING', True, True, False, self.cambiar_resultado),
     #        ('ID1:ID2', 'gobject.TYPE_STRING', False, False, False, None))
     cols = (('Fecha análisis', 'gobject.TYPE_STRING', False, True, True, None),
             ('MFI proveedor', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Lote', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Silo', 'gobject.TYPE_STRING', False, True, False, None), 
             ('MFI laboratorio 1', 'gobject.TYPE_STRING', False, True, False, None),
             ('MFI laboratorio 2', 'gobject.TYPE_STRING', False, True, False, None),
             ('Media MFI lab.', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID1:ID2', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(tv, cols)
     tv.get_column(1).get_cell_renderers()[0].set_property('xalign', 1) 
     tv.get_column(2).get_cell_renderers()[0].set_property('xalign', 0.5) 
     tv.get_column(3).get_cell_renderers()[0].set_property('xalign', 0.5) 
     tv.get_column(4).get_cell_renderers()[0].set_property('xalign', 0.9) 
     tv.get_column(5).get_cell_renderers()[0].set_property('xalign', 0.9) 
     tv.get_column(6).get_cell_renderers()[0].set_property('xalign', 0.9) 
     self.colorear(tv)
     tv = self.wids['tv_media']
     cols = (('Lote', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fluidez media', 'gobject.TYPE_FLOAT', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(tv, cols)
     tv.get_column(1).get_cell_renderers()[0].set_property('xalign', 0.1) 
示例#7
0
文件: usuarios.py 项目: Virako/fpinn
 def preparar_tab_modulos(self):
     cols = (('Módulo/Ventanas', 'gobject.TYPE_STRING', True, True, True, self.cambiar_nombre_modulo),
             ('Descripción', 'gobject.TYPE_STRING', True, True, False, self.cambiar_descripcion_modulo),
             ('Icono', 'gobject.TYPE_STRING', True, True, False, self.cambiar_icono_modulo),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_modulos'], cols)
     model = gtk.TreeStore(gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gtk.gdk.Pixbuf,
                           gobject.TYPE_INT64)
     self.wids['tv_modulos'].set_model(model)
     cell = gtk.CellRendererPixbuf()
     column = gtk.TreeViewColumn('', cell, pixbuf = 3)
     self.wids['tv_modulos'].insert_column(column, 3)
     cols = (('Descripción', 'gobject.TYPE_STRING', True, True, True, self.cambiar_descripcion_ventana),
             ('Fichero', 'gobject.TYPE_STRING', True, True, False, self.cambiar_fichero_ventana),
             ('Clase', 'gobject.TYPE_STRING', True, True, False, self.cambiar_clase_ventana),
             ('Icono', 'gobject.TYPE_STRING', True, True, False, self.cambiar_icono_ventana),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_ventanas'], cols)
     model = gtk.ListStore(gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gtk.gdk.Pixbuf,
                           gobject.TYPE_INT64)
     self.wids['tv_ventanas'].set_model(model)
     cell = gtk.CellRendererPixbuf()
     column = gtk.TreeViewColumn('', cell, pixbuf = 4)
     self.wids['tv_ventanas'].insert_column(column, 4)
示例#8
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     # Inicialización del resto de widgets:
     empls = [(c.id, c.nombre) 
              for c in pclases.Empleado.select(orderBy = "nombre")]
     utils.rellenar_lista(self.wids['cb_empleado'], empls)
     self.wids['b_guardar'] = gtk.Button("N/A")
     self.wids['b_guardar'].set_property("visible", False)
     self.wids['b_guardar'].set_sensitive(False)
     cols = (("Día", "gobject.TYPE_STRING", False, True, True, None), 
             ("Rendimiento", "gobject.TYPE_STRING", False,True,False,None), 
             ("Producción personal", "gobject.TYPE_STRING", False, True, 
                 False, None), 
             ("Ratio diario", "gobject.TYPE_STRING", False, True, False, 
                 None), 
             ("Media global", "gobject.TYPE_STRING", False, True, False, 
                 None), 
             ("nihil", "gobject.TYPE_INT64", False, False, False, None))
     tv = self.wids['tv_datos']
     utils.preparar_listview(tv, cols)
     tv.get_column(1).get_cell_renderers()[0].set_property('xalign', 0.9)
     tv.get_column(2).get_cell_renderers()[0].set_property('xalign', 0.9)
     tv.get_column(3).get_cell_renderers()[0].set_property('xalign', 0.9)
     tv.get_column(4).get_cell_renderers()[0].set_property('xalign', 0.9)
     self.colorear(tv)
示例#9
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, 'listado_productos.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_limpiar/clicked': self.limpiar_tv, 
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Código', 'gobject.TYPE_STRING', False, True, False, None),
             ('Descripción', 'gobject.TYPE_STRING', False,True,False,None),
             ('PVP', 'gobject.TYPE_STRING', False,True,False,None),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     col = self.wids['tv_datos'].get_column(2)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     self.wids['tv_datos'].connect("row-activated", self.abrir_producto)
     self.wids['e_buscar'].grab_focus()
     gtk.main()
示例#10
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     cols = (('Concepto', 'gobject.TYPE_STRING', False, False, False, None),
             ("Valor en euros", "gobject.TYPE_STRING", False, False, False, None), 
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_listview(self.wids['tv_datos'], cols)
     cols = [("Código", "gobject.TYPE_STRING", False, True, True, None), 
             ("Descripción", "gobject.TYPE_STRING", 
                 False, True, False, None), 
             ("Existencias", "gobject.TYPE_STRING", 
                 False, True, False, None), 
             ("Precio valoración", "gobject.TYPE_STRING", 
                 False, True, False, None), 
             ("Total", "gobject.TYPE_STRING", False, True, True, None), 
             ("ID", "gobject.TYPE_INT", False, False, False, None)]
     utils.preparar_listview(self.wids['tv_detalle'], cols)
     tv = self.wids['tv_detalle']
     for col in tv.get_columns()[2:5]:
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1.0)
         col.set_alignment(0.5)
示例#11
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'contadores.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_agregar/clicked': self.crear_nuevo_contador,
                    'b_borrar/clicked': self.eliminar_contador,
                    'b_modificar/clicked': self.modificar_contador, 
                    'b_actualizar_contador/clicked': self.cambiar_contador}
     self.add_connections(connections)
     cols = (('Prefijo', 'gobject.TYPE_STRING', False, True, False, None),
             ('Valor actual', 'gobject.TYPE_STRING', 
                 True, True, False, self.cambiar_valor_contador),
             ('Sufijo', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Siguiente factura', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Última creada', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Fecha última factura', 'gobject.TYPE_STRING', 
                 False, True, False, None), 
             ('Facturas de la serie', 'gobject.TYPE_INT64', 
                 False, True, False, None),
             ('Clientes asignados', 'gobject.TYPE_INT64', 
                 False, True, False, None), 
             ('Idcontador', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_tipos'], cols)
     self.rellenar_widgets()
     gtk.main()
示例#12
0
 def __init__(self, pclase, tv, objeto_clave_ajena = None, 
              cols_a_ignorar = [], nombres_col = [], 
              seleccion_multiple = False, 
              orden = None):
     """
     Si se recibe un "objeto_clave_ajena" filtrará los datos mostrados en 
     el treeview a los relacionados con él. Sin embargo si se recibiera 
     un filtro en rellenar_tabla, éste prevalecerá sobre el del constructor.
     Las columnas cuyos nombres estén en cols_a_ignorar no se mostrarán.
     Si se recibe algo en «orden», las columnas se montarán en ese orden.
     Debe ser una lista o una tupla de los nombres de las columnas en 
     estilo CamelCase. Si alguna está en la lista de ignorar, se ingorará 
     aunque esté incluida en el orden. Si alguna columna 
     no está en la lista de orden, se añadirá al final.
     """
     self.clase = pclase
     self.tv = tv
     self.funciones = {}
     self.cols_a_ignorar = cols_a_ignorar
     self.__columnas = self.clase.sqlmeta.columnList
     cols = self.crear_cols(nombres_col, orden)
     utils.preparar_listview(self.tv, cols, multi = seleccion_multiple)
     if objeto_clave_ajena:
         nombrefk = (objeto_clave_ajena.__class__.__name__[0].lower() + 
                     objeto_clave_ajena.__class__.__name__[1:] + "ID")
         ajeno_id = objeto_clave_ajena.id
         self.filtro = lambda o: getattr(o, nombrefk) == ajeno_id
     else:
         self.filtro = lambda o: True
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, 'consulta_lotes_por_producto.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    "b_exportar/clicked": self.exportar}
     self.add_connections(connections)
     cols = (('Num. Lote','gobject.TYPE_INT64',False,True,False,None),
             ('Código','gobject.TYPE_STRING',False,True,False,None),
             ('Tenacidad','gobject.TYPE_STRING',False,True,False,None),
             ('Elongación','gobject.TYPE_STRING',False,True,False,None),
             ('Rizo','gobject.TYPE_STRING',False,True,False,None),
             ('Encogimiento','gobject.TYPE_STRING',False,True,False,None),
             ('Grasa','gobject.TYPE_STRING',False,True,False,None),
             ('Idlote','gobject.TYPE_INT64',False,False,False,None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_parte_tv)
     utils.rellenar_lista(self.wids['cmbe_producto'], [(p.id, p.nombre) for p in pclases.ProductoVenta.select(pclases.ProductoVenta.q.camposEspecificosBalaID != None, orderBy = 'nombre')])
     temp = time.localtime()
     self.fin = mx.DateTime.localtime()
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
示例#14
0
 def inicializar_tv_geotextil(self):
     cols = (('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Código', 'gobject.TYPE_STRING', False, True, True, None),
             ('Observaciones', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Partida', 'gobject.TYPE_STRING', False, True, False, None),
             ('Pendiente', 'gobject.TYPE_BOOLEAN', 
                 True, True, False, self.cambiar_pendiente_g),
             ('Longitudinal', 'gobject.TYPE_FLOAT', 
                 False, True, False, None),
             ('Transversal', 'gobject.TYPE_FLOAT', 
                 False, True, False, None),
             ('CBR', 'gobject.TYPE_FLOAT', False, True, False, None),
             ('Perforación', 'gobject.TYPE_FLOAT', 
                 False, True, False, None),
             ('Permeabilidad', 'gobject.TYPE_FLOAT', 
                 False, True, False, None),
             ('Punzonado piramidal', 'gobject.TYPE_FLOAT', 
                 False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, True, False, None)
             )
     utils.preparar_listview(self.wids['tv_geotextil'], cols)
     self.wids['tv_geotextil'].connect("row-activated", 
         self.abrir_resultados_geo)
     self.colorear_geotextil(self.wids['tv_geotextil'])
示例#15
0
文件: tarifas.py 项目: Virako/fpinn
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     self.wids['ventana'].set_title(self.clase.sqlmeta.table.upper())
     # Inicialización del resto de widgets:
     cols = (('Cliente', 'gobject.TYPE_STRING', False, True, True, None),
             ('CIF', 'gobject.TYPE_STRING', False, True, False, None),
             ('Código Postal','gobject.TYPE_STRING',False,True,False,None),
             ('Ciudad', 'gobject.TYPE_STRING', False, True, False, None),
             ('Provincia', 'gobject.TYPE_STRING', False, True, False, None),
             ('País', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_listview(self.wids['tv_clientes'], cols)
     cols = (('Producto', 'gobject.TYPE_STRING', True, True, True, 
                 self.editar_descripcion),
             ('Precio','gobject.TYPE_STRING', True, True, False,
                 self.editar_precio),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_treeview(self.wids['tv_productos'], cols, multi = True)
示例#16
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     Ventana.__init__(self, 'busca_lote.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_ayuda/clicked': self.ayuda}
     self.add_connections(connections)
     cols = (('Num. Lote','gobject.TYPE_INT64',False,True,False,None),
             ('Código','gobject.TYPE_STRING',False,True,False,None),
             ('Tenacidad','gobject.TYPE_STRING',False,True,False,None),
             ('Elongación','gobject.TYPE_STRING',False,True,False,None),
             ('Rizo','gobject.TYPE_STRING',False,True,False,None),
             ('Encogimiento','gobject.TYPE_STRING',False,True,False,None),
             ('Idlote','gobject.TYPE_INT64',False,False,False,None))
     utils.preparar_listview(self.wids['tv_resultado'], cols)
     utils.rellenar_lista(self.wids['cmbe_producto'], [(p.id, p.nombre) for p in pclases.ProductoVenta.select(pclases.ProductoVenta.q.camposEspecificosBalaID != None, orderBy = 'nombre')])
     self.rellenar_tabla()
     # Valores por defecto:
     self.wids['e_tenacidad'].set_text('A')
     self.wids['e_elongacion'].set_text('A')
     self.wids['e_rizo'].set_text('6-7')
     self.wids['e_encogimiento'].set_text('A')
     self.wids['chk_tenacidad'].set_active(True)
     self.wids['chk_elongacion'].set_active(True)
     self.wids['chk_rizo'].set_active(True)
     self.wids['chk_encogimiento'].set_active(True)
     self.wids['chk_producto'].set_active(True)
     
     gtk.main()
示例#17
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     self.wids['ventana'].set_title(self.clase.sqlmeta.table.upper())
     # Inicialización del resto de widgets:
     cols = (('Código', 'gobject.TYPE_STRING', False, True, True, None), 
             ('Concepto', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Importe', 'gobject.TYPE_STRING', False, True, False, None), 
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_listview(self.wids['tv_gastos'], cols)
     utils.rellenar_lista(self.wids['cbe_proveedorID'], 
                          [(p.id, p.nombre) for p in 
                             pclases.Proveedor.select(orderBy = "nombre")])
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, 'consulta_albaranesFacturados.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    "b_exportar/clicked": self.exportar}
     self.add_connections(connections)
     cols = (('Fecha','gobject.TYPE_STRING', False, True, False, None),
             ('Nº Albarán','gobject.TYPE_STRING', False, True, True, None),
             ('Cliente','gobject.TYPE_STRING', False, True, False, None),
             ('Num. Factura','gobject.TYPE_STRING', False, True, False,None),
             ('Idalbaran','gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_albaran)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.wids['rb_salida'].set_active(True)
     gtk.main()
示例#19
0
 def crear_listview(self, tv):
     # Primero hay que crear el TreeView que mostrará 
     # el contenido de cada solapa.
     cols = (('Resultado', 'gobject.TYPE_FLOAT', False, True,  False, None), 
             ('ID',        'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(tv, cols)
     return tv
示例#20
0
文件: gastos.py 项目: Virako/fpinn
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     self.wids['ventana'].set_title(self.clase.sqlmeta.table.upper())
     # Inicialización del resto de widgets:
     utils.rellenar_lista(self.wids['cbe_cuentaGastosID'], 
                          [(p.id, p.descripcion) for p in 
                       pclases.CuentaGastos.select(orderBy = "descripcion")])
     utils.rellenar_lista(self.wids['cbe_parcelaID'], 
                          [(p.id, p.parcela) for p in 
                             pclases.Parcela.select(orderBy = "parcela")])
     utils.rellenar_lista(self.wids['cbe_facturaCompraID'], 
                          [(p.id, p.numfactura) for p in 
                       pclases.FacturaCompra.select(orderBy = "numfactura")])
     return
     # XXX: Aquí generalmente se inicializan los TreeViews y combos.
     cols = (('XXXNombreCol', 'gobject.TYPE_STRING', XXXEditable, XXXOrdenable, XXXBuscable, XXXCallbackEdicion),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_listview(self.wids['XXXtv_treeview'], cols)
     utils.rellenar_lista(self.wids['XXXcbe_comboboxentry'], 
                          [(p.id, p.XXXcampo) for p in 
                             pclases.XXXClase.select(orderBy = "XXXcampo")])
示例#21
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, os.path.join("ui", 'facturar_albaranes.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_doit/clicked': self.generar}
     self.add_connections(connections)
     cols = (('Número', 'gobject.TYPE_STRING', False, True, True, None),
             ('Cliente','gobject.TYPE_STRING', False, True, False, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Importe', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Estado', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Facturar', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_generar),
             ('id','gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", 
                                   abrir_albaran, 
                                   self.usuario, 
                                   self)
     col = self.wids['tv_datos'].get_column(3)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1.0)
     col = self.wids['tv_datos'].get_column(4)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 0.5)
     self.rellenar_widgets()
     self.wids['ventana'].resize(800, 600)
     gtk.main()
示例#22
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, os.path.join("ui", 'consulta_facturacion.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Factura','gobject.TYPE_STRING', False, True, True, None),
             ('Fecha','gobject.TYPE_STRING', False, False, False, None),
             ('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
             ('Importe','gobject.TYPE_STRING', False, True, False, None),
             ('Pendiente', 'gobject.TYPE_STRING', False, True, False, None), 
             ('id','gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     col = self.wids['tv_datos'].get_column(3)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     col = self.wids['tv_datos'].get_column(4)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
示例#23
0
 def __init__(self, objeto=None, usuario=None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, os.path.join("ui",
             'cobro_facturas_venta.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_add_cobro/clicked': self.add_cobro,
                    'b_remove_cobro/clicked': self.remove_cobro}
     self.add_connections(connections)
     cols = (('ID', 'gobject.TYPE_INT', False, True, True, None),
             ('Número', 'gobject.TYPE_STRING', False, True, True, None),
             ('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Importe', 'gobject.TYPE_STRING', False, True, False, None),
             ('Estado', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha vto', 'gobject.TYPE_STRING', False, True, False, None),
             ('Pagado en', 'gobject.TYPE_STRING', False, True, False, None),
             ('id', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     #self.wids['tv_datos'].connect("row-activated", self.abrir_factura,
     #        self.usuario, self)
     col = self.wids['tv_datos'].get_column(3)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1.0)
     col = self.wids['tv_datos'].get_column(4)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 0.5)
     self.rellenar_widgets()
     self.wids['ventana'].resize(800, 600)
     gtk.main()
示例#24
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, os.path.join("ui", 'build_salarios.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_fecha/clicked': self.set_fecha, 
                    'b_doit/clicked': self.generar}
     self.add_connections(connections)
     cols = (('Emeplado', 'gobject.TYPE_STRING', False, True, True, None),
             ('Jornal','gobject.TYPE_STRING', False, True, False, None),
             ('Generar', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_generar),
             ('id','gobject.TYPE_STRING',False,False,False,None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     col = self.wids['tv_datos'].get_column(2)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 0.5)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fecha'].set_text(utils.str_fecha(temp))
     self.rellenar_widgets()
     self.wids['ventana'].resize(800, 600)
     gtk.main()
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, 'consulta_pedidos_clientes.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin,
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     utils.rellenar_lista(self.wids['cmbe_cliente'], [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy='nombre')])
     cols = (('Código', 'gobject.TYPE_STRING', False, True, False, None),
             ('Descripción', 'gobject.TYPE_STRING', False,True,False,None),
             ('Precio s/IVA', 'gobject.TYPE_STRING', False,True,False,None),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     col = self.wids['tv_datos'].get_column(2)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     self.wids['tv_datos'].connect("row-activated", self.abrir_producto)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fecha_fin'].set_text(utils.str_fecha(temp))
     if objeto != None:
         utils.combo_set_from_db(self.wids["cmbe_cliente"], objeto.id)
         self.wids["b_buscar"].clicked()
     self.wids['hbox4'].set_property("visible", False)
     self.wids['ventana'].set_title("Productos facturados al cliente")
     gtk.main()
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, 'consulta_albaranes_clientes.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     utils.rellenar_lista(self.wids['cmbe_cliente'], [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy='nombre')])
     cols = (('Cliente','gobject.TYPE_STRING',False,True,False,None),
             ('Fecha','gobject.TYPE_STRING',False,True,False,None),
             ('Albarán','gobject.TYPE_STRING',False,True,False,None),
             ('Destinatario','gobject.TYPE_STRING',False,True,False,None),
             ('Facturado', 'gobject.TYPE_BOOLEAN', False, True, False, None),
             ('Facturas', 'gobject.TYPE_STRING', False, True, False, None),
             ('Idalbaran','gobject.TYPE_INT64',False,False,False,None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_albaran)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
示例#27
0
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     Ventana.__init__(self, 'partes_no_bloqueados.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_editar/clicked': self.abrir_parte,
                    'b_actualizar/clicked': self.actualizar}
     self.add_connections(connections)
     cols = (('Producto', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fecha','gobject.TYPE_STRING', False, True, False, None),
             ('Inicio turno','gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Fin turno','gobject.TYPE_STRING', False, True, False, None),
             ('Visto','gobject.TYPE_BOOLEAN', 
                 True, True, False, self.bloquear),
             ('Lote/Partida', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_partes'], cols)
     self.wids['tv_partes'].connect("row-activated", self.abrir_parte_tv)
     self.wids['tv_partes'].connect("cursor-changed", 
         self.mostrar_info_parte)
     self.colorear(self.wids['tv_partes'])
     try:
         ventanas_con_permiso = [p.ventana.fichero 
             for p in self.usuario.permisos if p.permiso] 
                 # and p.escritura]  # STILL UNIMPLEMENTED
     except AttributeError:
         print "De momento esta ventana sólo se puede abrir desde el menú."
         sys.exit(1)
     for w in ("rb_bolsas", "rb_balas", "rb_rollos", "rb_todos"):
         self.wids[w].set_sensitive(False)
     tiene_al_menos_un_permiso = False
     if ('partes_de_fabricacion_balas.py' in ventanas_con_permiso 
         and 'partes_de_fabricacion_rollos.py' in ventanas_con_permiso
         and 'partes_de_fabricacion_bolsas.py' in ventanas_con_permiso):
         self.wids['rb_todos'].set_active(True)
         for w in ("rb_bolsas", "rb_balas", "rb_rollos", "rb_todos"):
             self.wids[w].set_sensitive(True)
         tiene_al_menos_un_permiso = True
     else:
         if 'partes_de_fabricacion_balas.py' in ventanas_con_permiso:
             self.wids['rb_balas'].set_sensitive(True)
             self.wids['rb_balas'].set_active(True)
             tiene_al_menos_un_permiso = True
         if 'partes_de_fabricacion_rollos.py' in ventanas_con_permiso:
             self.wids['rb_rollos'].set_sensitive(True)
             self.wids['rb_rollos'].set_active(True)
             tiene_al_menos_un_permiso = True
         if 'partes_de_fabricacion_bolsas.py' in ventanas_con_permiso:
             self.wids['rb_bolsas'].set_sensitive(True)
             self.wids['rb_bolsas'].set_active(True)
             tiene_al_menos_un_permiso = True
     if tiene_al_menos_un_permiso:
         self.rellenar_partes()
         gtk.main()
     else:
         utils.dialogo_info(titulo = "USUARIO SIN PERMISOS", 
             texto = "No tiene permisos suficientes para bloquear partes.", 
             padre = self.wids['ventana'])
示例#28
0
 def crear_listview(self, tv):
     cols = (
         ("Fecha", "gobject.TYPE_STRING", True, True, True, self.cambiar_fecha),
         ("Resultado", "gobject.TYPE_FLOAT", True, True, False, self.cambiar_resultado),
         ("ID", "gobject.TYPE_INT64", False, False, False, None),
     )
     utils.preparar_listview(tv, cols)
     tv.get_column(1).get_cell_renderers()[0].set_property("xalign", 0.1)
示例#29
0
 def __init__(self, objeto=None, usuario=None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'consulta_pedidos_clientes.glade', objeto,
                      usuario=usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_fecha,
                    'b_fecha_fin/clicked': self.set_fecha,
                    'b_exportar/clicked': self.exportar,
                    'e_fecha_inicio/focus-out-event': act_fecha,
                    'e_fecha_fin/focus-out-event': act_fecha,
                   }
     self.add_connections(connections)
     utils.rellenar_lista(self.wids['cmbe_cliente'],
             [(c.id, c.nombre)
                 for c in pclases.Cliente.select(orderBy='nombre')])
     cols = (('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Pedido', 'gobject.TYPE_STRING', False, True, False, None),
             ('Producto', 'gobject.TYPE_STRING', False, True, False, None),
             ('Cantidad\npedida', 'gobject.TYPE_STRING',
                                                 False, True, False, None),
             ('Cantidad\nservida', 'gobject.TYPE_STRING',
                                                 False, True, False, None),
             ('Importe\npedido\n(c/IVA)', 'gobject.TYPE_STRING',
                                                 False, True, False, None),
             ('Importe\nservido\n(c/IVA)', 'gobject.TYPE_STRING',
                                                 False, True, False, None),
             ("Bloqueado", "gobject.TYPE_BOOLEAN", False, True, False, None),
             ("Cerrado", "gobject.TYPE_BOOLEAN", False, True, False, None),
             ('PUIDPEDIDO;PUIDPRODUCTO', 'gobject.TYPE_STRING', # HACK
                                                 False, False, False, None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     for ncol in (4, 5, 6, 7):
         col = self.wids['tv_datos'].get_column(ncol)
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1)
     for col in self.wids['tv_datos'].get_columns():
         col.connect("clicked", self.order_changed_refresh_grafica)
     self.wids['tv_datos'].connect("row-activated", self.abrir_pedido)
     self.resultado = []
     self.fin = utils.str_fecha(datetime.date.today())
     self.inicio = None
     self.wids['e_fecha_fin'].set_text(self.fin)
     self.wids['e_fecha_inicio'].set_text("")
     if objeto != None:
         utils.combo_set_from_db(self.wids["cmbe_cliente"], objeto.id)
         self.wids["b_buscar"].clicked()
     self.add_widgets_extra()
     self.servido_por_producto = defaultdict(lambda: 0)
     self.wids['cmbe_cliente'].grab_focus()
     gtk.main()
示例#30
0
 def crear_listview_calendario(self, tv):
     cols = (('Nombre', 'gobject.TYPE_STRING', False, True, False, None),
             ('Apellidos', 'gobject.TYPE_STRING', False, True, True, None), 
             ('Grupo', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Cat. laboral', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Centro de trabajo', 'gobject.TYPE_STRING', False, True, False, None), 
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(tv, cols)
     tv.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
     tv.connect('row-activated', self.abrir_calendario)