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

KParts

KParts::PartBase

KParts::PartBase Class Reference

Base class for all parts. More...

#include <part.h>

Inheritance diagram for KParts::PartBase:
KXMLGUIClient KParts::MainWindow KParts::Part KParts::ReadOnlyPart KParts::ReadWritePart

List of all members.

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

Detailed Description

Base class for all parts.

Definition at line 64 of file part.h.


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 107 of file part.cpp.

PartBase::~PartBase (  )  [virtual]

Destructor.

Definition at line 117 of file part.cpp.

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

Definition at line 112 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 155 of file part.cpp.

QObject * PartBase::partObject (  )  const

Definition at line 129 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 141 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 136 of file part.cpp.

void PartBase::setPartObject ( QObject *  object  ) 

Internal method.

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

For internal use only.

Definition at line 122 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 170 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 163 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
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
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