Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

YSSCore::Editor::ToolWidgetManager Class

class YSSCore::Editor::ToolWidgetManager

此类管理由插件提供的工具窗口部件. 详情...

头文件: #include <ToolWidgetManager>
自以下版本: YSS 0.15.0

公开成员函数

(自 0.15.0 引入) ~ToolWidgetManager()
(自 0.15.0 引入) QList<QWidget *> getAllOpenToolWidgets() const
(自 0.15.0 引入) QMap<QString, QString> getRegisteredToolWidgets() const
(自 0.15.0 引入) QWidget *getToolWidget(const QString &widgetID)
(自 0.15.0 引入) bool isToolWidgetOpen(const QString &widgetID) const
(自 0.15.0 引入) void openToolWidget(const QString &widgetID)
(自 0.15.0 引入) void registerToolWidget(const QString &widgetID, const QString &widgetName, YSSCore::Editor::EditorPlugin *provider)

信号

(自 0.15.0 引入) void focusRequested(const QString &widgetID)

静态公开成员

(自 0.15.0 引入) YSSCore::Editor::ToolWidgetManager *getInstance()

详细说明

ToolWidgetManager是一个单例类,负责管理由插件提供的工具窗口部件。 插件可以通过registerToolWidget函数注册它们提供的工具窗口部件, YSS编辑器在需要显示工具窗口内容时会调用requestToolWidget 函数来获取对应ID的工具窗口部件实例。

成员函数文档

[noexcept, since 0.15.0] ToolWidgetManager::~ToolWidgetManager()

析构函数

这个function 从 0.15.0 开始支持。

[signal, since 0.15.0] void ToolWidgetManager::focusRequested(const QString &widgetID)

触发此信号,请求前台将具有ID widgetID 的工具窗口部件聚焦。

这个function 从 0.15.0 开始支持。

[since 0.15.0] QList<QWidget *> ToolWidgetManager::getAllOpenToolWidgets() const

return 所有打开的工具窗口部件实例的函数。返回一个QList,包含所有当前打开的工具窗口部件实例。

这个function 从 0.15.0 开始支持。

[static, since 0.15.0] YSSCore::Editor::ToolWidgetManager *ToolWidgetManager::getInstance()

return ToolWidgetManager实例的静态函数

这个function 从 0.15.0 开始支持。

[since 0.15.0] QMap<QString, QString> ToolWidgetManager::getRegisteredToolWidgets() const

return 已注册工具窗口信息的函数。返回一个QMap,键是工具窗口ID,值是工具窗口显示名称。

注意,返回的显示名称是设置时的原始字符串,未经过翻译处理。如有需要, 调用者可以使用VI18N函数进行翻译。

这个function 从 0.15.0 开始支持。

[since 0.15.0] QWidget *ToolWidgetManager::getToolWidget(const QString &widgetID)

return 工具窗口部件实例的函数。widgetID 是被获取的工具窗口ID。 如果对应ID的工具窗口实例存在则返回该实例;否则返回nullptr。

这个function 从 0.15.0 开始支持。

[since 0.15.0] bool ToolWidgetManager::isToolWidgetOpen(const QString &widgetID) const

检查工具窗口是否打开的函数。 widgetID 是被检查的工具窗口ID。

return 如果对应ID的工具窗口实例存在则返回true;否则返回false。

这个function 从 0.15.0 开始支持。

[since 0.15.0] void ToolWidgetManager::openToolWidget(const QString &widgetID)

请求工具窗口部件实例的函数。widgetID 是被请求的工具窗口ID。

当请求一个工具窗口时,ToolWidgetManager会首先检查是否已经存在对应ID的工具窗口实例, 如果存在则直接返回该实例;否则会检查是否有插件提供了对应ID的工具窗口, 如果有则调用插件的onToolWidgetRequested函数来获取工具窗口实例,

如果插件返回了一个有效的QWidget指针,则ToolWidgetManager会将其保存并返回; 如果没有插件提供或者插件返回了nullptr,则返回nullptr。

这个function 从 0.15.0 开始支持。

[since 0.15.0] void ToolWidgetManager::registerToolWidget(const QString &widgetID, const QString &widgetName, YSSCore::Editor::EditorPlugin *provider)

注册工具窗口部件的函数。widgetID 是工具窗口的唯一ID, widgetName 是工具窗口的显示名称,provider 是提供此工具窗口的插件。

当后来者的ID重复时,将被直接忽略。

这个function 从 0.15.0 开始支持。