BaseFileWizardFactory 类
类 Core::BaseFileWizardFactoryBaseFileWizardFactory 类实现了用于创建文件的通用向导。 更多...
头文件 | #include <coreplugin/basefilewizardfactory.h> |
继承自 | Core::IWizardFactory |
静态公共成员
Utils::FilePath | buildFileName(const Utils::FilePath &path, const QString &baseName, const QString &extension) |
受保护函数
virtual Core::BaseFileWizard * | create(QWidget *parent, const Core::WizardDialogParameters ¶meters) const = 0 |
virtual Core::GeneratedFiles | generateFiles(const QWizard *w, QString *errorMessage) const = 0 |
virtual bool | postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage) const |
virtual bool | writeFiles(const Core::GeneratedFiles &files, QString *errorMessage) const |
静态受保护成员
bool | postGenerateOpenEditors(const Core::GeneratedFiles &l, QString *errorMessage = nullptr) |
QString | preferredSuffix(const QString &mimeType) |
Core::BaseFileWizardFactory::OverwriteResult | promptOverwrite(Core::GeneratedFiles *files, QString *errorMessage) |
详细描述
以下抽象函数必须实现
- create(): 调用以创建要显示的 QWizard 对话框。
- generateFiles(): 生成文件内容。
可以通过覆盖虚拟函数 postGenerateFiles 进一步自定义行为,该函数在生成文件后调用。
注意: 建议不要使用此类,而是创建基于 JSON 的向导,具体做法请参照 添加新自定义向导 相关说明。
另请参阅:Core::GeneratedFile,Core::WizardDialogParameters 和 Core::BaseFileWizard。
成员函数文档
[静态]
Utils::FilePath BaseFileWizardFactory::buildFileName(const Utils::FilePath &path, const QString &baseName, const QString &extension)
构建一个包含 path、(除非 baseName 已经包含)添加 extension 的文件名。
[纯虚受保护]
Core::BaseFileWizard *BaseFileWizardFactory::create(QWidget *parent, const Core::WizardDialogParameters ¶meters) const
在parent上使用parameters创建向导。
[纯虚受保护]
Core::GeneratedFiles BaseFileWizardFactory::generateFiles(const QWizard *w, QString *errorMessage) const
重写以从向导w查询参数并生成文件。
可能错误保留在errorMessage中。
注意:这不会生成物理文件,而只是Core::GeneratedFile的列表。
[虚受保护]
bool BaseFileWizardFactory::postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage) const
重写以执行由向导w在l指定的文件实际上创建后要执行的操作。
默认实现打开具有GeneratedFile::OpenEditorAttribute设置的编辑器。
如果发生错误,返回errorMessage。
[静态受保护]
bool BaseFileWizardFactory::postGenerateOpenEditors(const Core::GeneratedFiles &l, QString *errorMessage = nullptr)
如果设置GeneratedFile::OpenEditorAttribute属性,则打开文件l的编辑器。
如果无法打开编辑器,返回false
并将errorMessage设置为显示给用户的消息。
[静态受保护]
QString BaseFileWizardFactory::preferredSuffix(const QString &mimeType)
返回mimeType的首选后缀。
[静态受保护]
Core::BaseFileWizardFactory::OverwriteResult BaseFileWizardFactory::promptOverwrite(Core::GeneratedFiles *files, QString *errorMessage)
对一组files执行覆盖检查。检查文件是否存在并且是否可以覆盖,然后向用户显示摘要。
如果无法覆盖文件,返回errorMessage。
[虚受保护]
bool BaseFileWizardFactory::writeFiles(const Core::GeneratedFiles &files, QString *errorMessage) const
物理写入files。
如果文件无法写入,返回false
并将errorMessage设置为显示给用户的消息。
重新实现(调用基类实现)以创建设置了GeneratedFile::CustomGeneratorAttribute设置的文件。
©2024 本文档中包含的Qt公司文档贡献归各自所有者所有版权。提供的文档受自由软件基金会发布的GNU自由文档许可1.3版条款许可。Qt及其相应标志是芬兰及/或其他国家全球的商标。所有其他商标均归各自所有者所有。