KTextEditor::Plugin

Search for usage in LXR

KTextEditor::Plugin Class Referenceabstract

#include <KTextEditor/Plugin>

Inheritance diagram for KTextEditor::Plugin:

Public Member Functions

 Plugin (QObject *parent)
 
 ~Plugin () override
 
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)
 
QBindable< QStringbindableObjectName ()
 
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 () const const
 
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 QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
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_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 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
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, 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 *context, Functor functor, 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)
 
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, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (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
{
Q_OBJECT
public:
// ...
int configPages() const override;
ConfigPage *configPage(int number, QWidget *parent) override;
};
Config page interface for the Editor and Plugins.
Definition configpage.h:44
KTextEditor Plugin interface.
Definition plugin.h:79

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:

class MyPlugin : public KTextEditor::Plugin,
{
Q_OBJECT
public:
// ...
void readSessionConfig (const KConfigGroup& config) override;
void writeSessionConfig (KConfigGroup& config) override;
};
Session config interface extension for the Plugin and Plugin views.
See also
KTextEditor::SessionConfigInterface, KTextEditor::ConfigPage, KTextEditor::MainWindow, Hosting KTextEditor plugins
Author
Christoph Cullmann <cullm.nosp@m.ann@.nosp@m.kde.o.nosp@m.rg>

Definition at line 78 of file plugin.h.

Constructor & Destructor Documentation

◆ Plugin()

Plugin::Plugin ( QObject * parent)

Constructor.

Create a new application plugin.

Parameters
parentparent object

Definition at line 231 of file ktexteditor.cpp.

◆ ~Plugin()

Plugin::~Plugin ( )
overridedefault

Virtual destructor.

Member Function Documentation

◆ configPage()

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 244 of file ktexteditor.cpp.

◆ configPages()

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 239 of file ktexteditor.cpp.

◆ createView()

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-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:15:44 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.