结构

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_new

创建新的 GCompletion

已弃用: 2.26 

实例方法

g_completion_add_items

将项目添加到 GCompletion

已弃用: 2.26 

g_completion_clear_items

GCompletion 中删除所有项目。不会释放这些项目,因此如果动态分配了内存,则应在调用此 函数后释放内存。

已弃用: 2.26 

g_completion_complete

尝试使用 GCompletion 目标 项目完成字符串 prefix

已弃用: 2.26 

g_completion_complete_utf8

尝试使用 GCompletion 目标项目完成字符串 prefix。与 g_completion_complete() 相反,此函数会返回作为有效 UTF-8 字符串的最长公共前缀,忽略可能的共同部分 字符。

已弃用: 2.26 自版本: 2.4

g_completion_free

释放 GCompletion 使用的所有内存。不会释放项目,所以如果动态分配内存,那么在调用此函数后应该释放内存。

已弃用: 2.26 

g_completion_remove_items

GCompletion 中移除项目。不会释放项目,所以如果动态分配内存,那么在调用此函数后使用 g_list_free_full() 释放 items

已弃用: 2.26 

g_completion_set_compare

设置用于字符串比较的函数。默认字符串比较函数为 strncmp()。

已弃用: 2.26