Re: [Python] Sulla falsariga del PyDayBO

2010-03-19 Per discussione Valerio Turturici
Riccardo Lemmi ha scritto:
>> Io non ho problemi per quella data.
>> 

Ottimo, vediamo un pò gli altri che ne pensano cosi dopo Pasqua inizio 
ad informarmi per i locali.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Sulla falsariga del PyDayBO

2010-03-19 Per discussione Riccardo Lemmi
Simone Dalla wrote:

> Il giorno 11 marzo 2010 19.28, Valerio Turturici <
> turturici.vale...@gmail.com> ha scritto:
> 
>> Come vi sembra il 22 Maggio come data? Troppo vicino al post-PyCon?
>> Troppo vicina in un periodo pieno sia scolasticamente che lavorativamente?
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
> 
> Sabato?? Indicativamente potrebbe andare.
> 

Io non ho problemi per quella data.
-- 
Riccardo Lemmi

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Marco Bonifazi
>
> Bene, dunque se ho ben capito tu legheresti al segnale clicked del
> pulsante il metodo my_signal_received(), e ci siamo.
> La domanda: "Testo che mi piace" come e quando lo valorizzi? Citi
> attributi di classe, dunque suppongo tu prenda quella stringa da lì.
> Ma quando e dove la valorizzi, prima di passarla come argomento a
> show_my_message_dialog()?
>
> Grazie, e grazie anche a te, Pietro, per il chiarimento su libglade.
>
> Saluti.
>
>
"Testo che mi piace" e' quello che voglio passare, quindi non utilizzo
attributo di classe, ma passo gia' in self.show_my_message_dialog("
Testo che mi piace") il valore.

Questo dipende dalle scelte che vuoi fare, se hai un metodo
my_signal_received che e' associato a piu' segnali probabilmente userei un
dizionario o qualcosa del genere per scegliere.

Se invece il metodo my_signal_received e' una cosa gia' "specifica",
probabilmente metterei il testo gia' li' (solitamente il testo di una Dialog
non e' un qualcosa che parametrizzi molto, magari cambia solo qualche parola
e allora la prenderei da un attributo costruendomi la stringa).

Non credo ci sia un "ottimo" comunque.



> --
> Antonio Fittipaldi
> http://www.python-it.org # il punto di riferimento italiano per gli
> appassionati di Python
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Marco Bonifazi
http://www.bonifazi.eu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Il 19 marzo 2010 14.31, Marco Bonifazi  ha scritto:
> In pratica avrei disaccoppiato e fatto qualcosa del tipo:
>
>
>    def my_signal_received(self, widget):
>     self.show_my_message_dialog("Testo che mi piace")
>
>
>    def show_my_message_dialog(self, message_text)
>     self.fin_mes.format_secondary_text(message_text)
>
>        a = self.fin_mes.run()
>        if a == gtk.RESPONSE_OK:
>            self.fin_mes.hide()

Bene, dunque se ho ben capito tu legheresti al segnale clicked del
pulsante il metodo my_signal_received(), e ci siamo.
La domanda: "Testo che mi piace" come e quando lo valorizzi? Citi
attributi di classe, dunque suppongo tu prenda quella stringa da lì.
Ma quando e dove la valorizzi, prima di passarla come argomento a
show_my_message_dialog()?

Grazie, e grazie anche a te, Pietro, per il chiarimento su libglade.

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Pietro Battiston
Il giorno ven, 19/03/2010 alle 13.31 +, Marco Bonifazi ha scritto:
> 
> 2010/3/19 Antonio Fittipaldi 
> Il 19 marzo 2010 13.10, Marco Bonifazi  ha scritto:
> > Fai bene ad approfittarne ma non ho idea, ne avevo
> tonnellate di questi
> > Glade warning con le PyGtk (a proposito: non e' entrato di
> moda GtkBuilder?)
> 
> 
> Sinceramente non ho mai ben capito la differenza fra libglade
> e GtkBuilder...
> 
> 
> 
> Quando iniziai a usare libglade, GtkBuilder non c'era (o se c'era non
> me ne sono accorto). Ma da quanto ho capito, ora sembra sia meglio
> (=sara' meglio mantenuto) GtkBuilder.

Di più: libglade è deprecata, non è il caso di usarla per nuovo codice
e, considerato anche che il processo è piuttosto semplice, conviene
migrare il codice esistente.
Semplicemente, siccome glade era sempre più diffuso, hanno deciso di
farlo diventare un componente standard delle GTK+ invece che una
libreria esterna.

Peraltro, il GtkBuilder è anche più potente: permette ad esempio di
includere nell'interfaccia oggetti che non sono widget, come TreeModel,
immagini, gruppi di RadioButton... inoltre puoi combinare in un solo
GtkBuilder diversi xml.

ciao

Pietro


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Marco Bonifazi
2010/3/19 Antonio Fittipaldi 

> Il 19 marzo 2010 13.10, Marco Bonifazi  ha scritto:
> > Fai bene ad approfittarne ma non ho idea, ne avevo tonnellate di questi
> > Glade warning con le PyGtk (a proposito: non e' entrato di moda
> GtkBuilder?)
>
> Sinceramente non ho mai ben capito la differenza fra libglade e
> GtkBuilder...
>
>
Quando iniziai a usare libglade, GtkBuilder non c'era (o se c'era non me ne
sono accorto). Ma da quanto ho capito, ora sembra sia meglio (=sara' meglio
mantenuto) GtkBuilder.


