类
GtkTreeStore
已弃用:4.10
描述 [src]
class Gtk.TreeStore : GObject.Object
implements Gtk.Buildable, Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable {
GtkTreeStorePrivate* priv
}
一种可以与 GtkTreeView
一起使用的数据结构。
GtkTreeStore
对象是用于 GtkTreeView
小部件的列表模型。它实现了 GtkTreeModel
接口,因此可以在那里使用所有可用的方法。它还实现了 GtkTreeSortable
接口,以便它可以按视图排序。最后,它还实现了树 拖拽 和 放 接口。
从 GTK 4.10 开始,GtkTreeStore
已弃用,不得在新编写的代码中使用。对于类似树的模型对象,你应该使用 GtkTreeListModel
。
GtkTreeStore 作为 GtkBuildable
GtkBuildable
接口的 GtkTreeStore 实现允许使用 <columns>
元素(其中可能包含多个 <column>
元素,每个元素指定一个模型列)来指定模型列。用于列的“type”属性指定数据类型。
树商店的 UI 定义片段示例
<object class="GtkTreeStore">
<columns>
<column type="gchararray"/>
<column type="gchararray"/>
<column type="gint"/>
</columns>
</object>
从以下版本开始弃用:4.10
使用 GtkTreeListModel
代之。
实例方法
gtk_tree_store_insert_with_valuesv
gtk_tree_store_insert_with_values()
的一个变体,它将列和值作为两个数组,而不是 varargs。
已弃用:4.10
从GtkBuildable (1)继承的方法
从GtkTreeDragDest (2)继承的方法
gtk_tree_drag_dest_drag_data_received
要求GtkTreeDragDest
在路径dest
的前面插入一行,根据value
派生行的内容。如果dest
超出树的范围,从而无法在其前面插入,将返回FALSE
。此外,如果由于某些模型特定的原因,尚未创建新行,则可能返回FALSE
。应稳健地处理模型中不再找到的dest
!
已弃用:4.10
gtk_tree_drag_dest_row_drop_possible
确定在给定的dest_path
之前同一深度的value
处是否可以进行放置。即,我们是否可以将数据value
放在该位置。dest_path
不必存在;即便dest_path
的父元素不存在,返回值几乎必定为FALSE
。
已弃用:4.10
从GtkTreeDragSource (3)继承的方法
gtk_tree_drag_source_drag_data_delete
要求GtkTreeDragSource
删除路径path
处的行,因为它通过拖放移动到别处。如果path
不再存在,或者由于某些模型特定的原因,删除操作失败,则返回FALSE
。应稳健地处理模型中不再找到的path
!
已弃用:4.10
gtk_tree_drag_source_drag_data_get
要求GtkTreeDragSource
返回表示路径path
处的行的GdkContentProvider
。应稳健地处理模型中不再找到的path
!
已弃用:4.10
gtk_tree_drag_source_row_draggable
询问GtkTreeDragSource
特定的行是否可用作DND操作的源。如果源未实现该界面,则认为该行可拖动。
已弃用:4.10
从GtkTreeModel (28)继承的方法
有关方法的完整列表,请参阅GtkTreeModel。
从GtkTreeSortable (6)继承的方法
gtk_tree_sortable_get_sort_column_id
用当前排序列和顺序填充 sort_column_id
和 order
。该函数会返回 TRUE
,除非 sort_column_id
是 GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID
或 GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID
。
已弃用:4.10
gtk_tree_sortable_has_default_sort_func
如果模型有默认排序函数,则返回 TRUE
。主要由 GtkTreeViewColumns 控件使用,以确定模型是否可以恢复为默认状态。
已弃用:4.10
gtk_tree_sortable_set_default_sort_func
将排序时使用的默认比较函数设置为 sort_func
。如果 sortable
的当前排序列 ID 为 GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID
,则模型将使用此函数进行排序。
已弃用:4.10
gtk_tree_sortable_set_sort_column_id
将当前排序列设置为 sort_column_id
。sortable
将根据这一更改重新排序自身,在发出 GtkTreeSortable::sort-column-changed
信号后。sort_column_id
可能是一个常规的列 ID,或以下特殊值之一:。
已弃用:4.10
gtk_tree_sortable_set_sort_func
将排序时使用的比较函数设置为 sort_func
。如果 sortable
的当前排序列 ID 与 sort_column_id
相同,则模型将使用此函数进行排序。
已弃用:4.10
gtk_tree_sortable_sort_column_changed
在 sortable
上发出 GtkTreeSortable::sort-column-changed
信号。
已弃用:4.10
信号
从 GObject 继承的信号 (1)
GObject::notify
当对象的一个属性通过 g_object_set_property()、g_object_set() 等设置其值时,会发出 notify 信号。
从 GtkTreeModel 继承的信号 (5)
GtkTreeModel::row-changed
当模型中的行发生了更改时,发出此信号。
GtkTreeModel::row-deleted
当删除了某行时,发出此信号。
GtkTreeModel::row-has-child-toggled
当某行获得了首个子行或失去了其最后一个子行时,发出此信号。
GtkTreeModel::row-inserted
当在模型中插入了新行时,发出此信号。
GtkTreeModel::rows-reordered
当已对 GtkTreeModel
中节点的子节点重新排序时,发出此信号。
从 GtkTreeSortable 继承的信号 (1)
GtkTreeSortable::sort-column-changed
当更改了 sortable
的排序列或排序顺序时,会发出 ::sort-column-changed 信号。该信号在重新对 sortable
的内容进行排序之前发出。