Overview of the Core Interface Design

Overview | Design | Coding Guidelines | Porting to KDE Frameworks 5

The core of the KTextEditor interfaces consists of three main interfaces:

  • KTextEditor::Editor (singleton)
    The Editor is a singleton accessed through KTextEditor::Editor::instance(). This singleton allows to create documents, get a document list, and a be informed when a new document is created.
  • KTextEditor::Document
    The Document interface represents a single document and enables the creation of views, access to and manipulation of document contents, and access to document extension interfaces.
  • KTextEditor::View
    The View provides a widget that displays the contents of a Document, and its interface allows for manipulation of text selection, position of the cursor and mouse, text selections, and behavior of the view. Additionally it provides access to the view extension interfaces.

The hierarchy can be illustrated as follows:

Basic KTextEditor Hierarchy

Notes for KTextEditor Users

To use the KTextEditor framework you first have to get the KTextEditor::Editor singleton through KTextEditor::Editor::instance(). Using this obejct, documents can be created and deleted.

Using KTextEditor as KPart

If linking to KF5::TextEditor is not an option, you can also access the KTextEditor framework as follows

if (service) {
m_part = service->createInstance<KParts::ReadWritePart>(0);

Notes for KTextEditor Developers

The KTextEditor::Editor has a list of all opened documents and can create new documents. A Document's content is visualized by a KTextEditor::View. A Document can have any number of views (or none). When the content of the document is changed, the change is reflected in all views.

See also
KTextEditor::Editor, KTextEditor::Document, KTextEditor::View
Dominik Haumann <dhaum[email protected][email protected][email protected]kde.o[email protected]rg>
static Ptr serviceByDesktopPath(const QString &_path)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Mar 22 2023 03:54:40 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.