YSSCore::Editor::TabCompleterItem Class
class YSSCore::Editor::TabCompleterItem代表TabCompleter中的一个补全项. 详情...
| 头文件: | #include <TabCompleterItem> |
| 自以下版本: | YSS 0.13.0 |
公开类型
(自 YSS 0.16.0 引入) enum | CompleterLevel { None, Few, Some, Many, All } |
(自 YSS 0.16.0 引入) enum | CompleterPriority { Low, Medium, High, Top } |
(自 YSS 0.13.0 引入) enum | ItemType { Default, Value, Const, Enum, Function, …, AllType } |
| flags | ItemTypes |
公开成员函数
(自 YSS 0.13.0 引入) | TabCompleterItem() |
(自 YSS 0.16.0 引入) | TabCompleterItem(QString text, QString content, QString description = "", YSSCore::Editor::TabCompleterItem::ItemType type = ItemType::Default, bool alignment = true, YSSCore::Editor::TabCompleterItem::CompleterLevel level = CompleterLevel::Some, YSSCore::Editor::TabCompleterItem::CompleterPriority priority = CompleterPriority::Low) |
(自 YSS 0.13.0 引入) | TabCompleterItem(const YSSCore::Editor::TabCompleterItem &other) |
(自 YSS 0.13.0 引入) | TabCompleterItem(YSSCore::Editor::TabCompleterItem &&other) |
(自 YSS 0.13.0 引入) | ~TabCompleterItem() |
(自 YSS 0.16.0 引入) YSSCore::Editor::TabCompleterItem::CompleterLevel | getCompleterLevel() const |
(自 YSS 0.16.0 引入) YSSCore::Editor::TabCompleterItem::CompleterPriority | getCompleterPriority() const |
(自 YSS 0.13.0 引入) QString | getContent() const |
(自 YSS 0.13.0 引入) QString | getDescription() const |
(自 YSS 0.13.0 引入) QString | getIconPath() const |
(自 YSS 0.13.0 引入) QString | getText() const |
(自 YSS 0.13.0 引入) YSSCore::Editor::TabCompleterItem::ItemType | getType() const |
(自 YSS 0.13.0 引入) bool | isAlignment() const |
(自 YSS 0.16.0 引入) void | setCompleterLevel(YSSCore::Editor::TabCompleterItem::CompleterLevel level) |
(自 YSS 0.16.0 引入) void | setCompleterPriority(YSSCore::Editor::TabCompleterItem::CompleterPriority priority) |
(自 YSS 0.13.0 引入) void | setContent(const QString &content) |
(自 YSS 0.13.0 引入) void | setDescription(const QString &description) |
(自 YSS 0.13.0 引入) void | setIconPath(const QString &iconPath) |
(自 YSS 0.13.0 引入) void | setText(const QString &text) |
(自 YSS 0.13.0 引入) void | setType(YSSCore::Editor::TabCompleterItem::ItemType type, bool redirectIcon = true) |
(自 YSS 0.13.0 引入) YSSCore::Editor::TabCompleterItem & | operator=(YSSCore::Editor::TabCompleterItem &&other) |
(自 YSS 0.13.0 引入) YSSCore::Editor::TabCompleterItem & | operator=(const YSSCore::Editor::TabCompleterItem &other) |
静态公开成员
(自 YSS 0.16.0 引入) QString | getTypeIconPath(YSSCore::Editor::TabCompleterItem::ItemType type) |
详细说明
这类是个数据类,代表一个补全项,包含了补全项的文本、描述、内容、类型等信息。
Warning: 这类从0.16.0开始因为增加了CompleterLevel和CompleterPriority两个属性,修改了构造函数, 因此ABI与此前不兼容。
成员类型文档
[since YSS 0.16.0] enum TabCompleterItem::CompleterLevel
补全对象的详细度可见级别。值得指出的是,这个详细度可见级别是针对YSS的用户而言的, 当YSS用户将补全详细度可见级别调整为Some时,则只有Few和Some级别的补全项会被显示, Many和All级别的补全项会被隐藏。也就是说,越重要的补全项反而应设置越低的级别, 以便用户在Few级别时也能看到他们。
默认的详细度可见级别是Some,以便大部分不愿意区分细节的实现不需要额外的设置,又 不至于让重要的补全项被隐藏。但仍然建议根据补全项的重要程度合理设置这个级别, 以便用户能够根据自己的需求调整显示的补全项数量。
| Constant | Value | Description |
|---|---|---|
YSSCore::Editor::TabCompleterItem::None | -1 | 不显示任何提示,这个值仅供在YSSCore::Editor::TextEdit::setCompleterLevel()中使用,代表不显示任何补全项。 在TabCompleterItem中设置此值,自动视为Few。 |
YSSCore::Editor::TabCompleterItem::Few | 0 | 低详细度可见级别,代表非常重要的补全项,应该在所有级别都显示。 |
YSSCore::Editor::TabCompleterItem::Some | 1 | 中等详细度可见级别,代表重要的补全项,应该在Some及以上级别显示。 |
YSSCore::Editor::TabCompleterItem::Many | 2 | 高详细度可见级别,代表一般的补全项,应该在Many及以上级别显示。 |
YSSCore::Editor::TabCompleterItem::All | 3 | 最高详细度可见级别,代表不太重要的补全项,应该只在All级别显示。 |
可见级别不影响排序。此外,根据YSSCore目前的实现,可见度为Few级别的项目, 在最终显示出来之前,显示内容的前面会被加上一个★符号,以突出它的重要程度。
这个enum 从 YSS 0.16.0 开始支持。
[since YSS 0.16.0] enum TabCompleterItem::CompleterPriority
补全项的优先级。优先级越高的补全项会排在越前面。具有相同级别的补全项会 根据它们被添加到TabCompleterProvider的顺序进行排序,先添加的排在前面。
默认的优先级是Low,以便大部分不需要区分优先级的实现不会冲撞那些确实有 优先级需求的实现。但仍然建议根据补全项的重要程度合理设置这个优先级, 以便用户能够更快地找到重要的补全项。
| Constant | Value | Description |
|---|---|---|
YSSCore::Editor::TabCompleterItem::Low | 0 | 低优先级,代表不太重要的补全项,应该排在后面。 |
YSSCore::Editor::TabCompleterItem::Medium | 1 | 中等优先级,代表一般的补全项,应该排在中间。 |
YSSCore::Editor::TabCompleterItem::High | 2 | 高优先级,代表重要的补全项,应该排在前面。 |
YSSCore::Editor::TabCompleterItem::Top | 3 | 最高优先级,代表非常重要的补全项,应该排在最前面。 |
这个enum 从 YSS 0.16.0 开始支持。
[since YSS 0.13.0] enum TabCompleterItem::ItemType
flags TabCompleterItem::ItemTypes
补全项目的类型。这个类型主要用于区分不同类型的补全项,以便在显示时使用不同的图标或样式。 除此之外,也在YSSCore::Editor::TextEdit::setCompleterFilter()中使用这个类型来过滤显示的补全项。
| Constant | Value | Description |
|---|---|---|
YSSCore::Editor::TabCompleterItem::Default | 0x0001 | 默认类型,图标为默认图标。 |
YSSCore::Editor::TabCompleterItem::Value | 0x0002 | 代表一个值,图标为值图标。 |
YSSCore::Editor::TabCompleterItem::Const | 0x0004 | 代表一个常量,图标为常量图标。 |
YSSCore::Editor::TabCompleterItem::Enum | 0x0008 | 代表一个枚举,图标为枚举图标。 |
YSSCore::Editor::TabCompleterItem::Function | 0x0010 | 代表一个函数,图标为函数图标。 |
YSSCore::Editor::TabCompleterItem::Object | 0x0020 | 代表一个对象,图标为对象图标。 |
YSSCore::Editor::TabCompleterItem::Operator | 0x0040 | 代表一个操作符,图标为操作符图标。 |
YSSCore::Editor::TabCompleterItem::UserDefined | 0x10000 | 代表一个用户自定义类型,从这个类型之后留作用户自行设置。 |
YSSCore::Editor::TabCompleterItem::AllType | 0xFFFFFFFF | 代表所有类型,主要用于在设置过滤时囊括全部的类型,不与特定图标相对。 |
这个enum 从 YSS 0.13.0 开始支持。
ItemTypes 类型是 QFlags<ItemType> 的一个类型别名。它存储了多个 ItemType 值的OR组合,可供安全计算。
成员函数文档
[since YSS 0.13.0] TabCompleterItem::TabCompleterItem()
默认构造函数。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.16.0] TabCompleterItem::TabCompleterItem(QString text, QString content, QString description = "", YSSCore::Editor::TabCompleterItem::ItemType type = ItemType::Default, bool alignment = true, YSSCore::Editor::TabCompleterItem::CompleterLevel level = CompleterLevel::Some, YSSCore::Editor::TabCompleterItem::CompleterPriority priority = CompleterPriority::Low)
构造函数,接受补全项的文本、内容、描述、类型和对齐方式。 text 补全项的文本,用于显示在补全列表里。 content 补全项的内容,通常是插入到编辑器中的文本。 description 补全项的描述,通常用于显示在补全列表中。 type 补全项的类型,用于区分不同类型的补全项。 alignment 是否对齐补全项,默认为true。 level 补全项的详细度可见级别,默认为Low。 priority 补全项的优先级,默认为Low。
对齐是个特殊概念,意味着当TextEdit尝试使用content插入到编辑器中时,如果alignment为true,则会自动 从光标所在位置向前检查,查看content的内容中是否有一些内容已经存在,如果存在就忽略重复性内容, 只补全剩余部分。比如content是"System.out.println",当alignment为true时,如果光标前已经有"System.",则只会补全"out.println"。
为false时,则不进行对齐,直接插入content的全部内容。一般来说应该使用true。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.13.0] TabCompleterItem::TabCompleterItem(const YSSCore::Editor::TabCompleterItem &other)
other 另一个TabCompleterItem对象。
复制构造函数。
这个function 从 YSS 0.13.0 开始支持。
[noexcept, since YSS 0.13.0] TabCompleterItem::TabCompleterItem(YSSCore::Editor::TabCompleterItem &&other)
other 另一个TabCompleterItem对象。
移动构造函数。
这个function 从 YSS 0.13.0 开始支持。
[noexcept, since YSS 0.13.0] TabCompleterItem::~TabCompleterItem()
析构函数。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.16.0] YSSCore::Editor::TabCompleterItem::CompleterLevel TabCompleterItem::getCompleterLevel() const
return 补全项的详细度可见级别。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.16.0] YSSCore::Editor::TabCompleterItem::CompleterPriority TabCompleterItem::getCompleterPriority() const
return 补全项的优先级。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.13.0] QString TabCompleterItem::getContent() const
return 补全项的内容。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] QString TabCompleterItem::getDescription() const
return 补全项的描述。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] QString TabCompleterItem::getIconPath() const
return 补全项的图标路径。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] QString TabCompleterItem::getText() const
return 补全项的文本。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] YSSCore::Editor::TabCompleterItem::ItemType TabCompleterItem::getType() const
return 补全项的类型。
这个function 从 YSS 0.13.0 开始支持。
[static, since YSS 0.16.0] QString TabCompleterItem::getTypeIconPath(YSSCore::Editor::TabCompleterItem::ItemType type)
type 补全项的类型。
返回YSS自带的默认类型对应图标的路径。对于用户自定义类型,返回空字符串。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.13.0] bool TabCompleterItem::isAlignment() const
return 补全项是否对齐。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.16.0] void TabCompleterItem::setCompleterLevel(YSSCore::Editor::TabCompleterItem::CompleterLevel level)
level 补全项的详细度可见级别。 设置补全项的详细度可见级别。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.16.0] void TabCompleterItem::setCompleterPriority(YSSCore::Editor::TabCompleterItem::CompleterPriority priority)
priority 补全项的优先级。 设置补全项的优先级。
这个function 从 YSS 0.16.0 开始支持。
[since YSS 0.13.0] void TabCompleterItem::setContent(const QString &content)
content 补全项的内容。
设置补全项的内容。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] void TabCompleterItem::setDescription(const QString &description)
description 补全项的描述。
设置补全项的描述。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] void TabCompleterItem::setIconPath(const QString &iconPath)
iconPath 补全项的图标路径。
设置补全项的图标路径。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] void TabCompleterItem::setText(const QString &text)
text 补全项的文本。
设置补全项的文本。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] void TabCompleterItem::setType(YSSCore::Editor::TabCompleterItem::ItemType type, bool redirectIcon = true)
type 补全项的类型。 redirectIcon 是否根据类型自动设置图标路径,默认为true。
设置补全项的类型。
这个function 从 YSS 0.13.0 开始支持。
[noexcept, since YSS 0.13.0] YSSCore::Editor::TabCompleterItem &TabCompleterItem::operator=(YSSCore::Editor::TabCompleterItem &&other)
other 另一个TabCompleterItem对象。
移动赋值运算符。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] YSSCore::Editor::TabCompleterItem &TabCompleterItem::operator=(const YSSCore::Editor::TabCompleterItem &other)
other 另一个TabCompleterItem对象。
复制赋值运算符。
这个function 从 YSS 0.13.0 开始支持。