类
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 的内容进行排序之前发出。