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"); } }
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; }