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

YSSCore::Editor::ProjectTemplateInitWidget Class

class YSSCore::Editor::ProjectTemplateInitWidget

ProjectTemplateInitWidget是一个QFrame,作为ProjectTemplateProvider的初始化界面. 详情...

头文件: #include <ProjectTemplateInitWidget>
自以下版本: YSS 0.13.0

公开成员函数

(自 YSS 0.13.0 引入) ProjectTemplateInitWidget(QWidget *parent = nullptr)

信号

(自 YSS 0.13.0 引入) void projectPrepared(QString projectPath)

详细说明

ProjectTemplateInitWidget是一个QFrame,作为ProjectTemplateProvider的初始化界面。 当用户选择某个项目模板来创建项目时,编辑器会调用该模板的projectInitWidget函数, return 一个ProjectTemplateInitWidget实例,并将其显示在界面上。用户可以在这个界面上进行一些必要的配置(如项目名称、保存路径等), 然后点击“创建”按钮来完成项目的创建过程。

请注意,为了与YSS解耦,这个类设计上并未采用要求用户必须创建持续存活YSSCore::General::YSSProject实例 并在初始化完毕后将其传递给编辑器的方式来完成项目创建。

相反,你可以在这个页面上收集到足够的信息之后自由的根据需要创建项目文件夹、生成必要的配置文件等, 最后通过projectPrepared信号,将项目路径即yssp文件的路径)推送出去,编辑器会监测这个信号, 并使用标准的从磁盘打开项目的流程来打开这个新项目。这种设计也使得YSS可以拥有统一的项目加载流程, 而不需要担心不同模板的创建流程可能会导致的兼容性问题。

因此,如果你在这个类内利用了YSSCore::General::YSSProject来创建项目实例(如果没有特别特别的 需求,通常也推荐使用这个类进行初始化操作),请确保你的YSSProject实例能与此类一同销毁。

至于此类的生命周期,编辑器会在显示它之前通过QWidget::setAttribute将其设置为关闭时自动销毁。

如果你认为根据用户的输入,无法创建项目, 那么只需要不发出任何信号即可。用户直接关闭 此页面会被编辑器视为取消创建操作,不会有任何后续操作发生。

成员函数文档

[since YSS 0.13.0] ProjectTemplateInitWidget::ProjectTemplateInitWidget(QWidget *parent = nullptr)

parent 父组件

构造函数

这个function 从 YSS 0.13.0 开始支持。

[signal, since YSS 0.13.0] void ProjectTemplateInitWidget::projectPrepared(QString projectPath)

projectPath 项目路径,即yssp文件的路径。

当项目准备就绪时(如用户点击了“创建”按钮,并且项目文件已经生成),你应该发出这个信号,并将项目路径(即yssp文件的路径)作为参数传递出去。

这个function 从 YSS 0.13.0 开始支持。