结构
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