类
GtkEntryCompletion
已弃用:4.10
说明 [src]
final class Gtk.EntryCompletion : GObject.Object
implements Gtk.Buildable, Gtk.CellLayout {
/* No available fields */
}
GtkEntryCompletion
是一个辅助对象,可为 GtkEntry
提供自动完成功能。
它实现了 GtkCellLayout
接口,以便用户可以向带有完成匹配的 GtkTreeView
添加额外单元格。
“自动完成功能”意指,当用户修改输入框中的文本时,GtkEntryCompletion
将核对模型中的哪些行与当前输入框的内容相匹配,然后展示一个匹配列表。默认情况下,匹配操作是通过不区分大小写的情况下将输入框文本与模型的文本列进行比较(见 gtk_entry_completion_set_text_column()
),但是可以用自定义匹配函数覆盖这一方法(见 gtk_entry_completion_set_match_func()
)。
当用户选择一个完成功能时,输入项的内容会被更新。默认情况下,输入项的内容会被替换为模型文本列,但你可以通过连接到 GtkEntryCompletion::match-selected
信号并在信号处理中更新输入项来覆盖此内容。请注意,你应该从信号处理程序中返回 TRUE
来阻止默认行为。
要给输入项添加完成功能,请使用 gtk_entry_set_completion()
。
GtkEntryCompletion
使用 GtkTreeModelFilter
模型表示当前匹配整个模型子集。虽然 GtkEntryCompletion
信号 GtkEntryCompletion::match-selected
和 GtkEntryCompletion::cursor-on-match
使用原始模型和指向该模型的 iter 作为参数,但其他回调和信号(如 `GtkCellLayoutDataFunc` 或 [[email protected]::apply-attributes)] 通常会将过滤器模型作为参数。只要你只调用 gtk_tree_model_get()
,这对你来说是没有区别的。如果由于某种原因你需要原始模型,请使用 gtk_tree_model_filter_get_model()
。别忘了使用 gtk_tree_model_filter_convert_iter_to_child_iter()
来获取匹配的 iter。
自 4.10 版弃用
请不要在新建的代码中使用它。
实例方法
Methods 继承自 GtkBuildable (1)
Methods 继承自 GtkCellLayout (10)
gtk_cell_layout_add_attribute
向 cell_layout
中的列表添加属性映射。
已弃用:4.10
gtk_cell_layout_clear
取消 cell_layout
上所有渲染器的所有映射并从 cell_layout
中移除所有渲染器。
已弃用:4.10
gtk_cell_layout_clear_attributes
清除先前使用 gtk_cell_layout_set_attributes() 设置的所有现有属性。
已弃用:4.10
gtk_cell_layout_get_area
返回底层的 GtkCellArea
,如果在 GtkCellArea
上调用,则该底层 GtkCellArea
可能为 cell_layout
;如果 cell_layout
未使用 GtkCellArea
,则该底层 GtkCellArea
可能为 NULL
。
已弃用:4.10
gtk_cell_layout_get_cells
返回已添加到 cell_layout
中的单元渲染器。
已弃用:4.10
gtk_cell_layout_pack_end
将 cell
添加到 cell_layout
的末尾。如果 expand
为 FALSE
,则 cell
分配的空间不超出其需要。所有未使用的空间在 expand
为 TRUE
的单元格中平分。
已弃用:4.10
gtk_cell_layout_pack_start
将 cell
打包到 cell_layout
的开头。如果 expand
为 FALSE
,则 cell
分配的空间不超出其需要。所有未使用的空间在 expand
为 TRUE
的单元格中平分。
已弃用:4.10
gtk_cell_layout_reorder
在 position
处重新插入 cell
。
已弃用:4.10
gtk_cell_layout_set_attributes
将参数列表中的属性设置为 cell_layout
的属性。
已弃用:4.10
gtk_cell_layout_set_cell_data_func
将 GtkCellLayout
DataFunc 设置为 cell_layout
使用。
已弃用:4.10
信号
从 GObject(1)继承的信号
GObject::notify
当对象的一个属性通过 g_object_set_property()、g_object_set() 等方式设置其值时,会在该对象上发出 notify 信号。