YSSCore::Editor::EditorPlugin Class
class YSSCore::Editor::EditorPlugin此类为Yayin Story Studio提供插件基类. 详情...
| 头文件: | #include <EditorPlugin> |
| 自以下版本: | YSSCore 0.13.0 |
| 继承自: | Visindigo::General::Plugin |
公开成员函数
(自 YSS 0.13.0 引入) | EditorPlugin(Visindigo::General::Version apiVersion = Compiled_VIAPI_Version, Visindigo::General::Version abiVersion = Compiled_VIABI_Version, QObject *parent = nullptr) |
(自 YSS 0.13.0 引入) virtual | ~EditorPlugin() |
(自 YSS 0.13.0 引入) virtual void | onProjectClose(YSSCore::General::YSSProject *project) |
(自 YSS 0.13.0 引入) virtual void | onProjectOpen(YSSCore::General::YSSProject *project) |
(自 YSSCore 0.15.0 引入) virtual QWidget * | onToolWidgetRequested(const QString &widgetID) |
受保护成员函数
(自 YSS 0.15.0 引入) YSSCore::General::YSSProject * | getCurrentProject() |
(自 YSS 0.13.0 引入) void | registerDebugServer(YSSCore::Editor::DebugServer *server) |
(自 YSS 0.13.0 引入) void | registerFileServer(YSSCore::Editor::FileServer *server) |
(自 YSS 0.13.0 引入) void | registerFileTemplateProvider(YSSCore::Editor::FileTemplateProvider *provider) |
(自 YSS 0.13.0 引入) void | registerProjectTemplateProvider(YSSCore::Editor::ProjectTemplateProvider *provider) |
(自 YSS 0.15.0 引入) void | registerToolWidget(const QString &widgetID, const QString &widgetName) |
详细说明
EditorPlugin是所有YSS编辑器插件的基类。除非只需要提供标准Visindigo插件功能, 否则您应该从此类派生来开发您的插件。
这类的用法和Visindigo::General::Plugin类似,但提供了更多与YSS编辑器交互的功能。
成员函数文档
[since YSS 0.13.0] EditorPlugin::EditorPlugin(Visindigo::General::Version apiVersion = Compiled_VIAPI_Version, Visindigo::General::Version abiVersion = Compiled_VIABI_Version, QObject *parent = nullptr)
apiVersion 插件的API版本 abiVersion 插件的ABI版本 parent 插件的父对象
对于abiVersion,其已经在头文件中被默认填充为Compiled_YSSABI_Version,代表您的插件编译时YSS对应的ABI版本。 在派生此类时,不需要实际传递任何参数。
Warning: 请注意,abiVersion并不是插件的版本号,也不是YSS的程序版本。它是YSS的二进制兼容版本。
这个function 从 YSS 0.13.0 开始支持。
[virtual noexcept, since YSS 0.13.0] EditorPlugin::~EditorPlugin()
析构函数
这个function 从 YSS 0.13.0 开始支持。
[protected, since YSS 0.15.0] YSSCore::General::YSSProject *EditorPlugin::getCurrentProject()
return 当前打开的项目。
实际上,这个函数就是YSSProject::getCurrentProject的本类便捷写法。
这个function 从 YSS 0.15.0 开始支持。
[virtual, since YSS 0.13.0] void EditorPlugin::onProjectClose(YSSCore::General::YSSProject *project)
project 关闭的项目对象
关闭项目时调用此虚函数。参数project是被关闭的项目对象。
这个function 从 YSS 0.13.0 开始支持。
[virtual, since YSS 0.13.0] void EditorPlugin::onProjectOpen(YSSCore::General::YSSProject *project)
project 打开的项目对象
打开项目时调用此虚函数。参数project是被打开的项目对象。
这个function 从 YSS 0.13.0 开始支持。
[virtual, since YSSCore 0.15.0] QWidget *EditorPlugin::onToolWidgetRequested(const QString &widgetID)
widgetID 工具窗口ID
YSS需要请求显示工具窗口内容时调用此函数。参数widgetID是被请求的工具窗口ID。 如果插件提供了对应ID的工具窗口内容,则返回一个QWidget指针;否则返回nullptr。
这个窗口一旦创建,所有权归YSS前台所有,插件不需要也不应该管理它的生命周期。 YSS会确保每次请求同一个工具窗口ID时,如果窗口仍然存活,则直接返回现有的实例; 如果窗口已经被关闭销毁,则再次调用此函数请求新的实例。因此,这个函数每次被调用时, 上一次请求所返回的指针已经被正确销毁了,因此插件不需要担心重复创建工具窗口的问题。
此外,这个窗口不应该中途移除Qt::WA_DeleteOnClose属性,YSS使用此属性来辅助管理工具窗口的生命周期。
另请参见YSSCore::Editor::ToolWidgetManager。
这个function 从 YSSCore 0.15.0 开始支持。
[protected, since YSS 0.13.0] void EditorPlugin::registerDebugServer(YSSCore::Editor::DebugServer *server)
server 调试服务器
注册调试服务器。
这个function 从 YSS 0.13.0 开始支持。
[protected, since YSS 0.13.0] void EditorPlugin::registerFileServer(YSSCore::Editor::FileServer *server)
server 文件服务器
注册文件服务器。
这个function 从 YSS 0.13.0 开始支持。
[protected, since YSS 0.13.0] void EditorPlugin::registerFileTemplateProvider(YSSCore::Editor::FileTemplateProvider *provider)
provider 文件模板提供者
注册文件模板提供者。
这个function 从 YSS 0.13.0 开始支持。
[protected, since YSS 0.13.0] void EditorPlugin::registerProjectTemplateProvider(YSSCore::Editor::ProjectTemplateProvider *provider)
provider 项目模板提供者
注册项目模板提供者。
这个function 从 YSS 0.13.0 开始支持。
[protected, since YSS 0.15.0] void EditorPlugin::registerToolWidget(const QString &widgetID, const QString &widgetName)
widgetID 工具窗口ID widgetName 工具窗口名称
注册工具窗口。工具窗口是YSS编辑器中可以停靠的窗口,插件可以通过onToolWidgetRequested()提供工具窗口的内容。
工具窗口的ID必须全程序唯一,一般建议使用反向域命名法。 widgetName 是支持VI18N的字符串,用于直接显示在界面上。
另请参见YSSCore::Editor::ToolWidgetManager。
这个function 从 YSS 0.15.0 开始支持。