Fethiye Akbulut wrote:
> I would like to show the elapsed time since one of the windows is popped up.
> I have created a GtkEntry and and my plan is to update its value every
> second. The updated value is not written back to the Entry box. Is there a
> way that I could do that easily, without having an infinite loop to wait for
> a second to pass?

Hi Fethiye,

I'd do this by adding a timeout callback:

in your window build function:

        label = gtk_label_new( "0" );
        gtk_timeout_add( 1000, (GtkFunction) update_time, label );

where update_time() is:

        static gboolean
        update_time( GtkWidget *label )
        {
                static int ticks = 0;

                ticks += 1;
                label_setf( label, "%d", ticks );

                return( TRUE );
        }

and label_setf() is:

        static void
        label_setf( GtkWidget *label, const char *fmt, ... )
        {
                va_list ap;
                char buf[ 10000 ];

                va_start( ap, fmt );
                vsprintf( buf, fmt, ap );
                va_end( ap );

                gtk_label_set_text( label, buf );
        }

HTH, John

_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to