> Una cosa: come faccio a parametrizzare mostra_fin_mes()? Vorrei
> passargli il testo da mostrare nella finestra.
> Ovviamente, se faccio così funziona:
>
>def mostra_fin_mes(self, widget, data="Foo."):
>self.fin_mes.format_secondary_text(data)
> a = self.fin_mes.run()
>if a == gtk.RESPONSE_OK:
>self.fin_mes.hide()
>
> Il problema è: come faccio a passare l'argomento dall'ambiente
> chiamante? 'pul_reimposta_clicked': self.mostra_fin_mes, nel
> dizionario di connessione dei segnali, non mi pare molto amichevole
> (non mi pare sia possibile passarvi parametri, e qui non servirebbe).
> Pensavo a un attributo di classe che mantenga il messaggio corrente da
> mostrare.
>

A me piaceva lasciare le callback con il numero dei parametri che
richiedevano (nel tuo caso avrei lasciato "def mostra_fin_mes(self,
widget)") per poi utilizzare invece degli attributi di classe.
Considera anche che non sei obbligato a inserire il testo della
MessageDialog proprio appena prima che tu la lanci, ma anche, che so, in
fase di creazione della relativa View che stai gestendo.
Anzi, a veder meglio il codice, probabilmente non avrei inserito il codice
per l'avvio di una MessageDialog all'interno di una callback di un altro
evento.
In genere quindi dividevo tra funzioni "callback", intese come funzioni che
ricevono segnali/eventi (usando il participio passato nel nome della
funzione), e funzioni "agenti" (usando l'imperativo) ossia che creavano o
modificavano attivamente l'interfaccia.

In pratica avrei disaccoppiato e fatto qualcosa del tipo:


   def my_signal_received(self, widget):
self.show_my_message_dialog("Testo che mi piace")


   def show_my_message_dialog(self, message_text)
self.fin_mes.format_secondary_text(message_text)

a = self.fin_mes.run()
   if a == gtk.RESPONSE_OK:
   self.fin_mes.hide()


Comunque alla fine sono tutte scelte progettuali, basate sulla tua realta',
che ovviamente conosco poco.




-- 
Marco Bonifazi
http://www.bonifazi.eu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Sulla falsariga del PyDayBO

2010-03-19 Per discussione Valerio Turturici
Simone Dalla ha scritto:
> Sabato?? Indicativamente potrebbe andare.
>
Si, sabato. Ho pensato che potesse essere un giorno abbastanza abbordabile.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Il 19 marzo 2010 13.10, Marco Bonifazi  ha scritto:
> Fai bene ad approfittarne ma non ho idea, ne avevo tonnellate di questi
> Glade warning con le PyGtk (a proposito: non e' entrato di moda GtkBuilder?)

Sinceramente non ho mai ben capito la differenza fra libglade e GtkBuilder...

> Pero' provo a sparare:
> MessageDialog ha un separatore (che tu hai impostato a False, quindi sara'
> magari avra' visibilita' nascosta) che non e' inserito all'interno di una
> vbox (o perlomeno le cui impostazioni padre-figlio non sono propriamente
> impostate).

Grazie, così ho fixato il primo warning.
Una cosa: come faccio a parametrizzare mostra_fin_mes()? Vorrei
passargli il testo da mostrare nella finestra.
Ovviamente, se faccio così funziona:

def mostra_fin_mes(self, widget, data="Foo."):
self.fin_mes.format_secondary_text(data)
a = self.fin_mes.run()
if a == gtk.RESPONSE_OK:
self.fin_mes.hide()

Il problema è: come faccio a passare l'argomento dall'ambiente
chiamante? 'pul_reimposta_clicked': self.mostra_fin_mes, nel
dizionario di connessione dei segnali, non mi pare molto amichevole
(non mi pare sia possibile passarvi parametri, e qui non servirebbe).
Pensavo a un attributo di classe che mantenga il messaggio corrente da
mostrare.

> Magari gia' sei iscritto, ma anche nella mailing list delle Gtk puoi trovare
> aiuto, quando ti serve.

Grazie, la spulcerò prossimamente.

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Marco Bonifazi
>
> Grazie mille Marco, effettivamente è come dici. Ho aggiustato un po'
> il tuo codice per avere una cosa del tipo
>
>a = self.fin_mes.run()
> if a == gtk.RESPONSE_OK:
>self.fin_mes.hide()
>
> e la cosa funziona egregiamente. :)
> Ne approfitto: come mai, da quando ho aggiunto la GtkMessageDialog, in
> console ho questi strani warning?
>
> loader.py:40: GtkWarning: Ignoring the separator setting self.albero =
> gtk.glade.XML("file.glade")
> (python.exe:3180): libglade-WARNING **: could not find a parent that
> handles internal children for `vbox'
>
> Grazie ancora.
>
> Saluti.
>
>
Fai bene ad approfittarne ma non ho idea, ne avevo tonnellate di questi
Glade warning con le PyGtk (a proposito: non e' entrato di moda GtkBuilder?)

Pero' provo a sparare:
MessageDialog ha un separatore (che tu hai impostato a False, quindi sara'
magari avra' visibilita' nascosta) che non e' inserito all'interno di una
vbox (o perlomeno le cui impostazioni padre-figlio non sono propriamente
impostate).

Magari gia' sei iscritto, ma anche nella mailing list delle Gtk puoi trovare
aiuto, quando ti serve.


-- 
Marco Bonifazi
http://www.bonifazi.eu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Il 19 marzo 2010 11.39, Marco Bonifazi  ha scritto:
> Secondo me usa un destroy di default.
>
> Fossi in te in quel mostra_fin_mes farei:
>
> a = self.fin_mes.run()
>
> if response == gtk.RESPONSE_OK:
>     a.hide()
>
> nascondi_fin_mes potrebbe non venir mai chiamato.
>
> Hopefully it helps:-)
> --
> Marco Bonifazi
> http://www.bonifazi.eu

Grazie mille Marco, effettivamente è come dici. Ho aggiustato un po'
il tuo codice per avere una cosa del tipo

a = self.fin_mes.run()
if a == gtk.RESPONSE_OK:
self.fin_mes.hide()

e la cosa funziona egregiamente. :)
Ne approfitto: come mai, da quando ho aggiunto la GtkMessageDialog, in
console ho questi strani warning?

loader.py:40: GtkWarning: Ignoring the separator setting self.albero =
gtk.glade.XML("file.glade")
(python.exe:3180): libglade-WARNING **: could not find a parent that
handles internal children for `vbox'

Grazie ancora.

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Sulla falsariga del PyDayBO

2010-03-19 Per discussione Simone Dalla
Il giorno 11 marzo 2010 19.28, Valerio Turturici <
turturici.vale...@gmail.com> ha scritto:

> Come vi sembra il 22 Maggio come data? Troppo vicino al post-PyCon?
> Troppo vicina in un periodo pieno sia scolasticamente che lavorativamente?
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>

Sabato?? Indicativamente potrebbe andare.

-- 
Simo

- Registered Linux User #395060

- Software is like sex, it is better when it is free  --> Linus B. Torvalds
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Marco Bonifazi
2010/3/19 Antonio Fittipaldi 

> Il 19 marzo 2010 10.59, Pietro Battiston  ha scritto:
> > Uhm, allora non so dirti... senza vederne il codice.
> >
> > Pietro
>
> Hai ragione, qui c'è il sorgente Python http://pastebin.com/8KMXAUeb e
> qui quello Glade http://pastebin.com/v33AbsY5.
> La finestra GtkMessageDialog si chiama fin_mes.
>
> Grazie!
>
> Saluti.
>
> --
>


Secondo me usa un destroy di default.

Fossi in te in quel mostra_fin_mes farei:

a = self.fin_mes.run()

if response == gtk.RESPONSE_OK:
a.hide()

nascondi_fin_mes potrebbe non venir mai chiamato.

Hopefully it helps:-)
-- 
Marco Bonifazi
http://www.bonifazi.eu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Il 19 marzo 2010 10.59, Pietro Battiston  ha scritto:
> Uhm, allora non so dirti... senza vederne il codice.
>
> Pietro

