Secuenciacion correcta de dialogos con PyGTK y GLADE
Daniel Garcia Jones
danielgj en wanadoo.es
Lun Mayo 10 15:14:35 CEST 2004
El lun, 10-05-2004 a las 14:49, Pepe Aracil escribió:
> Hola.
>
>
> Me parece que tendras que crear la ventana que te valida los cambios como un dialogo modal. (gtk.Dialog)
>
> La forma correcta de llamarlo es con gtk.Dialog.run(). Esta función se espera hasta que el usuario hace
> click! en una opción (Aceptar,Cancelar,...)
>
>
> Aqui tienes una función mia para generar dialogos modales "al vuelo" del estilo Pregunta/Respuesta.
>
>
>
> def QuestionDialog(title = None,parent = None,label = None,icon = None ,
> buttons = (gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT)):
>
> if title == None and parent != None:
> title = parent.get_title()
>
>
> dialog = gtk.Dialog(title, parent,gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
> buttons)
>
> dialog.set_border_width(5)
> dialog.set_resizable(gtk.FALSE)
>
>
> if icon:
> image = gtk.Image()
> image.set_from_stock(icon,gtk.ICON_SIZE_DIALOG)
> dialog.vbox.pack_start(image,gtk.TRUE,gtk.TRUE,5)
> image.show()
>
> if label:
> label = gtk.Label(label)
> dialog.vbox.pack_start(label,gtk.TRUE,gtk.TRUE,5)
> label.show()
>
> result = dialog.run()
>
>
> -----------------------
>
> Y la llamo así.
>
> result = QuestionDialog(parent = VentanaPadre,
> label = U"¿Desea eliminar este contacto?",
> icon = gtk.STOCK_DIALOG_WARNING,
> title = U"¡¡ Atención !!")
>
> if result != gtk.RESPONSE_ACCEPT: return
>
> .......
>
>
>
>
> El Lunes, 10 de Mayo de 2004 12:35, Daniel Garcia Jones escribió:
> > Hola!
> >
> > Estoy escribiendo una aplicacion PyGTK y tengo un pequeño problema con
> > el orden en que me muestra un par de dialogos.
> >
> > El flujo es algo parecido a esto:
> >
> > def on_menuGuardar_activate(self,widget):
> >
> > if cambios():
> > self.ventanaCambios.show()
> > if self.validar_xml():
> > hacer cosas
> > else:
> > self.ventanaXMLInvalido.show()
> >
> > El caso es, para guardar un documento, primero se mira si ha habido
> > cambios. Si si muestra un dialogo que permite aceptar o descartar los
> > cambios. Despues de esto se valida (es un documento XML) contra un
> > esquema y despues se guarda.
> >
> > Si no hay cambios funciona sin problema, pero cuando si hay cambios, al
> > mismo tiempo que muestra el dialogo de aceptar/descartar cambios,
> > valida, con lo que la validacion se hace antes de aceptar/decsrtar los
> > cambios.
> >
> > La pregunta es, ¿existe una forma de hacer que se espere a que haya
> > aceptado o descartado los cambios antes de validar? No se me ocurre como
> > hacerlo ya que deberia ser capaz de recoger un valor de salida de
> > self.ventanaCambios.show() y no se puede, no?
> >
> > Espero que haya quedado entendible la pregunta que creo que me he liado
> > un poco.
> >
> > Un saludo (y gracias de antemano)
Vaya! Es justo lo que necesito. Muchas gracias :)
--
------------------------------------------------
Daniel García Jones
danielgj en wanadoo.es | dgarcia en it.uc3m.es
http://montoya.aig.uc3m.es/~jones
------------------------------------------------
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es