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

PartBase Class Reference

from PyKDE4.kparts import *

Inherits: KXMLGUIClient
Subclasses: KParts.MainWindow, KParts.Part
Namespace: KParts

Detailed Description

Base class for all parts.


Enumerations

PluginLoadingMode { DoNotLoadPlugins, LoadPlugins, LoadPluginsIfEnabled }

Methods

 __init__ (self)
 __init__ (self, KParts.PartBase a0)
 loadPlugins (self, QObject parent, KXMLGUIClient parentGUIClient, KComponentData componentData)
QObject partObject (self)
 setComponentData (self, KComponentData componentData)
 setComponentData (self, KComponentData componentData, bool loadPlugins)
 setPartObject (self, QObject object)
 setPluginInterfaceVersion (self, int version)

Method Documentation

__init__ (   self )

Constructor.

__init__ (  self,
KParts.PartBase  a0
)

Constructor.

loadPlugins (  self,
QObject  parent,
KXMLGUIClient  parentGUIClient,
KComponentData  componentData
)

Load the Plugins honoring the PluginLoadingMode.

If you call this method in an already constructed GUI (like when the user has changed which plugins are enabled) you need to add the new plugins to the KXMLGUIFactory:

 if( factory() )
 {
   QList<KParts.Plugin *> plugins = KParts.Plugin.pluginObjects( this );
   for(int i = 0; i != plugins.size(); ++i) {
      factory()->addClient( plugins[i] );
   }
 }

QObject partObject (   self )
setComponentData (  self,
KComponentData  componentData
)

Set the componentData(KComponentData) for this part.

Call this *first* in the inherited class constructor, because it loads the i18n catalogs.

It is recommended to call setComponentData with loadPlugins set to false, and to load plugins at the end of your part constructor (in the case of KParts.MainWindow, plugins are automatically loaded in createGUI anyway, so set loadPlugins to false for KParts.MainWindow as well).

setComponentData (  self,
KComponentData  componentData,
bool  loadPlugins
)

Set the componentData(KComponentData) for this part.

Call this *first* in the inherited class constructor, because it loads the i18n catalogs.

It is recommended to call setComponentData with loadPlugins set to false, and to load plugins at the end of your part constructor (in the case of KParts.MainWindow, plugins are automatically loaded in createGUI anyway, so set loadPlugins to false for KParts.MainWindow as well).

setPartObject (  self,
QObject  object
)

Internal method. Called by KParts.Part to specify the parent object for plugin objects.

Internal:

setPluginInterfaceVersion (  self,
int  version
)

If you change the binary interface offered by your part, you can avoid crashes from old plugins lying around by setting X-KDE-InterfaceVersion=2 in the .desktop files of the plugins, and calling setPluginInterfaceVersion( 2 ), so that the old plugins are not loaded. Increase both numbers every time a binary incompatible change in the application's plugin interface is made.

Parameters:
version  the interface version that plugins must have in order to be loaded.

For a KParts.Part: call this before setComponentData. For a KParts.MainWindow: call this before createGUI.


Enumeration Documentation

PluginLoadingMode

We have three different policies, whether to load new plugins or not. The value in the KConfig object of the KComponentData object always overrides LoadPlugins and LoadPluginsIfEnabled.

Enumerator:
DoNotLoadPlugins = 0
LoadPlugins = 1
LoadPluginsIfEnabled = 2

  • 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