Hai ragione, qui c'è il sorgente Python http://pastebin.com/8KMXAUeb e
qui quello Glade http://pastebin.com/v33AbsY5.
La finestra GtkMessageDialog si chiama fin_mes.

Grazie!

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Pietro Battiston
Il giorno ven, 19/03/2010 alle 10.56 +0100, Antonio Fittipaldi ha
scritto:
> Il 19 marzo 2010 10.47, Pietro Battiston  ha scritto:
> 
> Ciao Pietro, grazie per l'interessamento.
> 
> > Un paio:
> > 1) cerca di ridurre ad un esempio minimale. Se tu l'avessi fatto, penso
> > che avresti notato - sempre ovviamente che la mia diagnosi alla cieca
> > sia corretta, potrei sbagliarmi - che il problema è che tu
> > chiami .destroy() per nascondere il dialog, mentre se vuoi riutilizzarlo
> > la cosa giusta da fare è chiamare .hide()
> >
> > 2) sui dialog, se non hai motivi particolari per fare altrimenti,
> > usa .run() che è comodissima (al posto di .show() - e sempre in coppia
> > con .hide()).
> >
> > ciao
> >
> > Pietro
> 
> Il codice è davvero semplicissimo, e in effetti uso .hide() per
> occultare la finestra.
> Ho provato anche a usare .run() al posto di .show(), senza alcuna miglioria.
> 

