- #include <gtk/gtk.h>
- #include <stdio.h>
- #include <string.h>
-
- gint increment(gpointer pbar)
- {
- float val;
- val = gtk_progress_get_value(GTK_PROGRESS((GtkWidget*)pbar)); //Valeur de la progressbar
- gtk_progress_set_value(GTK_PROGRESS((GtkWidget*)pbar), val + 0.5); //Rajoute 0,5 a la valeur de la progressbar
- return TRUE;
- }
-
- gint reset(GtkObject* pbar)
- {
- //Reinitialize la progresbar
- gtk_progress_set_value(GTK_PROGRESS(pbar), 0.0);
- return FALSE;
- }
-
- int main(int argc, char *argv[])
- {
- GtkWidget *fenetre, *boite, *pbar, *bouton; //Declare les widget
- GtkAdjustment *adjust;
-
- gtk_init(&argc,&argv); //Initialize GTK
-
- fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); //Creer la fenetre pricnipale
- boite = gtk_vbox_new(TRUE, 0); //creer une boite de type vbox
- gtk_container_add(GTK_CONTAINER(fenetre), boite); //Ajoute la boite au container de la fenetre
-
- adjust = (GtkAdjustment *) gtk_adjustment_new(0.0, 0.0, 101.0, 0.1, 1.0, 1.0); //ajustement des positions
-
- pbar = gtk_progress_bar_new_with_adjustment(GTK_ADJUSTMENT(adjust)); //Crerr une progressbar avec l'ajustement adjust defini precedement
- gtk_box_pack_start_defaults(GTK_BOX(boite), pbar); //Rajoute la progressbar a la boite
- gtk_widget_set_usize(pbar, 100, 15); //Attribut une taille a la progressbar
- gtk_progress_set_format_string (GTK_PROGRESS(pbar), "%p%%"); //Format de la progressbar, ici en pourcent (%)
- gtk_progress_set_show_text(GTK_PROGRESS(pbar), TRUE); //Affiche les pourcentage de la progressbar en texte et l'affiche sur la progressbar
- gtk_widget_show(pbar); //Affiche la progressbar
-
- gtk_timeout_add(10, increment, (gpointer)pbar); //Incremantation de la progressbar
-
- bouton = gtk_button_new_with_label("reset"); //Creer el bouton avec un label "reset"
- gtk_box_pack_start(GTK_BOX(boite), bouton, TRUE, TRUE, 5); //Ajoute le bouton a la boite
-
- //Ajoute un signal: clicked qui appel la fonction reset lors de la pression du bouton reset
- gtk_signal_connect_object(GTK_OBJECT(bouton), "clicked",
- (GtkSignalFunc)reset, GTK_OBJECT(pbar));
- gtk_widget_set_usize(bouton, 30, 15); //Taille du bouton
- gtk_widget_show(bouton); //Affiche le bouton
-
- gtk_widget_show(boite); //Affiche la boite
- gtk_widget_show(fenetre); //Affiche la fenetre
- gtk_main(); //Rend la main a l'application
- }
-
#include <gtk/gtk.h>
#include <stdio.h>
#include <string.h>
gint increment(gpointer pbar)
{
float val;
val = gtk_progress_get_value(GTK_PROGRESS((GtkWidget*)pbar)); //Valeur de la progressbar
gtk_progress_set_value(GTK_PROGRESS((GtkWidget*)pbar), val + 0.5); //Rajoute 0,5 a la valeur de la progressbar
return TRUE;
}
gint reset(GtkObject* pbar)
{
//Reinitialize la progresbar
gtk_progress_set_value(GTK_PROGRESS(pbar), 0.0);
return FALSE;
}
int main(int argc, char *argv[])
{
GtkWidget *fenetre, *boite, *pbar, *bouton; //Declare les widget
GtkAdjustment *adjust;
gtk_init(&argc,&argv); //Initialize GTK
fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); //Creer la fenetre pricnipale
boite = gtk_vbox_new(TRUE, 0); //creer une boite de type vbox
gtk_container_add(GTK_CONTAINER(fenetre), boite); //Ajoute la boite au container de la fenetre
adjust = (GtkAdjustment *) gtk_adjustment_new(0.0, 0.0, 101.0, 0.1, 1.0, 1.0); //ajustement des positions
pbar = gtk_progress_bar_new_with_adjustment(GTK_ADJUSTMENT(adjust)); //Crerr une progressbar avec l'ajustement adjust defini precedement
gtk_box_pack_start_defaults(GTK_BOX(boite), pbar); //Rajoute la progressbar a la boite
gtk_widget_set_usize(pbar, 100, 15); //Attribut une taille a la progressbar
gtk_progress_set_format_string (GTK_PROGRESS(pbar), "%p%%"); //Format de la progressbar, ici en pourcent (%)
gtk_progress_set_show_text(GTK_PROGRESS(pbar), TRUE); //Affiche les pourcentage de la progressbar en texte et l'affiche sur la progressbar
gtk_widget_show(pbar); //Affiche la progressbar
gtk_timeout_add(10, increment, (gpointer)pbar); //Incremantation de la progressbar
bouton = gtk_button_new_with_label("reset"); //Creer el bouton avec un label "reset"
gtk_box_pack_start(GTK_BOX(boite), bouton, TRUE, TRUE, 5); //Ajoute le bouton a la boite
//Ajoute un signal: clicked qui appel la fonction reset lors de la pression du bouton reset
gtk_signal_connect_object(GTK_OBJECT(bouton), "clicked",
(GtkSignalFunc)reset, GTK_OBJECT(pbar));
gtk_widget_set_usize(bouton, 30, 15); //Taille du bouton
gtk_widget_show(bouton); //Affiche le bouton
gtk_widget_show(boite); //Affiche la boite
gtk_widget_show(fenetre); //Affiche la fenetre
gtk_main(); //Rend la main a l'application
}