KTextEditor::Plugin

KTextEditor::Plugin Class Referenceabstract

#include <KTextEditor/Plugin>

Inheritance diagram for KTextEditor::Plugin:

Public Member Functions

 Plugin (QObject *parent)
 
virtual ~Plugin ()
 
virtual ConfigPageconfigPage (int number, QWidget *parent)
 
virtual int configPages () const
 
virtual QObjectcreateView (KTextEditor::MainWindow *mainWindow)=0
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

KTextEditor Plugin interface.

Topics:

Introduction

The Plugin class provides methods to create loadable plugins for the KTextEditor framework. The Plugin class itself a function createView() that is called for each MainWindow. In createView(), the plugin is responsible to create tool views through MainWindow::createToolView(), hook itself into the menus and toolbars through KXMLGuiClient, and attach itself to Views or Documents.

Plugin Config Pages

If your plugin needs config pages, override the functions configPages() and configPage() in your plugin as follows:

class MyPlugin : public KTextEditor::Plugin
{
public:
// ...
int configPages() const override;
ConfigPage *configPage(int number, QWidget *parent) override;
};

The host application will call configPage() for each config page.

Session Management

As an extension a Plugin can implement the SessionConfigInterface. This interface provides functions to read and write session related settings. If you have session dependent data additionally derive your Plugin from this interface and implement the session related functions, for example:

See also
KTextEditor::SessionConfigInterface, KTextEditor::ConfigPage, KTextEditor::MainWindow
Author
Christoph Cullmann <cullm[email protected][email protected][email protected]kde.o[email protected]rg>

Definition at line 78 of file plugin.h.

Constructor & Destructor Documentation

Plugin::Plugin ( QObject parent)

Constructor.

Create a new application plugin.

Parameters
parentparent object

Definition at line 191 of file ktexteditor.cpp.

Plugin::~Plugin ( )
virtual

Virtual destructor.

Definition at line 197 of file ktexteditor.cpp.

Member Function Documentation

ConfigPage * Plugin::configPage ( int  number,
QWidget parent 
)
virtual

Get the config page with the number, config pages from 0 to configPages()-1 are available if configPages() > 0.

Parameters
numberindex of config page
parentparent widget for config page
Returns
created config page or NULL, if the number is out of bounds, default implementation returns NULL
See also
configPages()

Definition at line 206 of file ktexteditor.cpp.

int Plugin::configPages ( ) const
virtual

Get the number of available config pages.

If a number < 1 is returned, it does not support config pages.

Returns
number of config pages, default implementation says 0
See also
configPage()

Definition at line 201 of file ktexteditor.cpp.

virtual QObject* KTextEditor::Plugin::createView ( KTextEditor::MainWindow mainWindow)
pure virtual

Create a new View for this plugin for the given KTextEditor::MainWindow.

This may be called arbitrary often by the application to create as much views as MainWindows exist. The application will take care to delete a view whenever a MainWindow is closed, so you do not need to handle deletion of the view yourself in the plugin.

Note
Session configuration: The host application will try to cast the returned QObject with qobject_cast into the SessionConfigInterface. This way, not only your Plugin, but also each Plugin view can have session related settings.
Parameters
mainWindowthe MainWindow for which a view should be created
Returns
the new created view or NULL
See also
SessionConfigInterface

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Sep 20 2020 22:57:21 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.