2010-04-16 9 views
1

J'essaie de trier une colonne de données dans une arborescence GTK non alphabétiquement. Je n'arrive pas à trouver une fonction dans les bibliothèques GTK + qui ne peuvent pas faire une telle chose.Trier les données dans GtkTreeView non-alphabétiquement?

Est-ce que quelqu'un ici connaît un moyen de le faire?

MISE À JOUR:

Ci-dessous le code im en train d'essayer d'utiliser:

column = gtk_tree_view_column_new(); 

gtk_tree_view_column_set_title(column, "Memory"); 

gtk_tree_view_column_set_resizable(column, TRUE); 
gtk_tree_view_column_set_reorderable(column, TRUE); 
gtk_tree_view_column_set_sort_indicator(column, TRUE); 
/********************************************************** 
gtk_tree_view_column_set_sort_column_id(column, 3); 
gtk_tree_sortable_set_sort_column_id(column, 3, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID); 
**********************************************************/ 

gtk_tree_view_append_column(GTK_TREE_VIEW(rendered_view), column); 

c_renderer = gtk_cell_renderer_text_new(); 

gtk_tree_view_column_pack_start(column, c_renderer, TRUE); 

gtk_tree_view_column_add_attribute(column, c_renderer, "text", MEMORY); 

Répondre

2

Voir l'interface GtkTreeSortable, qui vous permet de définir votre fonction de tri personnalisé.

Notez que le modèle standard GtkListStore couramment utilisé implémente GtkTreeSortable.

Vous devrez peut-être également appeler gtk_tree_sortable_set_sort_column_id() pour sélectionner la colonne à trier. Ceci utilise le concept de "identifiant de colonne de tri", qui n'est pas le même que l'index de colonne. Vous devez définir l'id de colonne approprié sur les GtkTreeViewColumns individuels lorsque vous les créez, en utilisant gtk_tree_view_column_set_sort_column_id().

This tutorial peut être une bonne lecture, pour avoir une meilleure compréhension des concepts impliqués.

+0

GtkTreeSortable peut-il être utilisé avec gtk_tree_view_solumn_set_sort_column_id? – paultop6

+0

@ paultop6: Oui, c'est ainsi que vous indiquez la colonne à trier. – unwind

+0

@unwind: tout en essayant de compiler im obtenir des erreurs que vous ne pouvez pas convertir GtkTreeViewColumn en GtkTreeSortable. J'ai mis à jour la question avec le segment de code im ayant des problèmes avec. Les parties commentées sont à voir avec la question. Est-il possible de transformer un GtkTreeViewColumn en GtkTreeSortable? – paultop6

Questions connexes