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