本文整理汇总了Python中utils.dialogo函数的典型用法代码示例。如果您正苦于以下问题:Python dialogo函数的具体用法?Python dialogo怎么用?Python dialogo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dialogo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: salir
def salir(self, boton, event=None, mostrar_ventana=False):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
try:
b_guardar = self.wids['b_guardar']
except KeyError:
b_guardar = None
if b_guardar != None and b_guardar.get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hace'
'rlo ahora?',
'¿GUARDAR CAMBIOS?',
padre = self.wids['ventana'],
icono = gtk.STOCK_SAVE,
#defecto = "Sí"): # CWT: A veces en BlancoPe
# abren la ventana de productos para buscar
# un precio y le dan al botón antes de que se
# carguen los datos, provocando que se detecte
# como un falso cambio de datos de la ventana
# (todo blanco) respecto a la caché (datos
# reales de la BD). Al darle a ENTER,
# responden Sí por defecto -hasta ahora- y
# sobreescriben con blanco todos los datos del
# registro en la base de datos.
defecto = "No"):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron gua'
'rdar automáticamente.\nDebe ha'
'cerlo de forma manual',
padre = self.wids['ventana'])
return True # Si devuelvo False, None, etc... continúa la
# cadena de eventos y destruye la ventana.
# Devuelvo True para cancelar el cierre de la
# ventana.
if event == None:
# Me ha invocado el botón
if not mostrar_ventana or \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT):
self.wids['ventana'].destroy()
return False
else:
return True
else:
if not mostrar_ventana or not \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR', padre=self.wids['ventana'], icono=gtk.STOCK_QUIT):
return False
else:
return True
示例2: salir
def salir(self,
boton,
event = None,
mostrar_ventana = True,
ventana = None):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
res = False
if event == None:
# Me ha invocado el botón
if (not mostrar_ventana
or utils.dialogo('¿Desea cerrar el menú principal?',
'SALIR',
padre = ventana,
icono = gtk.STOCK_QUIT)):
ventana.destroy()
self.logger.warning("LOGOUT: %s" % (self.usuario.usuario))
res = False
else:
res = True
else:
res = (not mostrar_ventana
or not utils.dialogo('¿Desea cerrar el menú principal?',
'SALIR',
padre = ventana,
icono = gtk.STOCK_QUIT))
if not res:
self.logger.warning("LOGOUT: %s" % (self.usuario.usuario))
return res
示例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).
"""
import informes, tempfile
exportar_a_csv_a = None
if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS",
texto = "¿Desea filtrar ignorando los productos con"
" existencias a cero?"):
func_informe = geninformes.repuestos_no_nulos
else:
func_informe = geninformes.repuestos
if utils.dialogo(titulo = "EXPORTAR A CSV",
texto = "A continuación se generará el informe en "
"PDF.\n¿Desa también que se exporte a CSV?",
defecto = "No",
tiempo = 10):
exportar_a_csv_a = os.path.join(tempfile.gettempdir(),
"csv_repuestos_%s" % (
mx.DateTime.localtime().strftime("%Y%m%d")))
pdfs = func_informe(exportar_a_csv_a = exportar_a_csv_a)
for pdf in pdfs:
informes.abrir_pdf(pdf)
示例4: __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).
"""
import informes, tempfile
exportar_a_csv_a = None
if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS",
texto = "¿Desea filtrar ignorando los productos con existencias a cero?"):
func_informe = geninformes.existencias_no_nulas
#informes.abrir_pdf(geninformes.existencias_no_nulas(exportar_a_csv_a = "/tmp/t.csv"))
else:
#informes.abrir_pdf(geninformes.existencias())
func_informe = geninformes.existencias
# informes.abrir_pdf(geninformes._existencias())
if utils.dialogo(titulo = "EXPORTAR A CSV",
texto = "A continuación se generará el informe en PDF.\n¿Desa también que se exporte a CSV?",
defecto = "No",
tiempo = 10):
exportar_a_csv_a = os.path.join(tempfile.gettempdir(),
"csv_existencias_%s" % (
datetime.date.today().strftime("%Y%m%d")))
informes.abrir_pdf(func_informe(exportar_a_csv_a = exportar_a_csv_a))
示例5: pedir_unidad
def pedir_unidad(self, productoCompra):
"""
Pide la unidad del descuento y comprueba que sea correcta.
Recibe el producto de compra para mostrar el valor por defecto.
"""
txt = """
Introduzca las unidades para el descuento de materiales.
Por ejemplo:
% (porcentaje en las unidades del material
por peso de producto terminado).
ud / 5 ud (unidad del material por cada 5 unidades
de producto terminado).
m / kg (metro de material por kilo de producto).
kg / 5.5 m (kg de material por cada 5.5 metros de producto).
NOTA: La unidad del materal que se descuenta debe ser la misma
que consta en catálogo, pedidos de compra, etc.
"""
defecto = "%s / ud" % (productoCompra.unidad)
res = utils.dialogo_entrada(titulo = "INTRODUZCA UNIDAD",
texto = txt,
padre = self.wids['ventana'],
valor_por_defecto = defecto)
if not comprobar_unidad(res):
utils.dialogo(titulo = "FORMATO INCORRECTO",
texto = "El texto introducido %s no tiene el formato correcto." % (res),
padre = self.wids['ventana'])
res = None
return res
示例6: imprimir
def imprimir(self,boton):
"""
Prepara la vista preliminar para la impresión del informe
"""
fechastr = self.wids['e_fecha'].get_text()
fecha = utils.parse_fecha(fechastr)
fechastr = utils.str_fecha(fecha)
fechas = pclases.HistorialExistenciasA.get_fechas_cacheadas()
if fecha not in fechas:
res = utils.dialogo(
titulo = "EXISTENCIAS NO CACHEADAS. ¿CONTINUAR?",
texto = "La fecha seleccionada no se encuentra precalculada.\n"
"Esto implica que el recuento de existencias puede\n"
"demorarse incluso horas. Durante este tiempo es \n"
"posible que la aplicación no responda.\n\n"
"¿Está seguro de que desea continuar?",
padre = self.wids['ventana'])
else:
res = utils.dialogo(titulo = "¿CONTINUAR?",
texto = "La operación puede demorarse durante algún tiempo\n"
"y dar la impresión de que la aplicación no responde.\n"
"¿Desea continuar?",
padre = self.wids['ventana'])
if not res:
return
vpro = ventana_progreso.VentanaProgreso(padre = self.wids['ventana'])
self.wids['ventana'].window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
vpro.mostrar()
act = 0.0
tot = 2 + pclases.Almacen.select().count()
msgtexto = 'Calculando existencias a %s.' % fechastr
vpro.set_valor(act/tot, msgtexto)
vpro._ventana.realize()
vpro._ventana.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
while gtk.events_pending(): gtk.main_iteration(False)
import informes
try:
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('rollos',
fechastr, hasta = fecha))
act += 1
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('balas',
fechastr, hasta = fecha))
act += 1
vpro.set_valor(act/tot, msgtexto)
for a in pclases.Almacen.select(orderBy = "id"):
informes.abrir_pdf(geninformes.existencias_productos('rollos',
fechastr, hasta = fecha, almacen = a))
act += 1
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('balas',
fechastr, hasta = fecha, almacen = a))
act += 1
vpro.set_valor(act/tot, msgtexto)
finally:
vpro.ocultar()
vpro._ventana.window.set_cursor(None)
self.wids['ventana'].window.set_cursor(None)
示例7: aceptar
def aceptar(self, boton):
res = None
model, iter = self.wids['tv_logic'].get_selection().get_selected()
if iter != None:
id = model[iter][-1]
res = pclases.LogicMovimientos.get(id)
self.wids['ventana'].destroy()
else:
utils.dialogo(titulo = "¿CERRAR?",
texto = "No ha seleccionado ningún asiento.\n¿Desea cerrar la ventana?",
padre = self.wids['ventana'])
self.objeto = res
return res
示例8: borrar_albaran
def borrar_albaran(self, boton):
"""
Elimina el albarán de la BD y revierte las existencias de
las entradas.
"""
if utils.dialogo('Se eliminará el albarán actual y todas sus relaciones con ventas, pedidos, etc.\n¿Está seguro?',
'BORRAR ALBARÁN',
padre = self.wids['ventana']):
albaran = self.objeto
if len([ldc for ldc in albaran.lineasDeCompra if ldc.silo != None]) > 0:
res = utils.dialogo(titulo = "DESCARGAR SILOS",
texto = "¿Anular también las cargas en silo implicados en el albarán?",
cancelar = True,
icono = gtk.STOCK_DIALOG_WARNING,
defecto = False)
else:
res = False
if res != gtk.RESPONSE_CANCEL:
if res:
for ldc in albaran.lineasDeCompra:
if ldc.silo != None:
cs = ldc.cargaSilo
ldc.cargaSilo = None
cs.destroySelf()
for linea in albaran.lineasDeCompra:
producto = linea.productoCompra
if linea.productoCompra.controlExistencias:
# XXX DEBUG
#print linea.productoCompra.existencias
# XXX EODEBUG
producto.sync()
producto.existencias -= linea.cantidad
if producto.existencias < 0:
producto.existencias = 0
# En este caso, si la cantidad absoluta de
# existencias es cero, como debería ser un campo
# calculado pongo a cero las existencias de todos
# los almacenes para ese producto (pues ese
# debería ser el origen del cálculo).
for sa in producto.stocksAlmacen:
sa.existencias = 0
sa.syncUpdate()
producto.syncUpdate()
producto.sync()
# XXX DEBUG
#print linea.productoCompra.existencias
# XXX EODEBUG
albaran.notificador.set_func(lambda : None)
albaran.destroy_en_cascada()
self.ir_a_primero()
示例9: salir
def salir(self, boton, event = None, mostrar_ventana = True):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
try:
b_guardar = self.wids['b_guardar']
except KeyError:
b_guardar = None
if b_guardar != None and b_guardar.get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hace'
'rlo ahora?',
'¿GUARDAR CAMBIOS?',
padre = self.wids['ventana'],
icono = gtk.STOCK_SAVE,
defecto = "Sí"):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron gua'
'rdar automáticamente.\nDebe ha'
'cerlo de forma manual',
padre = self.wids['ventana'])
return True # Si devuelvo False, None, etc... continúa la
# cadena de eventos y destruye la ventana.
# Devuelvo True para cancelar el cierre de la
# ventana.
if event == None:
# Me ha invocado el botón
if not mostrar_ventana or \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT):
self.wids['ventana'].destroy()
return False
else:
return True
else:
return not mostrar_ventana or \
not utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT)
示例10: crear_muestra_ok_cancel
def crear_muestra_ok_cancel(self, dialogo, respuesta, lote, partida, loteCem):
if respuesta == gtk.RESPONSE_ACCEPT:
codigo = dialogo.vbox.get_children()[2].get_text()
observaciones = dialogo.vbox.get_children()[4].get_text()
m = pclases.Muestra(lote = lote,
loteCem = loteCem,
partida = partida,
codigo = codigo,
observaciones = observaciones,
pendiente = True,
envio = mx.DateTime.localtime(),
recepcion = None)
if utils.dialogo(titulo = "MUESTRA ENVIADA",
texto = "Muestra creada, enviada y pendiente para su análisis en laboratorio.\n¿Desea enviar una alerta?",
padre = self.wids['ventana']):
usuarios = [(u.id, u.usuario) for u in pclases.Usuario.select(orderBy = 'usuario')]
usuario = utils.dialogo_combo(titulo = "SELECCIONE USUARIO",
texto = "Seleccione del desplegable inferior al usuario que quiere alertar acerda de la muestra.",
ops = usuarios,
padre = self.wids['ventana'])
if usuario != None:
user = pclases.Usuario.get(usuario)
if m.codigo:
msj = "La muestra %s está " % m.codigo
else:
msj = "Tiene una muestra "
msj += "pendiente de analizar."
user.enviar_mensaje(msj)
示例11: ir_a_siguiente
def ir_a_siguiente(self,widget):
"""
Hace que el siguiente registro (ordenados por ID interno)
sea el objeto activo
"""
if self.wids['b_guardar'] != None and self.wids['b_guardar'].get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hacerlo ahora?', '¿GUARDAR CAMBIOS?'):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron guardar automáticamente.\nDebe hacerlo de forma manual',
padre = self.wids['ventana'])
return
producto = self.objeto
try:
siguiente = pclases.ProductoVenta.select(pclases.AND(pclases.ProductoVenta.q.camposEspecificosEspecialID != None, pclases.ProductoVenta.q.id > producto.id),orderBy='id')[0]
except IndexError:
utils.dialogo_info(texto = "El elemento seleccionado es el último registrado en el sistema",
titulo="ERROR",
padre = self.wids['ventana'])
return
self.objeto = siguiente
self.actualizar_ventana()
示例12: imprimir
def imprimir(self, boton):
"""
Prepara la vista preliminar para la impresión del informe.
"""
resp = utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?",
texto = "Puede imprimir un resumen o todo el contenido de la consulta\n¿Desea imprimir toda la información desglosada?",
padre = self.wids['ventana'])
if resp:
tv = self.wids['tv_datos']
tv.expand_all()
while gtk.events_pending(): gtk.main_iteration(False)
else:
tv = self.wids['tv_datos']
tv.collapse_all()
while gtk.events_pending(): gtk.main_iteration(False)
from consulta_ventas_por_producto import convertir_a_listview
tv = convertir_a_listview(tv)
strfecha = "De %s a %s" % (self.wids['e_fechainicio'].get_text(), self.wids['e_fechafin'].get_text())
abrir_pdf(treeview2pdf(tv, titulo = "Beneficio sobre tarifa",
fecha = strfecha,
extra_data = (
["Facturado: ",
self.wids['e_total'].get_text()],
["Facturación sin IVA: ",
self.wids['e_siniva'].get_text()],
["Beneficio neto: ",
self.wids['e_beneficio'].get_text()])))
示例13: borrar
def borrar(self, widget):
"""
Elimina el pagare en pantalla.
"""
pagare = self.objeto
if pagare != None:
if utils.dialogo(titulo = 'BORRAR PAGARÉ',
texto = '¿Está seguro de eliminar el pagare actual?',
padre = self.wids['ventana']):
pagare.notificador.set_func(lambda : None)
try:
for c in pagare.cobros:
c.destroySelf()
pagare.destroySelf()
self.objeto = None
self.ir_a_primero()
except:
txt = """
El pagare no se eliminó completamente.
Tal vez el pagaré o los vencimientos de facturas
relacionados estén siendo referenciados por otros
elementos de la aplicación. Contacte con el administrador.
Información de depuración:
"""
for c in pagare.cobros:
txt += "ID cobro: %d.\n" % c.id
txt += "ID pagaré: %d\n" % pagare.id
utils.dialogo_info(titulo = 'ERROR: NO SE PUDO BORRAR',
texto = txt,
padre = self.wids['ventana'])
示例14: drop_consumo_por_producto
def drop_consumo_por_producto(self, boton):
"""
Elimina el consumo o consumos seleccionados en el TreeView.
"""
texto = """
Si ha seleccionado un consumo se eliminará el consumo completo.
Si seleccionó uno o varios productos, se eliminarán del consumo al
que pertenece, por lo que ya no empleará el material relacionado
cuando se fabriquen artículos del mismo.
¿Está seguro de querer continuar?
"""
model, paths = self.wids['tv_consumos'].get_selection().get_selected_rows()
if paths and utils.dialogo(titulo = "¿ELIMINAR?", texto = texto, padre = self.wids['ventana']):
for path in paths:
if model[path].parent == None:
id_consumo = model[path][-1]
consumo_adicional_por_producto = pclases.ConsumoAdicional.get(id_consumo)
try:
for p in consumo_adicional_por_producto.productosVenta:
consumo_adicional_por_producto.removeProductoVenta(p)
consumo_adicional_por_producto.destroySelf()
except pclases.psycopg_ProgrammingError, msg:
utils.dialogo_info(titulo = "ERROR: INFORME A LOS DESARROLLADORES",
texto = "Ocurrió un error al eliminar el consumo.\nDEBUG: Traza de la excepción:\n%s" % (msg),
padre = self.wids['ventana'])
else:
id_consumo = model[path].parent[-1]
idproductov = model[path][-1]
consumo_adicional_por_producto = pclases.ConsumoAdicional.get(id_consumo)
productov = pclases.ProductoVenta.get(idproductov)
consumo_adicional_por_producto.removeProductoVenta(productov)
self.rellenar_consumos_adicionales_por_producto()
示例15: descargar_de_terminal
def descargar_de_terminal(self, boton):
"""
lee los códigos almacenados en el terminal lector de códigos de
barras y:
* si es un diccionario de partidas de carga y números de bala,
crea una partida de carga (si no existían) por cada una de
las claves del diccionario y relaciona con las mismas las
balas de la lista. finalmente, crea un albarán interno con
todas esas balas (uno por partida)y abre una ventana de
partida de carga (esta) y una de albarán de salida por
cada partida de carga y albarán interno procesado con éxito.
* si es una lista de balas, las agrega a la partida de carga
actual y crea el albarán interno.
"""
self.logger.warning("%sconsumo_balas_partida::descargar_de_terminal -> Iniciando descarga de balas consumidas/a consumir automática." % (self.usuario and self.usuario.usuario + ": " or ""))
datos = None
cancelar = False
while datos == None and not cancelar:
datos = utils.descargar_phaser(logger = self.logger)
if datos == None:
cancelar = not utils.dialogo(titulo = "¿VOLVER A INTENTAR?",
texto = "Se ha superado el tiempo de espera.\n¿Desea continuar?\n\n(Pulse SÍ para volver a intentar o NO para cancelar la operación.)",
padre = self.wids['ventana'])
elif isinstance(datos, (type([]), type(()))):
self.descargar_y_meter_balas_en_partida_carga_actual(datos)
elif isinstance(datos, type({})):
for partida_carga in datos:
if partida_carga == self.objeto:
self.descargar_y_meter_balas_en_partida_carga_actual(datos[partida_carga])
else:
self.descargar_y_meter_balas_en_partida_carga(partida_carga, datos[partida_carga])