краткое описание#include <gtk/gtk.h> gtktreestore; gtktreestore* gtk_tree_store_new (gint n_columns, ...); gtktreestore* gtk_tree_store_newv (gint n_columns, gtype *types); void gtk_tree_store_set_column_types (gtktreestore *tree_store, gint n_columns, gtype *types); void gtk_tree_store_set_value (gtktreestore *tree_store, gtktreeiter *iter, gint column, gvalue *value); void gtk_tree_store_set (gtktreestore *tree_store, gtktreeiter *iter, ...); void gtk_tree_store_set_valist (gtktreestore *tree_store, gtktreeiter *iter, va_list var_args); gboolean gtk_tree_store_remove (gtktreestore *tree_store, gtktreeiter *iter); void gtk_tree_store_insert (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position); void gtk_tree_store_insert_before (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gtktreeiter *sibling); void gtk_tree_store_insert_after (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gtktreeiter *sibling); void gtk_tree_store_insert_with_values (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position, ...); void gtk_tree_store_insert_with_valuesv (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position, gint *columns, gvalue *values, gint n_values); void gtk_tree_store_prepend (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent); void gtk_tree_store_append (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent); gboolean gtk_tree_store_is_ancestor (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *descendant); gint gtk_tree_store_iter_depth (gtktreestore *tree_store, gtktreeiter *iter); void gtk_tree_store_clear (gtktreestore *tree_store); gboolean gtk_tree_store_iter_is_valid (gtktreestore *tree_store, gtktreeiter *iter); void gtk_tree_store_reorder (gtktreestore *tree_store, gtktreeiter *parent, gint *new_order); void gtk_tree_store_swap (gtktreestore *tree_store, gtktreeiter *a, gtktreeiter *b); void gtk_tree_store_move_before (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *position); void gtk_tree_store_move_after (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *position); иерархия объектовgobject +----gtktreestore осуществляемые интерфейсыgtktreestore осуществляет gtktreemodel, gtktreedragsource, gtktreedragdest и gtktreesortable. описаниеобъект gtktreestore это модель списка используемая с виджетом gtktreeview. он реализует интерфейс gtktreemodel, и логически может использовать все методы доступные в нем. он также реализует интерфейс gtktreesortable поэтому может быть отсортирован. наконец, он реализует интерфейс drag and drop. деталиgtktreestoretypedef struct _gtktreestore gtktreestore; gtk_tree_store_new ()gtktreestore* gtk_tree_store_new (gint n_columns, ...);
создаёт новое дерево хранения с например,
gtk_tree_store_newv ()gtktreestore* gtk_tree_store_newv (gint n_columns, gtype *types); функция создания без переменных аргументов. в основном используется привязками языков.
gtk_tree_store_set_column_types ()void gtk_tree_store_set_column_types (gtktreestore *tree_store, gint n_columns, gtype *types); эта функция предназначена прежде всего для gobjects которые наследуют из gtktreestore, и должна использоваться только при конструировании нового gtktreestore. она не будет работать после добавления строки, или вызова интерфейса gtktreemodel.
gtk_tree_store_set_value ()void gtk_tree_store_set_value (gtktreestore *tree_store, gtktreeiter *iter, gint column, gvalue *value);
устанавливает данные в ячейку определенную
gtk_tree_store_set ()void gtk_tree_store_set (gtktreestore *tree_store, gtktreeiter *iter, ...);
устанавливает значение одной или более
ячеек в строку указанную
gtk_tree_store_set_valist ()void gtk_tree_store_set_valist (gtktreestore *tree_store, gtktreeiter *iter, va_list var_args);
смотрите
gtk_tree_store_remove ()gboolean gtk_tree_store_remove (gtktreestore *tree_store, gtktreeiter *iter);
удаляет
gtk_tree_store_insert ()void gtk_tree_store_insert (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position);
создаёт новую строку в позиции
gtk_tree_store_insert_before ()void gtk_tree_store_insert_before (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gtktreeiter *sibling);
вставляет новую строку перед
gtk_tree_store_insert_after ()void gtk_tree_store_insert_after (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gtktreeiter *sibling);
вставляет новую строку после
gtk_tree_store_insert_with_values ()void gtk_tree_store_insert_with_values (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position, ...);
создаёт новую строку в позиции вызов gtk_tree_store_insert (tree_store, iter, position);
gtk_tree_store_set (tree_store, iter, ...);
разница с предыдущим только в издании
сигнала row_inserted, в то время как последний
издаёт row_inserted, row_changed и если дерево
хранения отсортировано, rows_reordered. так
как повторное издание rows_reordered сигнала
может повлиять на выполнение программ,
начиная с версии 2.10 gtk_tree_store_insert_with_valuesv ()void gtk_tree_store_insert_with_valuesv (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent, gint position, gint *columns, gvalue *values, gint n_values);
вариант
начиная с версии 2.10 gtk_tree_store_prepend ()void gtk_tree_store_prepend (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent);
вставляет новую строку в начало
gtk_tree_store_append ()void gtk_tree_store_append (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *parent);
добавляет новую строку в
gtk_tree_store_is_ancestor ()gboolean gtk_tree_store_is_ancestor (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *descendant);
возвращает
gtk_tree_store_iter_depth ()gint gtk_tree_store_iter_depth (gtktreestore *tree_store, gtktreeiter *iter);
возвращает глубину
gtk_tree_store_clear ()void gtk_tree_store_clear (gtktreestore *tree_store);
удаляет все строки из
gtk_tree_store_iter_is_valid ()gboolean gtk_tree_store_iter_is_valid (gtktreestore *tree_store, gtktreeiter *iter); внимание: эта функция очень медленная. используйте её только для отладки и/или тестирования. проверяет допустим ли полученный итератор для этого gtktreestore.
начиная с версии 2.2 gtk_tree_store_reorder ()void gtk_tree_store_reorder (gtktreestore *tree_store, gtktreeiter *parent, gint *new_order);
перестраивает дочерние элементы
начиная с версии 2.2 gtk_tree_store_swap ()void gtk_tree_store_swap (gtktreestore *tree_store, gtktreeiter *a, gtktreeiter *b);
обменивает
начиная с версии 2.2 gtk_tree_store_move_before ()void gtk_tree_store_move_before (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *position);
перемещает
начиная с версии 2.2 gtk_tree_store_move_after ()void gtk_tree_store_move_after (gtktreestore *tree_store, gtktreeiter *iter, gtktreeiter *position);
перемещает
начиная с версии 2.2 смотрите также |