Bonjour,

j'essaye cette fois d'intégrer des barres de progression dans les lignes d'un list store, je crée mon gtklistStore de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
pListStore = gtk_list_store_new(4,G_TYPE_STRING,G_TYPE_OBJECT,G_TYPE_STRING,G_TYPE_POINTER);	
pListView =gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));
Je pense pas qu'il y ait de problèmes à ce niveau ?
J'ai 4 colonnes, la deuxième est la barre de progression, j'ai mis un G_TYPE_OBJECT pour cela ?

Je crée la colonne correspondant à la barre de progression de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
pCellRenderer = gtk_cell_renderer_progress_new (); 
 pColumn = gtk_tree_view_column_new_with_attributes ("",pCellRenderer,NULL, 1,NULL);
 
 
gtk_tree_view_append_column (GTK_TREE_VIEW (pListView), pColumn);
gtk_tree_view_column_set_visible(pColumn,1);
Et j'ajoute les "lignes" du gtkliststore de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
...
maillon->progress = gtk_progress_bar_new();
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(maillon->progress), 0.5);
 
tmp1 = (gchar *)g_malloc(TAILLE_STRUCT_NOM+20);
tmp2 = (gchar *)g_malloc(40);
 
gtk_list_store_append(pListStore, &pIter);
g_sprintf(tmp1,"<small>%s</small>",(gchar *)maillon->nom);
g_sprintf(tmp2,"<small>%i</small>",(gint)maillon->type);
 
gtk_list_store_set(pListStore, &pIter,0,tmp1,1,maillon->progress,2,tmp2,3,maillon,-1);
Voila, la variable maillon est une structure comprenant plein d'informations nottament le widget correspondant à la barre de progression :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
typedef struct P_MAILLON
{
                ...
		GtkWidget *progress;        
 
} P_MAILLON;
Et donc le problème c'est que, bien que la barre de progression s'affiche, elle est "vide", alors que initialement je lui donne comme valeur 0.5 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(maillon->progress), 0.5);
Et bien entendu quand j'essaye de mettre à jour la barre de progression, rien ne change !

Si quelqu'un a une idée pour résoudre mon problème ?

Merci