跳到正文
Yayin Story Studio Yayin Story Studio 项目文档

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开始因为增加了CompleterLevelCompleterPriority两个属性,修改了构造函数, 因此ABI与此前不兼容。

成员类型文档

[since YSS 0.16.0] enum TabCompleterItem::CompleterLevel

补全对象的详细度可见级别。值得指出的是,这个详细度可见级别是针对YSS的用户而言的, 当YSS用户将补全详细度可见级别调整为Some时,则只有Few和Some级别的补全项会被显示, Many和All级别的补全项会被隐藏。也就是说,越重要的补全项反而应设置越低的级别, 以便用户在Few级别时也能看到他们。

默认的详细度可见级别是Some,以便大部分不愿意区分细节的实现不需要额外的设置,又 不至于让重要的补全项被隐藏。但仍然建议根据补全项的重要程度合理设置这个级别, 以便用户能够根据自己的需求调整显示的补全项数量。

ConstantValueDescription
YSSCore::Editor::TabCompleterItem::None-1不显示任何提示,这个值仅供在YSSCore::Editor::TextEdit::setCompleterLevel()中使用,代表不显示任何补全项。 在TabCompleterItem中设置此值,自动视为Few。
YSSCore::Editor::TabCompleterItem::Few0低详细度可见级别,代表非常重要的补全项,应该在所有级别都显示。
YSSCore::Editor::TabCompleterItem::Some1中等详细度可见级别,代表重要的补全项,应该在Some及以上级别显示。
YSSCore::Editor::TabCompleterItem::Many2高详细度可见级别,代表一般的补全项,应该在Many及以上级别显示。
YSSCore::Editor::TabCompleterItem::All3最高详细度可见级别,代表不太重要的补全项,应该只在All级别显示。

可见级别不影响排序。此外,根据YSSCore目前的实现,可见度为Few级别的项目, 在最终显示出来之前,显示内容的前面会被加上一个★符号,以突出它的重要程度。

这个enum 从 YSS 0.16.0 开始支持。

[since YSS 0.16.0] enum TabCompleterItem::CompleterPriority

补全项的优先级。优先级越高的补全项会排在越前面。具有相同级别的补全项会 根据它们被添加到TabCompleterProvider的顺序进行排序,先添加的排在前面。

默认的优先级是Low,以便大部分不需要区分优先级的实现不会冲撞那些确实有 优先级需求的实现。但仍然建议根据补全项的重要程度合理设置这个优先级, 以便用户能够更快地找到重要的补全项。

ConstantValueDescription
YSSCore::Editor::TabCompleterItem::Low0低优先级,代表不太重要的补全项,应该排在后面。
YSSCore::Editor::TabCompleterItem::Medium1中等优先级,代表一般的补全项,应该排在中间。
YSSCore::Editor::TabCompleterItem::High2高优先级,代表重要的补全项,应该排在前面。
YSSCore::Editor::TabCompleterItem::Top3最高优先级,代表非常重要的补全项,应该排在最前面。

这个enum 从 YSS 0.16.0 开始支持。

[since YSS 0.13.0] enum TabCompleterItem::ItemType
flags TabCompleterItem::ItemTypes

补全项目的类型。这个类型主要用于区分不同类型的补全项,以便在显示时使用不同的图标或样式。 除此之外,也在YSSCore::Editor::TextEdit::setCompleterFilter()中使用这个类型来过滤显示的补全项。

ConstantValueDescription
YSSCore::Editor::TabCompleterItem::Default0x0001默认类型,图标为默认图标。
YSSCore::Editor::TabCompleterItem::Value0x0002代表一个值,图标为值图标。
YSSCore::Editor::TabCompleterItem::Const0x0004代表一个常量,图标为常量图标。
YSSCore::Editor::TabCompleterItem::Enum0x0008代表一个枚举,图标为枚举图标。
YSSCore::Editor::TabCompleterItem::Function0x0010代表一个函数,图标为函数图标。
YSSCore::Editor::TabCompleterItem::Object0x0020代表一个对象,图标为对象图标。
YSSCore::Editor::TabCompleterItem::Operator0x0040代表一个操作符,图标为操作符图标。
YSSCore::Editor::TabCompleterItem::UserDefined0x10000代表一个用户自定义类型,从这个类型之后留作用户自行设置。
YSSCore::Editor::TabCompleterItem::AllType0xFFFFFFFF代表所有类型,主要用于在设置过滤时囊括全部的类型,不与特定图标相对。

这个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 开始支持。