示例#1
0
static void toggle_show_text(GtkWidget *widget, ProgressData *pdata){
    const gchar *text;

    text = gtk_progress_bar_get_text(GTK_PROGRESS_BAR(pdata->pbar));
    if(text && *text){
        gtk_progress_bar_set_text(GTK_PROGRESS_BAR(pdata->pbar), "");
    }
    else{
        gtk_progress_bar_set_text(GTK_PROGRESS_BAR(pdata->pbar), "some text");
    }
}
示例#2
0
gboolean timeout_callback(gpointer data) {
	//gdouble value;
	GString *text;
	//value = gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(data) );
	gdouble interval = 1.0/prosses;
	progressbarvalue += interval;
//	if (value > 1.0) {
//		value = 0.0;
//	}
    gdouble val;
	gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data), progressbarvalue);

	text = g_string_new(gtk_progress_bar_get_text(GTK_PROGRESS_BAR(data) ));
	if(progressbarvalue > 0.99)
		val = 1.0;
	else
		val = progressbarvalue;
	g_string_sprintf(text, "%d %%", (int) (val * 100));
	gtk_progress_bar_set_text(GTK_PROGRESS_BAR(data), text->str);
	g_source_remove (timer);
	return TRUE;
}