erlug
[Top] [All Lists]

Re: [Erlug] [Gtk] gtk_timeout_add

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] [Gtk] gtk_timeout_add
From: Pier Luigi Fiorini <plfiorini@xxxxxxxxxxx>
Date: 15 May 2002 18:26:58 +0200
> Cioè? non passano esattamente delay*1000 millisecondi o succede tutto 
> in un millisecondo?
Passa un secondo o un millisecondo (non ho il cronometro :), ad ogni
modo non passa il tempo che l'utente specifica.

> Passeresti tutto il codice della funzione di call back?
Non c'e' piu' bisogno, un altro gnomaro mi ha aiutato.
In pratica il codice ora e' questo (lo scrivo perche' in futuro possa
aiutare altre persone):

static GtkWidget *toplevel;
static gint timeout;
static guint delay = 0;
/* delay e' qui perche' poi mi serve da altre parti, tipo nel signal
handler di value_changed dello spin button che si usa per cambiare delay
*/

static gboolean
delay_callback (gpointer data)
{
/* fa una screen shot, preoccupandosi della scelta dell'utente (finestra
o x root window e poi aggiorna il gtk drawing area nella finestra
principale che e' la variabile toplevel */
        take_shot ();
        gtk_widget_show_now (toplevel); // hack che mi ha suggerito l'altro
gnomaro
        return FALSE; // come suggerisci tu esco in questo modo e ho tolto il
codice di gtk_timeout_remove, anche se ho notato che il funzionamento
*sembrava* uguale
}

void
on_delay_response (GtkWidget *dialog, gint response_id, gpointer data)
{
        switch (response_id) {
        case GTK_RESPONSE_YES:
                gtk_widget_destroy (dialog); // distruggo la dialog delle 
impostazioni
                timeout = gtk_timeout_add ((delay * 1000), (GtkFunction)
delay_callback, NULL);
        break;
        }
}

Mah ora ho un altro problema, sembra che dopo aver fatto la mia bella
screen shot con il mio bravo delay, il tasto annulla della finestra
principale (variabile toplevel) dia problemi infatti quando ci clicco
vedo l'effetto "cliccoso" (lo so sono folle) ma non accade nulla!!




<Prev in Thread] Current Thread [Next in Thread>