• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KParts

KParts::PartBase

KParts::PartBase Class Reference

#include <part.h>

Inheritance diagram for KParts::PartBase:

Inheritance graph
[legend]

List of all members.


Detailed Description

Base class for all parts.

Definition at line 64 of file part.h.


Public Member Functions

 PartBase ()
QObject * partObject () const
void setPartObject (QObject *object)
virtual ~PartBase ()

Protected Types

enum  PluginLoadingMode { DoNotLoadPlugins = 0, LoadPlugins = 1, LoadPluginsIfEnabled = 2 }

Protected Member Functions

void loadPlugins (QObject *parent, KXMLGUIClient *parentGUIClient, const KComponentData &componentData)
 PartBase (PartBasePrivate &dd)
virtual void setComponentData (const KComponentData &componentData, bool loadPlugins)
virtual void setComponentData (const KComponentData &componentData)
void setPluginInterfaceVersion (int version)
void setPluginLoadingMode (PluginLoadingMode loadingMode)

Protected Attributes

PartBasePrivate * d_ptr

Member Enumeration Documentation

enum KParts::PartBase::PluginLoadingMode [protected]

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  Don't load any plugins at all.
LoadPlugins  Load new plugins automatically.

Can be overridden by the plugin if it sets EnabledByDefault=false in the corresponding .desktop file.

LoadPluginsIfEnabled  New plugins are disabled by default.

Can be overridden by the plugin if it sets EnabledByDefault=true in the corresponding .desktop file.

Definition at line 119 of file part.h.


Constructor & Destructor Documentation

PartBase::PartBase (  ) 

Constructor.

Definition at line 108 of file part.cpp.

PartBase::~PartBase (  )  [virtual]

Destructor.

Definition at line 118 of file part.cpp.

PartBase::PartBase ( PartBasePrivate &  dd  )  [protected]

Definition at line 113 of file part.cpp.


Member Function Documentation

void PartBase::loadPlugins ( QObject *  parent,
KXMLGUIClient *  parentGUIClient,
const KComponentData &  componentData 
) [protected]

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] );
   }
 }

Definition at line 156 of file part.cpp.

QObject * PartBase::partObject (  )  const

Definition at line 130 of file part.cpp.

void PartBase::setComponentData ( const KComponentData &  componentData,
bool  loadPlugins 
) [protected, virtual]

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).

Definition at line 142 of file part.cpp.

void PartBase::setComponentData ( const KComponentData &  componentData  )  [protected, virtual]

Set the componentData(KComponentData) for this part.

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

Reimplemented from KXMLGUIClient.

Definition at line 137 of file part.cpp.

void PartBase::setPartObject ( QObject *  object  ) 

Internal method.

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

Definition at line 123 of file part.cpp.

void KParts::PartBase::setPluginInterfaceVersion ( int  version  )  [protected]

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.

Definition at line 171 of file part.cpp.

void PartBase::setPluginLoadingMode ( PluginLoadingMode  loadingMode  )  [protected]

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.

Definition at line 164 of file part.cpp.


Member Data Documentation

PartBasePrivate* KParts::PartBase::d_ptr [protected]

Definition at line 184 of file part.h.


The documentation for this class was generated from the following files:
  • part.h
  • part.cpp

KParts

Skip menu "KParts"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal