1 三者关系

  • GtkListStore 一个能被GtkTreeView使用的列表数据结构
  • GtkTreeModel 是GtkTreeView的接口
  • 通过GTK_TREE_MODEL宏可以将GtkListStore转换成GtkTreeModel

2 查找Row位置变量

GtkTreeIter、GtkTreePath、GtkTreeRowReference

3 GtkListStore

3.1 继承结构

    GObject
    ╰── GtkListStore

3.2 API

GtkListStore *	gtk_list_store_new ()
GtkListStore *	gtk_list_store_newv ()
void	gtk_list_store_set_column_types ()
void	gtk_list_store_set ()
void	gtk_list_store_set_valist ()
void	gtk_list_store_set_value ()
void	gtk_list_store_set_valuesv ()
gboolean	gtk_list_store_remove ()
void	gtk_list_store_insert ()
void	gtk_list_store_insert_before ()
void	gtk_list_store_insert_after ()
void	gtk_list_store_insert_with_values ()
void	gtk_list_store_insert_with_valuesv ()
void	gtk_list_store_prepend ()
void	gtk_list_store_append ()
void	gtk_list_store_clear ()
gboolean	gtk_list_store_iter_is_valid ()
void	gtk_list_store_reorder ()
void	gtk_list_store_swap ()
void	gtk_list_store_move_before ()
void	gtk_list_store_move_after ()

4 GtkTreeModel

4.1 继承结构

    GBoxed
    ├── GtkTreeIter
    ╰── GtkTreePath
    GInterface
    ╰── GtkTreeModel

4.2 API

gboolean	(*GtkTreeModelForeachFunc) ()
GtkTreePath *	gtk_tree_path_new ()
GtkTreePath *	gtk_tree_path_new_from_string ()
GtkTreePath *	gtk_tree_path_new_from_indices ()
GtkTreePath *	gtk_tree_path_new_from_indicesv ()
gchar *	gtk_tree_path_to_string ()
GtkTreePath *	gtk_tree_path_new_first ()
void	gtk_tree_path_append_index ()
void	gtk_tree_path_prepend_index ()
gint	gtk_tree_path_get_depth ()
gint *	gtk_tree_path_get_indices ()
gint *	gtk_tree_path_get_indices_with_depth ()
void	gtk_tree_path_free ()
GtkTreePath *	gtk_tree_path_copy ()
gint	gtk_tree_path_compare ()
void	gtk_tree_path_next ()
gboolean	gtk_tree_path_prev ()
gboolean	gtk_tree_path_up ()
void	gtk_tree_path_down ()
gboolean	gtk_tree_path_is_ancestor ()
gboolean	gtk_tree_path_is_descendant ()
GtkTreeRowReference *	gtk_tree_row_reference_new ()
GtkTreeRowReference *	gtk_tree_row_reference_new_proxy ()
GtkTreeModel *	gtk_tree_row_reference_get_model ()
GtkTreePath *	gtk_tree_row_reference_get_path ()
gboolean	gtk_tree_row_reference_valid ()
void	gtk_tree_row_reference_free ()
GtkTreeRowReference *	gtk_tree_row_reference_copy ()
void	gtk_tree_row_reference_inserted ()
void	gtk_tree_row_reference_deleted ()
void	gtk_tree_row_reference_reordered ()
GtkTreeIter *	gtk_tree_iter_copy ()
void	gtk_tree_iter_free ()
GtkTreeModelFlags	gtk_tree_model_get_flags ()
gint	gtk_tree_model_get_n_columns ()
GType	gtk_tree_model_get_column_type ()
gboolean	gtk_tree_model_get_iter ()
gboolean	gtk_tree_model_get_iter_from_string ()
gboolean	gtk_tree_model_get_iter_first ()
GtkTreePath *	gtk_tree_model_get_path ()
void	gtk_tree_model_get_value ()
gboolean	gtk_tree_model_iter_next ()
gboolean	gtk_tree_model_iter_previous ()
gboolean	gtk_tree_model_iter_children ()
gboolean	gtk_tree_model_iter_has_child ()
gint	gtk_tree_model_iter_n_children ()
gboolean	gtk_tree_model_iter_nth_child ()
gboolean	gtk_tree_model_iter_parent ()
gchar *	gtk_tree_model_get_string_from_iter ()
void	gtk_tree_model_ref_node ()
void	gtk_tree_model_unref_node ()
void	gtk_tree_model_get ()
void	gtk_tree_model_get_valist ()
void	gtk_tree_model_foreach ()
void	gtk_tree_model_row_changed ()
void	gtk_tree_model_row_inserted ()
void	gtk_tree_model_row_has_child_toggled ()
void	gtk_tree_model_row_deleted ()
void	gtk_tree_model_rows_reordered ()

5 GtkTreeView

5.1 继承关系

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkTreeView

参考1: Refering to Rows: GtkTreeIter, GtkTreePath, GtkTreeRowReference
参考2: GTK+ 3 Reference Manual

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