KTextEditor
How to use the KTextEditor Interfaces
Overview | Design | Coding Guidelines | Porting to KDE 4 | Using
This HOWTO will explain step by step how to load a KTextEditor component and plug a single View into a KMainWindow.
Tobics:
The Header File
The following class only contains two pointers to a Document and its View.
#include <kxmlguiwindow.h>
namespace KTextEditor
{
class Document;
class View;
}
{
Q_OBJECT
public:
MainWindow();
~MainWindow();
private:
KTextEditor::View *m_view;
KTextEditor::Document *m_document;
};
The Mainwindow Implementation
The following source code queries for a Editor part by using the EditorChooser. If the returned Editor is invalid, we simply quit, otherwise we create a new document and a view and plug it into the mainwindow.
#include "mainwindow.h"
#include <ktexteditor/document.h>
#include <ktexteditor/view.h>
#include <ktexteditor/editor.h>
#include <ktexteditor/editorchooser.h>
#include <kxmlguifactory.h>
#include <kmessagebox.h>
MainWindow::MainWindow ()
: KXmlGuiWindow(),
m_view(0),
m_document(0)
{
KTextEditor::Editor *editor = KTextEditor::EditorChooser::editor();
if (!editor) {
"please check your KDE installation."));
kapp->exit(1);
}
m_document = editor->createDocument(0);
m_view = m_document->createView(this);
setCentralWidget(m_view);
setXMLFile("mainwindowui.rc");
guiFactory()->addClient(m_view);
show ();
}
MainWindow::~MainWindow()
{
if (m_document) {
guiFactory()->removeClient(m_view);
// the document deletes its views itself
delete m_document;
}
}
static void error(QWidget *parent, const QString &text, const QString &caption=QString(), Options options=Notify)
virtual View * createView(QWidget *parent)=0
Create a new view attached to parent.
static KTextEditor::Editor * editor(const QString &postfix=QString(), bool fallBackToKatePart=true)
Static accessor to get the Editor instance of the currently used KTextEditor component.
Definition: editorchooser.cpp:118
virtual Document * createDocument(QObject *parent)=0
Create a new document object with parent.
#define kapp
QString i18n(const char *text)
Notes
In order to compile link against the following libraries:
- ktexteditor
- kdeui
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.