结构
GLibCompletion
已弃用: 2.26
描述 [src]
struct GCompletion {
GList* items;
GCompletionFunc func;
gchar* prefix;
GList* cache;
GCompletionStrncmpFunc strncmp_func;
}
GCompletion
使用任何一组目标字符串提供自动字符串补全支持。它通常用于文件名补全,这在许多 UNIX shell 中很常见。
使用 g_completion_new()
创建 GCompletion
。使用 g_completion_add_items()
、g_completion_remove_items()
和 g_completion_clear_items()
添加和删除目标项目。使用 g_completion_complete()
或 g_completion_complete_utf8()
请求补全尝试。如果不再需要,则使用 g_completion_free()
释放 GCompletion
。
补全中的项目可以是简单的字符串(例如文件名),也可以指向任意数据结构的指针。如果使用数据结构,则必须在 g_completion_new()
中提供 GCompletionFunc
,用于从数据结构中检索项目的字符串。您可以通过在 g_completion_set_compare()
中设置不同的 GCompletionStrncmpFunc
来更改比较字符串的方式。
GCompletion
已标记为已弃用,因为此 API 很少使用且不十分积极地 维护。
结构成员
items
目标项(字符串或数据 结构)列表。
func
用于获取与目标项关联的字符串的函数。如果目标项为 字符串,则为
NULL
。prefix
传递给
g_completion_complete()
或 g_completion_complete_utf8() 的最后一个前缀。cache
以
prefix
开头的项目列表。strncmp_func
比较字符串时要使用的函数。使用
g_completion_set_compare()
修改此 函数。
自版本 2.26 起弃用。
很少使用的 API。
实例方法
g_completion_complete_utf8
尝试使用 GCompletion
目标项目完成字符串 prefix
。与 g_completion_complete() 相反,此函数会返回作为有效 UTF-8 字符串的最长公共前缀,忽略可能的共同部分 字符。
已弃用: 2.26 自版本: 2.4
g_completion_remove_items
从 GCompletion
中移除项目。不会释放项目,所以如果动态分配内存,那么在调用此函数后使用 g_list_free_full()
释放 items
。
已弃用: 2.26