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 :
Je pense pas qu'il y ait de problèmes à ce niveau ?
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));
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 :
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 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);
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
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);
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
3
4
5
6
7 typedef struct P_MAILLON { ... GtkWidget *progress; } P_MAILLON;
Et bien entendu quand j'essaye de mettre à jour la barre de progression, rien ne change !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(maillon->progress), 0.5);
Si quelqu'un a une idée pour résoudre mon problème ?
Merci
Partager