本文整理汇总了Python中utils.rellenar_lista函数的典型用法代码示例。如果您正苦于以下问题:Python rellenar_lista函数的具体用法?Python rellenar_lista怎么用?Python rellenar_lista使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rellenar_lista函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
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)
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()
示例2: inicializar_ventana
def inicializar_ventana(self):
"""
Inicialización de controles de la ventana.
"""
self.wids['frame_observaciones'].set_property("visible", False)
try:
dde = pclases.DatosDeLaEmpresa.select()[0]
if "Bogado" in dde.nombre:
self.wids['frame_observaciones'].set_property("visible", True)
except:
pass
self.activar_widgets(False)
utils.rellenar_lista(self.wids['cbe_cuenta_origen'],
[(c.id, "%s%s" % (c.ccc, c.nombre and " (%s)" % c.nombre or "")) for c in pclases.CuentaOrigen.select(orderBy = "nombre")])
utils.rellenar_lista(self.wids['cbe_cuenta_bancaria_cliente'],
[(c.id, "%s%s%s%s (%s)" % (
c.cuenta,
c.iban and " | IBAN: " + c.iban or "",
c.swif and " | SWIF: " + c.swif or "",
c.banco and " (%s)" % c.banco or "",
c.cliente and c.cliente.nombre
or "SIN CLIENTE"))
for c in pclases.CuentaBancariaCliente.select(orderBy = "id")])
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)
示例3: __init__
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)
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()
示例4: __init__
def __init__(self, mes = None, anno = None, ldp = None, solo_lectura = False, usuario = None):
"""
Constructor. objeto puede ser un objeto de pclases de la
línea de producción con la que comenzar la ventana.
"""
self.escritura = not solo_lectura
Ventana.__init__(self, 'calendario_laboral.glade', None)
connections = {'b_salir/clicked': self.salir
}
self.add_connections(connections)
self.cal = [] # Los Gtk.Table no tienen método para acceder a los hijos por fila y columna (flipa!).
# Así que los iré guardando aquí para poderlos crear y destruir sobre la marcha.
utils.rellenar_lista(self.wids['cbe_linea'],
[(l.id, l.nombre) for l in pclases.LineaDeProduccion.select(orderBy='nombre')])
if mes == None:
mes = mx.DateTime.localtime().month
if anno == None:
anno = mx.DateTime.localtime().year
self.wids['sp_mes'].set_value(mes)
self.wids['sp_anno'].set_value(anno)
self.wids['cbe_linea'].connect('changed', self.rellenar_widgets)
self.wids['sp_mes'].connect('value-changed', self.rellenar_widgets)
self.wids['sp_anno'].connect('value-changed', self.rellenar_widgets)
if ldp == None:
utils.combo_set_from_db(self.wids['cbe_linea'], pclases.LineaDeProduccion.select(orderBy='nombre')[0].id)
else:
utils.combo_set_from_db(self.wids['cbe_linea'], ldp.id)
gtk.main()
示例5: mostrar_info_cliente
def mostrar_info_cliente(self):
"""
Introduce el código del cliente y la información relativa en los widgets.
Si el nombre y domicilio del librado están en blanco, escribe también
ahí los datos del cliente.
"""
if self.cliente == None:
self.wids['e_codcliente'].set_text("")
utils.rellenar_lista(self.wids['cbe_cuenta_bancaria_cliente'],
[(c.id, "%s%s%s%s" % (c.cuenta,
c.iban and " | IBAN: " + c.iban or "",
c.swif and " | SWIF: " + c.swif or "",
c.banco and " (%s)" % c.banco or ""))
for c in pclases.CuentaBancariaCliente.select(orderBy = "id")])
else:
self.wids['e_codcliente'].set_text(`self.cliente.id`)
utils.rellenar_lista(self.wids['cbe_cuenta_bancaria_cliente'],
[(c.id, "%s%s%s%s" % (c.cuenta,
c.iban and " | IBAN: " + c.iban or "",
c.swif and " | SWIF: " + c.swif or "",
c.banco and " (%s)" % c.banco or ""))
for c in pclases.CuentaBancariaCliente.select(
pclases.CuentaBancariaCliente.q.clienteID==self.cliente.id,
orderBy = "id")])
if self.objeto.nombreLibrado == "":
self.objeto.nombreLibrado = self.cliente.nombre
if self.objeto.direccionLibrado == "":
self.objeto.direccionLibrado = ", ".join(
(self.cliente.direccion,
self.cliente.cp,
self.cliente.ciudad))
示例6: __init__
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)
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()
示例7: __init__
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)
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 = datetime.date(day = temp[2], month = temp[1], year = temp[0])
self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
self.producto = None
gtk.main()
示例8: __init__
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.grafico = None
Ventana.__init__(self, 'historico_existencias.glade', objeto)
connections = {'b_salir/clicked': self.salir,
'b_fecha/clicked': self.set_fecha,
'b_imprimir/clicked': self.imprimir,
'b_actualizar/clicked': self.cambiar_grafico,
}
self.add_connections(connections)
self.wids['ventana'].set_title("Histórico de existencias de productos de compra")
fechactual = datetime.date.today()
fechactual = datetime.datetime(day = 1,
month = fechactual.month,
year = fechactual.year)
primero_de_mes_corriente = utils.str_fecha(fechactual)
self.wids['e_fecha'].set_text(primero_de_mes_corriente)
opciones = [(p.id, p.descripcion) for p in pclases.ProductoCompra.select(orderBy = "descripcion") if p.controlExistencias]
opciones.insert(0, (-1, "Todos (escala logarítmica)"))
utils.rellenar_lista(self.wids['cbe_grafico'], opciones)
gtk.main()
示例9: __init__
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)
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_fechafin'].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()
示例10: __init__
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_ventas.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}
self.add_connections(connections)
cols = (('Cliente','gobject.TYPE_STRING',False,True,False,None),
('Factura','gobject.TYPE_STRING',False,True,True,None),
('Fecha','gobject.TYPE_STRING',False,True,False,None),
('Total','gobject.TYPE_STRING',False,True,False,None),
('Beneficio','gobject.TYPE_STRING',False,True,False,None),
('Pendiente','gobject.TYPE_STRING',False,True,False,None),
('Id','gobject.TYPE_INT64',False,False,False,None))
utils.preparar_treeview(self.wids['tv_datos'], cols)
self.wids['tv_datos'].connect("row-activated", self.abrir_prefactura)
self.wids['tv_datos'].get_column(3).get_cell_renderers()[0].set_property('xalign', 1)
self.wids['tv_datos'].get_column(4).get_cell_renderers()[0].set_property('xalign', 1)
self.wids['tv_datos'].get_column(5).get_cell_renderers()[0].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))
self.metros_totales = 0.0
self.kilos_totales = 0.0
opciones = [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy = "nombre")]
opciones.insert(0, (-1, "Todos"))
utils.rellenar_lista(self.wids['cbe_cliente'], opciones)
utils.combo_set_from_db(self.wids['cbe_cliente'], -1)
self.wids['label7'].set_text("Total beneficio estimado: ")
#self.wids['label7'].set_property("visible", False)
#self.wids['e_total_kilos'].set_property("visible", False)
self.wids['label8'].set_property("visible", False)
self.wids['e_total_metros'].set_property("visible", False)
self.wids['label9'].set_property("visible", False)
self.wids['cbe_cliente'].set_property("visible", False)
self.wids['ventana'].set_title("Listado de prefacturas")
self.wids['notebook1'].remove_page(1)
self.wids['label1'].set_text("Por cliente")
labpdte = gtk.Label("Total pendiente:")
labpdte.show()
self.wids['hbox4'] = gtk.HBox()
self.wids['hbox4'].add(labpdte)
self.wids['e_totpdte'] = gtk.Entry()
self.wids['e_totpdte'].set_property("editable", False)
self.wids['e_totpdte'].set_property("has-frame", False)
self.wids['hbox4'].add(self.wids['e_totpdte'])
self.wids['hbox4'].show_all()
self.wids['vbox2'].add(self.wids['hbox4'])
self.wids['vbox2'].reorder_child(self.wids['hbox4'], 2)
self.wids['e_totpdte'].show()
gtk.main()
示例11: __init__
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_pendientes_vto_bueno.glade', objeto,
usuario = self.usuario)
connections = {'b_salir/clicked': self.salir,
'b_pendientes/clicked': self.buscar,
'b_todas/clicked': self.buscar,
'b_fecha_inicio/clicked': self.set_inicio,
'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 = (('Factura', 'gobject.TYPE_STRING', False, True, True, None),
('Código vto. bueno', 'gobject.TYPE_STRING',
False, True, False, None),
('Proveedor', 'gobject.TYPE_STRING', False, True, False, None),
('Importe', 'gobject.TYPE_STRING', False, False, False, None),
('Fecha fra.', 'gobject.TYPE_STRING',
False, True, False, None),
('Fecha recepción', 'gobject.TYPE_STRING',
False, True, False, None),
('Automático', 'gobject.TYPE_BOOLEAN',
False, True, False, None),
('Usuario', 'gobject.TYPE_BOOLEAN', False, True, False, None),
('Técnico', 'gobject.TYPE_BOOLEAN', False, True, False, None),
('Comercial', 'gobject.TYPE_BOOLEAN',
False, True, False, None),
('D. General', 'gobject.TYPE_BOOLEAN',
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.colorear(self.wids['tv_datos'])
temp = time.localtime()
self.fin = datetime.date(day = temp[2], month = temp[1], year = temp[0])
self.inicio = self.fin - datetime.timedelta(days = 4 * 7)
self.wids['e_fechafin'].set_text(utils.str_fecha(self.fin))
self.wids['e_fechainicio'].set_text(utils.str_fecha(self.inicio))
sens = (self.usuario == None
or self.usuario.firmaUsuario
or self.usuario.firmaComercial
# or self.usuario.firmaTecnico
or self.usuario.firmaDirector
or self.usuario.firmaTotal)
self.wids['b_pendientes'].set_sensitive(sens)
self.wids['b_pendientes'].child.child.get_children()[1].set_text("Ver pendientes de mi firma (%s)" % (self.usuario and self.usuario.usuario or "cualquiera"))
gtk.main()
示例12: inicializar_ventana
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-...
"""
self.wids['ventana'].resize(800, 600)
self.ffped = self.fppro = self.gpped = self.gppro = None
cols = (('Pedido', 'gobject.TYPE_STRING', False, True, True, None),
('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
('Producto', 'gobject.TYPE_STRING', False, True, False, None),
('Pendiente', 'gobject.TYPE_STRING', False, True, False, None),
('Existencias totales', 'gobject.TYPE_STRING', False, True, False, None),
('Fecha entrega', 'gobject.TYPE_STRING', False, True, False, None),
('Texto entrega', 'gobject.TYPE_STRING', False, True, False, None),
('IDPedido', 'gobject.TYPE_INT64', False, False, False, None))
utils.preparar_listview(self.wids['tv_fibra_por_pedido'], cols)
utils.preparar_listview(self.wids['tv_gtx_por_pedido'], cols)
utils.preparar_listview(self.wids['tv_otros_por_pedido'], cols)
self.wids['tv_fibra_por_pedido'].connect("row-activated", self.abrir_pedido)
self.wids['tv_gtx_por_pedido'].connect("row-activated", self.abrir_pedido)
self.wids['tv_otros_por_pedido'].connect("row-activated", self.abrir_pedido)
cols = (('Producto', 'gobject.TYPE_STRING', False, True, True, None),
('Pendiente', 'gobject.TYPE_STRING', False, True, False, None),
('Existencias totales', 'gobject.TYPE_STRING', False, True, False, None),
('Bultos totales', 'gobject.TYPE_STRING', False, True, False, None),
('Existencias clase A', 'gobject.TYPE_STRING', False, True, False, None),
('Bultos clase A', 'gobject.TYPE_STRING', False, True, False, None),
('Existencias clase B', 'gobject.TYPE_STRING', False, True, False, None),
('Bultos clase B', 'gobject.TYPE_STRING', False, True, False, None),
('IDPedido', 'gobject.TYPE_INT64', False, False, False, None))
utils.preparar_listview(self.wids['tv_fibra_por_producto'], cols)
utils.preparar_listview(self.wids['tv_gtx_por_producto'], cols)
utils.preparar_listview(self.wids['tv_otros_por_producto'], cols)
self.colorear(self.wids['tv_fibra_por_producto'])
self.colorear(self.wids['tv_gtx_por_producto'])
self.colorear(self.wids['tv_otros_por_producto'])
self.colorear(self.wids['tv_fibra_por_pedido'])
self.colorear(self.wids['tv_gtx_por_pedido'])
self.colorear(self.wids['tv_otros_por_pedido'])
utils.rellenar_lista(self.wids['cbe_cliente'], [(0, "Todos los clientes")] + [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy="nombre")])
def iter_cliente_seleccionado(completion, model, iter):
idcliente = model[iter][0]
utils.combo_set_from_db(self.wids['cbe_cliente'], idcliente)
self.wids['cbe_cliente'].child.get_completion().connect('match-selected', iter_cliente_seleccionado)
self.wids['cbe_cliente'].grab_focus()
if pclases.ProductoVenta.select().count() > 0:
self.wids['notebook1'].set_current_page(1)
else:
self.wids['notebook1'].remove_page(1)
self.wids['notebook1'].remove_page(0)
self.wids['notebook1'].set_current_page(-1)
示例13: build_widget_valor
def build_widget_valor(col):
"""
Recibe un objeto de la familia SOCol y devuelve el
widget adecuado para mostrar su valor.
Si es un texto, entero o float: entry.
Si es un boolean: checkbutton.
Si es una fecha: entry con un botón para mostrar el calendario.
Si es un ForeignKey, usar un ComboBoxEntry con utils.rellenar... con las
tuplas de la tabla referenciada.
"""
box = None # Posible contenedor externo.
if isinstance(col, pclases.SOStringCol):
w = gtk.Entry()
w.set_name(col.name)
elif isinstance(col, pclases.SOIntCol):
w = gtk.Entry()
w.set_name(col.name)
elif isinstance(col, pclases.SOFloatCol):
w = gtk.Entry()
w.set_name(col.name)
elif isinstance(col, pclases.SOBoolCol):
w = gtk.CheckButton()
w.set_name(col.name)
elif isinstance(col, pclases.SODateCol):
box = gtk.HBox()
w = gtk.Entry()
w.set_name(col.name)
button = gtk.Button(label = "Buscar _fecha")
button.connect("clicked", lambda boton: w.set_text(utils.str_fecha(utils.mostrar_calendario())))
button.set_name("b_%s" % (col.name))
box.add(w)
box.add(button)
elif isinstance(col, pclases.SOForeignKey):
w = gtk.ComboBoxEntry()
w.set_name(col.name)
tablajena = col.foreignKey
clase_tablajena = getattr(pclases, tablajena)
func_select = getattr(clase_tablajena, "select")
datos = []
for reg in func_select():
campos = []
for columna in clase_tablajena._SO_columnDict:
valor = getattr(reg, columna)
campos.append(`valor`)
info = ", ".join(campos)
# info = reg.get_info()
datos.append((reg.id, info))
utils.rellenar_lista(w, datos)
else:
w = gtk.Entry()
w.set_name(col.name)
return w, box
示例14: __init__
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_compras.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,
'cbe_proveedor/changed': lambda *args, **kw: self.wids['tv_datos'].get_model().clear(),
"b_exportar/clicked": self.exportar}
self.add_connections(connections)
cols = (('Fecha','gobject.TYPE_STRING',False,True,False,None),
('Albarán','gobject.TYPE_STRING',False,True,False,None),
('Código', 'gobject.TYPE_STRING', False, True, False, None),
('Descripción', 'gobject.TYPE_STRING', False, True, False, None),
('Cantidad', 'gobject.TYPE_STRING', False, True, False, None),
('Precio', 'gobject.TYPE_STRING', False, True, False, None),
('IVA', 'gobject.TYPE_STRING', False, True, False, None),
('Descuento', 'gobject.TYPE_STRING', False, True, False, None),
('Subtotal s/IVA', 'gobject.TYPE_STRING', False, True, False, None),
('Subtotal c/IVA', 'gobject.TYPE_STRING', False, True, False, None),
('Pedido', 'gobject.TYPE_STRING', False, True, False, None),
('Factura', 'gobject.TYPE_STRING', False, True, False, None),
('IDLDC','gobject.TYPE_INT64',False,False,False,None))
utils.preparar_treeview(self.wids['tv_datos'], cols)
self.wids['tv_datos'].get_column(4).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(5).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(6).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(7).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(8).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(9).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_datos'].get_column(10).get_cell_renderers()[0].set_property('xalign', 0.5)
self.wids['tv_datos'].get_column(11).get_cell_renderers()[0].set_property('xalign', 0.5)
cols = (('Proveedor', 'gobject.TYPE_STRING', False, True, True, False),
('Cantidad', 'gobject.TYPE_STRING', False, True, False, None),
('Total sin IVA','gobject.TYPE_STRING',False,True,False,False),
('ID', 'gobject.TYPE_INT64', False, False, False, None))
utils.preparar_treeview(self.wids['tv_proveedor'], cols)
self.wids['tv_proveedor'].get_column(1).get_cell_renderers()[0].set_property('xalign', 1.0)
self.wids['tv_proveedor'].get_column(2).get_cell_renderers()[0].set_property('xalign', 1.0)
utils.rellenar_lista(self.wids['cbe_proveedor'], [(-1, "Todos los proveedores")] + [(p.id, p.nombre)
for p in pclases.Proveedor.select(pclases.Proveedor.q.inhabilitado == False, orderBy = "nombre")])
self.fin = datetime.date.today()
self.inicio = datetime.date(day = 1, month = self.fin.month, year = self.fin.year)
self.wids['e_fechainicio'].set_text(utils.str_fecha(self.inicio))
self.wids['e_fechafin'].set_text(utils.str_fecha(self.fin))
gtk.main()
示例15: __init__
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_totales_geotextiles.glade', objeto, usuario = usuario)
connections = {'b_salir/clicked': self.salir,
'b_buscar/clicked': self.buscar,
'b_imprimir/clicked': self.imprimir,
'b_exportar/clicked': self.exportar
}
self.add_connections(connections)
cols = (('Mes', 'gobject.TYPE_STRING', False, False, False, None),
('Producción: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Producción: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Producción: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Existencias: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Existencias: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Existencias: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: total: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: total: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: total: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. nac.: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. nac.: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. nac.: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. int.: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. int.: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: C. int.: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: G.: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: G.: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: G.: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: Otros: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: Otros: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Salidas: Otros: kg', 'gobject.TYPE_STRING', False, False, False, None),
('Peds. pendientes: rollos', 'gobject.TYPE_STRING', False, False, False, None),
('Peds. pendientes: m²', 'gobject.TYPE_STRING', False, False, False, None),
('Peds. pendientes: kg', 'gobject.TYPE_STRING', False, False, False, None),
('mes', 'gobject.TYPE_INT64', False, False, False, None))
utils.preparar_listview(self.wids['tv_datos'], cols)
for numcol in xrange(1, 25):
col = self.wids['tv_datos'].get_column(numcol)
for cell in col.get_cell_renderers():
cell.set_property('xalign', 1.0)
anno_ini, anno_fin = buscar_annos_ini_fin()
opciones = [(anno, anno) for anno in xrange(anno_ini, anno_fin + 1)]
utils.rellenar_lista(self.wids['cbe_year'], opciones)
utils.combo_set_from_db(self.wids['cbe_year'], -1)
gtk.main()