Bonjour,
je voudrais savoir si 2 GtkTreeIter désignent le meme emplacement, pour ce faire je voudrais utiliser cette fonction mais je ne comprends pas comment l'utiliser?
Pourriez-vous m'éclairer ?
Merci![]()
Bonjour,
je voudrais savoir si 2 GtkTreeIter désignent le meme emplacement, pour ce faire je voudrais utiliser cette fonction mais je ne comprends pas comment l'utiliser?
Pourriez-vous m'éclairer ?
Merci![]()
En fait cette fonction est un pointeur de fonction en réalité, c'est la signature de la fonction utilisateur à passer en paramètre aux fonctions de tri de la même page, voilà
Plus d'informations ici: http://209.85.129.104/search?q=cache...lnk&cd=1&gl=fr
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
si je comprends bien, je dois juste écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 GtkTreeIterCompareFunc ma_fonction; ... if(ma_fonction(model, &iter1, &iter2, NULL) == 0){ // Actions; }
Non. En fait, c'est simplement une fonction de rappel (callback si tu préfère) que tu utilises de la même manière qu'avec les callback que tu enregistres pour les événements des widgets. Cette fonction est à transmettre aux fonctions:
- gtk_tree_sortable_set_sort_func
- gtk_tree_sortable_set_default_sort_func
Donc elle sert uniquement (apparement, je n'ai pas encore étudié profondement la question par manque de temps) à ces fonctions de tri, c'est tout !
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
merci pour l'explication mais maintenant je me pose une autre question.
Si c'est une fonction Callback, il est donc possible de l'utiliser comme une fonction normale. Par exemple, si je l'utilise comme ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /* prototype de ma_fonction */ void ma_fonction (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data); ... /* appel de ma_fonction */ ma_fonction (mon_model, &iter1, &iter2, pointeur_struct);
Bin ca te sert à rien de l'utiliser tout seul, ce n'est pas une fonction avec un comportement par défaut, un callback, c'est toi qui définit la fonction donc son comportement ... c'est l'utilisation qui doit en être faite ici si je me trompe pasEnvoyé par bit_o
![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
merci,
donc, en résumé je ne peux utiliser cette fonction qu'avec une de ces deux fonctions :
* gtk_tree_sortable_set_sort_func
* gtk_tree_sortable_set_default_sort_func
pour ceux que ça intéresse, j'ai utilisé une autre méthode pour connaitre la ligne qui était sélectionnée par l'utilisateur
merci pour vos explications sur les pointeurs de fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 void OnSelectedTreeView(GtkTreeView *pTreeView, GtkTreePath *pPath, GtkTreeViewColumn *pColumn, gpointer data){ gint nb; gchar *sel_str = NULL; GtkTreeModel *pTreeModel; GtkTreeIter iter; /* récupération du modèle */ pTreeModel = gtk_tree_view_get_model(pTreeView); /* on place iter sur l'élément pointé par l'utilisateur */ gtk_tree_model_get_iter(pTreeModel, &iter, pPath); /* récupération du numéro de l'élément pointé */ sel_str = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(pTreeModel), &iter); /* * sel_str est de la forme "0:4" * où le 0 désigne le premier noeud du GtkTreeView * et le 4 désigne la ligne 5 de ce GtkTreeView */ /* on extrait le numéro de la ligne sélectionnée grace à la fonction treeViewGetLine(gchar *) */ nb = treeViewGetLine(sel_str); }
EDIT : la fonction que j'utilise treeViewGetLine(gchar *) est une fonction à recoder selon vos besoins, et non pas une fonction de GTK![]()
Partager