Uhm, allora non so dirti... senza vederne il codice.

Pietro

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Il 19 marzo 2010 10.47, Pietro Battiston  ha scritto:

Ciao Pietro, grazie per l'interessamento.

> Un paio:
> 1) cerca di ridurre ad un esempio minimale. Se tu l'avessi fatto, penso
> che avresti notato - sempre ovviamente che la mia diagnosi alla cieca
> sia corretta, potrei sbagliarmi - che il problema è che tu
> chiami .destroy() per nascondere il dialog, mentre se vuoi riutilizzarlo
> la cosa giusta da fare è chiamare .hide()
>
> 2) sui dialog, se non hai motivi particolari per fare altrimenti,
> usa .run() che è comodissima (al posto di .show() - e sempre in coppia
> con .hide()).
>
> ciao
>
> Pietro

Il codice è davvero semplicissimo, e in effetti uso .hide() per
occultare la finestra.
Ho provato anche a usare .run() al posto di .show(), senza alcuna miglioria.

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Pietro Battiston
Il giorno ven, 19/03/2010 alle 10.40 +0100, Antonio Fittipaldi ha
scritto:
> Buongiorno a tutti,
> 
> in una semplicissima GUI PyGTK 2.16 ho un pulsante al quale ho
> collegato l'apparizione (.show()) di una finestra GtkMessageDialog.
> Al primo clic sul pulsante tutto ok, ma quando faccio successivamente
> clic per mostrare nuovamente la finestra, essa appare con fondo grigio
> e senza widget e in console ho:
> 
> GtKWarning: gtk_container_foreach: assertion 'GTK_IS_CONTAINER
> (container)' failed self.fin_mes.show()
> 
> Qualche suggerimento?

Un paio:
1) cerca di ridurre ad un esempio minimale. Se tu l'avessi fatto, penso
che avresti notato - sempre ovviamente che la mia diagnosi alla cieca
sia corretta, potrei sbagliarmi - che il problema è che tu
chiami .destroy() per nascondere il dialog, mentre se vuoi riutilizzarlo
la cosa giusta da fare è chiamare .hide()

2) sui dialog, se non hai motivi particolari per fare altrimenti,
usa .run() che è comodissima (al posto di .show() - e sempre in coppia
con .hide()).

ciao

Pietro

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] [PyGTK] GtkMessageDialog funzionante solo per una volta

2010-03-19 Per discussione Antonio Fittipaldi
Buongiorno a tutti,

in una semplicissima GUI PyGTK 2.16 ho un pulsante al quale ho
collegato l'apparizione (.show()) di una finestra GtkMessageDialog.
Al primo clic sul pulsante tutto ok, ma quando faccio successivamente
clic per mostrare nuovamente la finestra, essa appare con fondo grigio
e senza widget e in console ho:

GtKWarning: gtk_container_foreach: assertion 'GTK_IS_CONTAINER
(container)' failed self.fin_mes.show()

Qualche suggerimento?
Grazie. :)

Saluti.

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python