KDE 4.2 PyKDE API Reference

- KDE's Python API

# PartBase Class Reference

`from PyKDE4.kparts import *`

Inherits: KXMLGUIClient
Namespace: KParts

## Detailed Description

Base class for all parts.

## Enumerations

PluginLoadingMode | { DoNotLoadPlugins, LoadPlugins, LoadPluginsIfEnabled }

## Methods

| __init__ (self)
| __init__ (self, PartBasePrivate dd)
| __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)
| setPluginLoadingMode (self, KParts.PartBase.PluginLoadingMode loadingMode)

## Method Documentation

__init__ | ( |  | self ) |

Constructor.

__init__ | ( | self, |
|  | PartBasePrivate | dd
| ) |  |  |

__init__ | ( | self, |
|  | KParts.PartBase | a0
| ) |  |  |

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.

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.

setPluginLoadingMode | ( | self, |
|  | KParts.PartBase.PluginLoadingMode | loadingMode
| ) |  |  |

Set how plugins should be loaded

Parameters:

  | loadingMode | see PluginLoadingMode

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

## Enumeration Documentation

PluginLoadingMode

Don't load any plugins at all.

Enumerator:

  DoNotLoadPlugins = 0 |
  LoadPlugins = 1 |
  LoadPluginsIfEnabled = 2 |