Warning, /frameworks/ktexteditor/docs/design.dox is written in an unsupported language. File is not indexed.

0001 /** \page kte_design Overview of the Core Interface Design
0002 
0003 <p><b>
0004 \ref index "Overview" |
0005 Design |
0006 \ref kte_guidelines "Coding Guidelines" |
0007 \ref kte_port_to_5 "Porting to KDE Frameworks 5"
0008 </b></p>
0009 
0010 The core of the KTextEditor interfaces consists of three main interfaces:
0011 - KTextEditor::Editor (singleton) \n
0012   The Editor is a singleton accessed through KTextEditor::Editor::instance().
0013   This singleton allows to create documents, get a document list, and a be
0014   informed when a new document is created.
0015 - KTextEditor::Document \n
0016   The Document interface represents a single document and enables the creation of
0017   views, access to and manipulation of document contents, and access to document
0018   extension interfaces.
0019 - KTextEditor::View \n
0020   The View provides a widget that displays the contents of a Document, and its
0021   interface allows for manipulation of text selection, position of the cursor and mouse,
0022   text selections, and behavior of the view.  Additionally it provides access to
0023   the view extension interfaces.
0024 
0025 The hierarchy can be illustrated as follows:
0026 \image html ktexteditorhierarchy.png "Basic KTextEditor Hierarchy"
0027 
0028 \section kte_design_user Notes for KTextEditor Users
0029 To use the KTextEditor framework you first have to get the KTextEditor::Editor
0030 singleton through KTextEditor::Editor::instance(). Using this obejct, documents
0031 can be created and deleted.
0032 
0033 \section kte_design_part Using KTextEditor as KPart
0034 If linking to KF5::TextEditor is not an option, you can also access the
0035 KTextEditor framework as follows
0036 \code
0037   KService::Ptr service = KService::serviceByDesktopPath("katepart");
0038   if (service) {
0039       m_part = service->createInstance<KParts::ReadWritePart>(0);
0040   }
0041 \endcode
0042 
0043 \section kte_design_developer Notes for KTextEditor Developers
0044 The KTextEditor::Editor has a list of all opened documents and can create new
0045 documents. A Document's content is visualized by a KTextEditor::View. A Document
0046 can have any number of views (or none). When the content of the document is
0047 changed, the change is reflected in all views.
0048 
0049 \see KTextEditor::Editor, KTextEditor::Document, KTextEditor::View
0050 
0051 \author Dominik Haumann \<dhaumann@kde.org\>
0052 */