IEditorFactory 类
class 核心::IEditorFactoryIEditorFactory 类根据文档的 MIME 类型创建合适的编辑器。 更多信息...
头文件 | #include <coreplugin/editormanager/ieditorfactory.h> |
公开函数
Core::IEditor * | createEditor() const |
QString | displayName() const |
Utils::Id | id() const |
QStringList | mimeTypes() const |
bool | startEditor(const Utils::FilePath &filePath, QString *errorMessage) |
静态公开成员
const Core::EditorFactories | allEditorFactories() |
const Core::EditorFactories | defaultEditorFactories(const Utils::MimeType &mimeType) |
const Core::EditorFactories | preferredEditorFactories(const Utils::FilePath &filePath) |
受保护的函数
IEditorFactory() | |
void | addMimeType(const QString &mimeType) |
void | setDisplayName(const QString &displayName) |
void | setEditorCreator(const std::function<IEditor *()> &creator) |
void | setEditorStarter(const std::function<bool (const Utils::FilePath &, QString *)> &starter) |
void | setId(Utils::Id id) |
void | setMimeTypes(const QStringList &mimeTypes) |
详细信息
当用户想要编辑或创建文档时,编辑器管理器会扫描所有 IEditorFactory 实例以查找合适的编辑器,并选择一个来创建编辑器。
实现应该在使用IEditorFactory::setId(),IEditorFactory::setDisplayName(),IEditorFactory::setMimeTypes()和IEditorFactory::setEditorCreator()在该子类构造函数中设置 IEditorFactory 的属性。
IEditorFactory 实例在其构造函数中自动在 Qt Creator 中注册自己。
有两种类型的编辑器:内部和外部。内部编辑器在 Qt Creator 的主编辑区域打开。IEditorFactory 实例使用setEditorCreator() 函数定义一个内部编辑器。外部编辑器是外部应用程序,并使用setEditorStarter() 函数定义。用户可以从 打开方式 对话框访问它们。
另请参阅 Core::IEditor,Core::IDocument 和 Core::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 的商标。所有其他商标均为其各自所有者的财产。