Extending Qt Creator Manual | IEditorFactory

Extending Qt Creator Manual 4.12.4

# IEditorFactory Class

(Core::IEditorFactory)

The IEditorFactory class creates suitable editors for documents according to their MIME type. More...

Header: | #include <IEditorFactory>
Inherits: | QObject

- List of all members, including inherited members

## Public Functions

Core::IEditor * | createEditor() const
QString | displayName() const
Core::Id | id() const
QStringList | mimeTypes() const

## Static Public Members

const Core::EditorFactoryList | defaultEditorFactories(const Utils::MimeType &mimeType)
const Core::EditorFactoryList | preferredEditorFactories(const QString &fileName)

## Protected Functions

void | addMimeType(const QString &mimeType)
void | setDisplayName(const QString &displayName)
void | setEditorCreator(const std::function<IEditor *()> &creator)
void | setId(Core::Id id)
void | setMimeTypes(const QStringList &mimeTypes)

## Detailed Description

Whenever a user wants to edit or create a document, the EditorManager scans all IEditorFactory interfaces for suitable editors. The selected IEditorFactory is then asked to create an editor.

Guidelines for the implementation:

- displayName() is used as a user visible description of the editor type that is created. For example, the name displayed in the Open With menu.
- If duplication is supported (IEditor::duplicateSupported()), you need to ensure that all duplicates return the same document().

See also Core::IEditor and Core::EditorManager.

## Member Function Documentation

### `[protected]` void IEditorFactory::addMimeType(const QString &mimeType)

Adds mimeType to the list of MIME types supported by this editor type.

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

Creates an editor.

Either override this in a subclass, or set the function to use for creating an editor instance with setEditorCreator().

### `[static]` const Core::EditorFactoryList IEditorFactory::defaultEditorFactories(const Utils::MimeType &mimeType)

Returns all available editors for this mimeType in the default order (editors ordered by MIME type hierarchy).

### QString IEditorFactory::displayName() const

Returns a user-visible description of the editor type.

See also setDisplayName().

### Core::Id IEditorFactory::id() const

Returns the ID of the factory or editor type.

See also setId().

### QStringList IEditorFactory::mimeTypes() const

Returns a list of MIME types that the editor supports.

See also setMimeTypes().

### `[static]` const Core::EditorFactoryList IEditorFactory::preferredEditorFactories(const QString &fileName)

Returns the available editors for fileName in order of preference. That is the default order for the document's MIME type but with a user overridden default editor first, and if the document is a too large text file, with the binary editor as the very first.

### `[protected]` void IEditorFactory::setDisplayName(const QString &displayName)

Sets the displayName of the factory or editor type.

See also displayName().

### `[protected]` void IEditorFactory::setEditorCreator(const std::function<IEditor *()> &creator)

Sets the function that is used to create an editor instance in createEditor() by default to creator.

### `[protected]` void IEditorFactory::setId(Core::Id id)

Sets the id of the factory or editor type.

See also id().

### `[protected]` void IEditorFactory::setMimeTypes(const QStringList &mimeTypes)

Sets the MIME types supported by the editor to mimeTypes.

See also mimeTypes().