类
GtkTreeSelection
已弃用:4.10
描述
final class Gtk.TreeSelection : GObject.Object
{
/* No available fields */
}
GtkTreeView
的选择对象
GtkTreeSelection
对象是一个用于管理 GtkTreeView
窗口小部件选择的帮助程序对象。 GtkTreeSelection
对象在新建 GtkTreeView
窗口小部件时自动创建,并且不能独立于此窗口小部件而存在。 GtkTreeSelection
对象存在的首要原因是为了代码和 API 的整洁性。也就是说,在概念上没有理由不能将所有这些函数作为 GtkTreeView
窗口小部件上的方法,而不是作为单独的函数。
GtkTreeSelection
对象是通过调用 gtk_tree_view_get_selection() 从 GtkTreeView
获取的。可以对其进行操作以检查树的选择状态,以及选择和取消选择各个行。选择是完全通过视图方面进行的。因此,同一个模型的多个视图可能具有完全不同的选择。此外,如果未首先展开行的父级,则不能更改视图当前未显示的模型中行的选择。
监控视图选择时要记住的一件重要事情是,GtkTreeSelection
::changed 信号大多数情况下只是一个提示。也就是说,它只在选择一行范围时才发出一个信号。此外,在没有发生任何事情时(主要是由于程序员调用 select_row 针对已选择的行),它可能偶尔会发出 GtkTreeSelection
::changed 信号。
自版本 4.10 起已弃用
请改用 GtkSelectionModel
。
实例方法
gtk_tree_selection_get_selected
如果 selection
设置为 GTK_SELECTION_SINGLE
或 GTK_SELECTION_BROWSE
,会将 iter
设置为当前选定的节点。如果您只想测试 selection
是否有任何选定节点, iter
可以为 NULL。model
会填充为当前模型以提供便利。如果您使用的 selection
为 GTK_SELECTION_MULTIPLE
,则此功能无法正常工作。
已弃用:4.10
gtk_tree_selection_get_selected_rows
创建所有选定行的路径列表。此外,如果您计划在此函数调用后修改模型,您可能希望将返回的列表转换为 GtkTreeRowReference
的列表。要执行此操作,可以使用 gtk_tree_row_reference_new()。
已弃用:4.10
gtk_tree_selection_select_range
选择一系列节点,由 start_path
和 end_path
包含。selection
必须设置为 GTK_SELECTION_MULTIPLE
模式。
已弃用:4.10
gtk_tree_selection_selected_foreach
为每个选定的节点调用函数。请注意,您无法从此函数内部修改树或选择。因此,gtk_tree_selection_get_selected_rows()
可能会更 有效。
已弃用:4.10
gtk_tree_selection_set_mode
设置 selection
的选择模式。如果以前类型为 GTK_SELECTION_MULTIPLE
,则锚点保持为选中状态,如果以前已经选中。
已弃用:4.10
信号
从 GObject(1)继承的信号
GObject::notify
当对象中的一个属性通过 g_object_set_property()、 g_object_set() 等设置其值时,将在对象上发送通知信号。