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-selectedGtkEntryCompletion::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 版弃用

请不要在新建的代码中使用它。

层级

hierarchy this GtkEntryCompletion implements_0 GtkBuildable this--implements_0 implements_1 GtkCellLayout this--implements_1 ancestor_0 GObject ancestor_0--this

构造函数

gtk_entry_completion_new

创建一个新的 GtkEntryCompletion 对象。

已弃用:4.10 

gtk_entry_completion_new_with_area

使用指定的 area 创建一个新的 GtkEntryCompletion 对象。

已弃用:4.10 

实例方法

gtk_entry_completion_complete

请求完成操作,换句话说,使用当前键重新筛选当前完成列表。

已弃用:4.10 

gtk_entry_completion_compute_prefix

计算从 key 开始的所有 completion 中共享的公共前缀。

已弃用:4.10 

gtk_entry_completion_get_completion_prefix

获取触发完成操作的用户输入的原始文本或如果没有任何完成操作正在进行中,则获取 NULL

已弃用:4.10 

gtk_entry_completion_get_entry

获取 completion 已附加到的输入项。

已弃用:4.10 

gtk_entry_completion_get_inline_completion

返回是否在自动将公共前缀插入输入项中。

已弃用:4.10 

gtk_entry_completion_get_inline_selection

如果启用了内联选择模式,则返回 TRUE

已弃用:4.10 

gtk_entry_completion_get_minimum_key_length

返回为 completion 设置的最小键长。

已弃用:4.10 

gtk_entry_completion_get_model

返回 GtkEntryCompletion 作为数据源使用的模型。

已弃用:4.10 

gtk_entry_completion_get_popup_completion

返回是否在弹出窗口中显示完成项。

已弃用:4.10 

gtk_entry_completion_get_popup_set_width

返回完成弹出窗口是否会调整其宽度,使其与输入项的宽度相同。

已弃用:4.10 

gtk_entry_completion_get_popup_single_match

返回是否在只有一个匹配项时也显示完成弹出窗口。

已弃用:4.10 

gtk_entry_completion_get_text_column

返回 completion 的模型中用于获取字符串的列。

已弃用:4.10 

gtk_entry_completion_insert_prefix

请求插入前缀。

已弃用:4.10 

gtk_entry_completion_set_inline_completion

设置是否在自动将公共前缀插入输入项中。

已弃用:4.10 

gtk_entry_completion_set_inline_selection

设置是否可以在输入项中遍历所有可能的完成项。

已弃用:4.10 

gtk_entry_completion_set_match_func

completion 的匹配函数设置为 func

已弃用:4.10 

gtk_entry_completion_set_minimum_key_length

completion 的搜索关键字长度要求至至少 length

已弃用:4.10 

gtk_entry_completion_set_model

设置 GtkEntryCompletion 的模型。

已弃用:4.10 

gtk_entry_completion_set_popup_completion

设置是否在弹出窗口中显示自动完成。

已弃用:4.10 

gtk_entry_completion_set_popup_set_width

设置是否将自动完成弹出窗口的宽度调整为与输入框相同的宽度。

已弃用:4.10 

gtk_entry_completion_set_popup_single_match

设置是否在仅有一个匹配项时也显示自动完成的结果。

已弃用:4.10 

gtk_entry_completion_set_text_column

用于设置此代码的最常用案例的便捷函数:仅含字符串的一个完成列表。

已弃用:4.10 

Methods 继承自 GObject (43)

请参阅 GObject 以了解方法的完整列表。

Methods 继承自 GtkBuildable (1)
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

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 的末尾。如果 expandFALSE,则 cell 分配的空间不超出其需要。所有未使用的空间在 expandTRUE 的单元格中平分。

已弃用:4.10 

gtk_cell_layout_pack_start

cell 打包到 cell_layout 的开头。如果 expandFALSE,则 cell 分配的空间不超出其需要。所有未使用的空间在 expandTRUE 的单元格中平分。

已弃用: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

GtkCellLayoutDataFunc 设置为 cell_layout 使用。

已弃用:4.10 

属性

Gtk.EntryCompletion:cell-area

用于在树视图列中布局单元渲染器的 GtkCellArea

Gtk.EntryCompletion:inline-completion

确定可能自动完成的前缀应否自动插入 entry。

Gtk.EntryCompletion:inline-selection

确定弹出窗口的可能自动完成是否会在您浏览时显示在 entry 中。

Gtk.EntryCompletion:minimum-key-length

为 completion 设置的最小关键字长度。

Gtk.EntryCompletion:model

用作数据 source 的模型。

Gtk.EntryCompletion:popup-completion

确定可能自动完成应否显示在弹出 windows 中。

Gtk.EntryCompletion:popup-set-width

确定补全弹出窗口是否调整为 entry 的宽度。

Gtk.EntryCompletion:popup-single-match

确定对于可能的单一 补全是否显示补全弹出窗口。

Gtk.EntryCompletion:text-column

包含 字符串的模型列。

信号

Gtk.EntryCompletion::cursor-on-match

当游标的匹配位于 列表匹配中时发出。

Gtk.EntryCompletion::insert-prefix

当触发内联自动补全时发出。

Gtk.EntryCompletion::match-selected

当从列表中选中一个匹配项时发出。

Gtk.EntryCompletion::no-matches

当过滤模型在 completion_complete 方法中没有行数时发出。

GObject(1)继承的信号
GObject::notify

当对象的一个属性通过 g_object_set_property()、g_object_set() 等方式设置其值时,会在该对象上发出 notify 信号。