KDE 4.9 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

Plugin Class Reference

from PyKDE4.ktexteditor import *

Inherits: QObject
Namespace: KTextEditor

Detailed Description

KTextEditor Plugin interface.

Topics: - plugin_intro - plugin_config - plugin_sessions - plugin_arch

Introduction

The Plugin class provides methods to create loadable plugins for all KTextEditor implementations. A plugin can handle several documents and views. For every document the plugin should handle addDocument() is called and for every view addView().

Configuration Management

To do: write docu about config pages (new with kpluginmanager) To do: write docu about save/load settings (related to 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,
                  public KTextEditor.SessionConfigInterface
 {
   Q_OBJECT
   Q_INTERFACES(KTextEditor.SessionConfigInterface)

   // ...
   virtual void readSessionConfig (const KConfigGroup& config);
   virtual void writeSessionConfig (KConfigGroup& config);
 };

Plugin Architecture

After the plugin is loaded the editor implementation should call addDocument() and addView() for all documents and views the plugin should handle. If your plugin has a GUI it is common to add an extra class, like:

 class PluginView : public QObject, public KXMLGUIClient
 {
     Q_OBJECT
 public:
     // Constructor and other methods
     PluginView( KTextEditor.View* view )
       : QObject( view ), KXMLGUIClient( view ), m_view( view )
     { ... }
     // ...
 private:
     KTextEditor.View* m_view;
 };
Your KTextEditor.Plugin derived class then will create a new PluginView for every View, i.e. for every call of addView().

The method removeView() will be called whenever a View is removed/closed. If you have a PluginView for every view this is the place to remove it.

See also:
KTextEditor.Editor, KTextEditor.Document, KTextEditor.View, KTextEditor.SessionConfigInterface
Author:
Christoph Cullmann <cullmann@kde.org>


Methods

 __init__ (self, QObject parent)
 addDocument (self, KTextEditor.Document document)
 addView (self, KTextEditor.View view)
 removeDocument (self, KTextEditor.Document document)
 removeView (self, KTextEditor.View view)

Method Documentation

__init__ (  self,
QObject  parent
)

Constructor.

Create a new plugin.

Parameters:
parent  parent object

addDocument (  self,
KTextEditor.Document  document
)

Add a new document to the plugin. This method is called whenever the plugin should handle another document.

For every call of addDocument() will finally follow a call of removeDocument(), i.e. the number of calls are identic.

Parameters:
document  new document to handle

See also:
removeDocument(), addView()

addView (  self,
KTextEditor.View  view
)

This method is called whenever the plugin should add its GUI to view. The process for the Editor can be roughly described as follows: - add documents the plugin should handle via addDocument() - for every document doc call addView() for every view for doc.

For every call of addView() will finally follow a call of removeView(), i.e. the number of calls are identic.

Note:
As addView() is called for every view in which the plugin's GUI should be visible you must not add the GUI by iterating over all Document.views() yourself neither use the signal Document.viewCreated().

Parameters:
view  view to hang the gui in

See also:
removeView(), addDocument()

removeDocument (  self,
KTextEditor.Document  document
)

Remove the document from the plugin. This method is called whenever the plugin should stop handling the document.

For every call of addDocument() will finally follow a call of removeDocument(), i.e. the number of calls are identic.

Parameters:
document  document to hang the gui out from

See also:
addDocument(), removeView()

removeView (  self,
KTextEditor.View  view
)

This method is called whenever the plugin should remove its GUI from view.

For every call of addView() will finally follow a call of removeView(), i.e. the number of calls are identic.

Parameters:
view  view to hang the gui out from

See also:
addView(), removeDocument()

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal