IEditorFactory 类

class 核心::IEditorFactory

IEditorFactory 类根据文档的 MIME 类型创建合适的编辑器。 更多信息...

头文件 #include <coreplugin/editormanager/ieditorfactory.h>

公开函数

Core::IEditor *createEditor() const
QStringdisplayName() const
Utils::Idid() const
QStringListmimeTypes() const
boolstartEditor(const Utils::FilePath &filePath, QString *errorMessage)

静态公开成员

const Core::EditorFactoriesallEditorFactories()
const Core::EditorFactoriesdefaultEditorFactories(const Utils::MimeType &mimeType)
const Core::EditorFactoriespreferredEditorFactories(const Utils::FilePath &filePath)

受保护的函数

IEditorFactory()
voidaddMimeType(const QString &mimeType)
voidsetDisplayName(const QString &displayName)
voidsetEditorCreator(const std::function<IEditor *()> &creator)
voidsetEditorStarter(const std::function<bool (const Utils::FilePath &, QString *)> &starter)
voidsetId(Utils::Id id)
voidsetMimeTypes(const QStringList &mimeTypes)

详细信息

当用户想要编辑或创建文档时,编辑器管理器会扫描所有 IEditorFactory 实例以查找合适的编辑器,并选择一个来创建编辑器。

实现应该在使用IEditorFactory::setId(),IEditorFactory::setDisplayName(),IEditorFactory::setMimeTypes()和IEditorFactory::setEditorCreator()在该子类构造函数中设置 IEditorFactory 的属性。

IEditorFactory 实例在其构造函数中自动在 Qt Creator 中注册自己。

有两种类型的编辑器:内部和外部。内部编辑器在 Qt Creator 的主编辑区域打开。IEditorFactory 实例使用setEditorCreator() 函数定义一个内部编辑器。外部编辑器是外部应用程序,并使用setEditorStarter() 函数定义。用户可以从 打开方式 对话框访问它们。

另请参阅 Core::IEditorCore::IDocumentCore::EditorManager

成员函数文档

[保护] IEditorFactory::IEditorFactory()

创建一个 IEditorFactory。

在 Qt Creator 中注册 IEditorFactory。

[受保护] void IEditorFactory::addMimeType(const QString &mimeType)

mimeType添加到由本编辑器类型支持的MIME类型列表中。

另请参阅 mimeTypes()和setMimeTypes()。

[静态] const Core::EditorFactories IEditorFactory::allEditorFactories()

返回所有已注册的内部和外部编辑器。

Core::IEditor *IEditorFactory::createEditor() const

创建一个内部编辑器。

使用与setEditorCreator()设置的函数创建编辑器。

另请参阅 setEditorCreator()。

[静态] const Core::EditorFactories IEditorFactory::defaultEditorFactories(const Utils::MimeType &mimeType)

按照默认顺序返回所有可用的内部和外部编辑器,其中编辑器类型按MIME类型层次结构排序,内部编辑器优先。

QString IEditorFactory::displayName() const

返回编辑器类型的可见描述。

另请参阅 setDisplayName()。

Utils::Id IEditorFactory::id() const

返回编辑器文档类型的ID。

另请参阅 setId()。

QStringList IEditorFactory::mimeTypes() const

返回此编辑器类型支持的MIME类型列表。

另请参阅 addMimeType()和setMimeTypes()。

[静态] const Core::EditorFactories IEditorFactory::preferredEditorFactories(const Utils::FilePath &filePath)

返回filePath的可用编辑器工厂,按优先级排序。这是文档MIME类型的默认顺序,但首先使用用户覆盖的默认编辑器,如果是文本文档太大无法作为文本文件打开,则二进制编辑器将是第一个条目。

[受保护] void IEditorFactory::setDisplayName(const QString &displayName)

设置编辑器类型的displayName。例如,在打开方式菜单和MIME类型首选项中显示。

另请参阅 displayName()。

[受保护] void IEditorFactory::setEditorCreator(const std::function<IEditor *()> &creator)

将用于在createEditor()中创建编辑器实例的函数设置为creator

这与setEditorStarter()的使用互斥。

另请参阅 createEditor().

[受保护] void IEditorFactory::setEditorStarter(const std::function<bool (const Utils::FilePath &, QString *)> &starter)

设置用于打开给定 FilePath 的文件的函数为 starter.

成功时函数应返回 true,或在失败时返回 false 并将 QString 设置为错误信息。

此选项与使用 setEditorCreator() 互斥。

[受保护] void IEditorFactory::setId(Utils::Id id)

设置编辑器文档类型的 id。这必须与创建的编辑器返回的文档的 IDocument::id() 相同。

另请参阅 id().

[受保护] void IEditorFactory::setMimeTypes(const QStringList &mimeTypes)

设置编辑器类型支持的 MIME 类型为 mimeTypes.

另请参阅 addMimeType() 和 mimeTypes().

bool IEditorFactory::startEditor(const Utils::FilePath &filePath, QString *errorMessage)

在外部编辑器中打开位于 filePath 的文件。

成功时返回 true 或在失败时返回 false,并在 errorMessage 中包含错误。

另请参阅 setEditorStarter().

©2024 The Qt Company Ltd. 本文档中的贡献包含各自所有者的版权。提供的文档根据 GNU 自由文档许可版 1.3 许可使用,由自由软件基金会发布。Qt 及相关标志是芬兰和/或全世界 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。