Сортировать данные в GtkTreeView не по алфавиту? - PullRequest
1 голос
/ 16 апреля 2010

Я пытаюсь отсортировать столбец данных в представлении дерева GTK не по алфавиту. Я не могу найти функцию в библиотеках GTK +, которая не может сделать такую ​​вещь.

Кто-нибудь здесь знает, как это сделать?

UPDATE:

Ниже приведен код, который я сейчас пытаюсь использовать:

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);

1 Ответ

2 голосов
/ 16 апреля 2010

См. Интерфейс <a href="http://library.gnome.org/devel/gtk/stable/GtkTreeSortable.html" rel="nofollow noreferrer">GtkTreeSortable</a>, который позволяет вам установить пользовательскую функцию сортировки.

Обратите внимание, что обычно используемая стандартная модель <a href="http://library.gnome.org/devel/gtk/stable/GtkListStore.html" rel="nofollow noreferrer">GtkListStore</a> реализует GtkTreeSortable.

Возможно, вам также понадобится позвонить <a href="http://library.gnome.org/devel/gtk/stable/GtkTreeSortable.html#gtk-tree-sortable-set-sort-column-id" rel="nofollow noreferrer">gtk_tree_sortable_set_sort_column_id()</a>, чтобы выбрать столбец для сортировки. При этом используется понятие «идентификатор столбца сортировки», которое не совпадает с индексом столбца. Вам нужно установить правильный идентификатор столбца для отдельных GtkTreeViewColumns при их создании, используя gtk_tree_view_column_set_sort_column_id () .

Этот урок может быть хорошим чтением, чтобы лучше понять используемые концепции.

...