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

KParts

KParts::ComponentFactory

KParts::ComponentFactory Namespace Reference

Namespace for KParts components. More...


Enumerations

enum  ComponentLoadingError {
  ErrNoServiceFound = 1, ErrServiceProvidesNoLibrary, ErrNoLibrary, ErrNoFactory,
  ErrNoComponent
}

Functions

template<class T >
static T * createInstanceFromFactory (KLibFactory *factory, QObject *parent=0, const char *name=0, const QStringList &args=QStringList())
template<class T >
static T * createInstanceFromLibrary (const char *libraryName, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T >
static T * createInstanceFromQuery (const QString &serviceType, const QString &constraint=QString::null, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T >
static T * createInstanceFromService (const KService::Ptr &service, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T , class ServiceIterator >
static T * createInstanceFromServices (ServiceIterator begin, ServiceIterator end, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T >
static T * createPartInstanceFromFactory (KParts::Factory *factory, QWidget *parentWidget=0, const char *widgetName=0, QObject *parent=0, const char *name=0, const QStringList &args=QStringList())
template<class T >
static T * createPartInstanceFromLibrary (const char *libraryName, QWidget *parentWidget=0, const char *widgetName=0, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T >
static T * createPartInstanceFromQuery (const QString &serviceType, const QString &constraint, QWidget *parentWidget=0, const char *widgetName=0, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T >
static T * createPartInstanceFromService (const KService::Ptr &service, QWidget *parentWidget=0, const char *widgetName=0, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)
template<class T , class ServiceIterator >
static T * createPartInstanceFromServices (ServiceIterator begin, ServiceIterator end, QWidget *parentWidget=0, const char *widgetName=0, QObject *parent=0, const char *name=0, const QStringList &args=QStringList(), int *error=0)

Detailed Description

Namespace for KParts components.


Enumeration Type Documentation

enum KParts::ComponentFactory::ComponentLoadingError

This enum type defines the possible error cases that can happen when loading a component.

  • ErrNoServiceFound - no service implementing the given mimetype and fullfilling the given constraint expression can be found.
  • ErrServiceProvidesNoLibrary - the specified service provides no shared library
  • ErrNoLibrary - the specified library could not be loaded. Use KLibLoader::lastErrorMessage for details.
  • ErrNoFactory - the library does not export a factory for creating components
  • ErrNoComponent - the factory does not support creating components of the specified type
Enumerator:
ErrNoServiceFound 
ErrServiceProvidesNoLibrary 
ErrNoLibrary 
ErrNoFactory 
ErrNoComponent 

Definition at line 37 of file componentfactory.h.


Function Documentation

template<class T >
static T* KParts::ComponentFactory::createInstanceFromFactory ( KLibFactory *  factory,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList() 
) [inline, static]

This template function allows to ask the given factory to create an instance of the given template type.

Example of usage:

     MyPlugin *plugin = KParts::ComponentFactory::createInstanceFromFactory<MyPlugin>( factory, parent );

Parameters:
factory The factory to ask for the creation of the component
parent The parent object (see QObject constructor)
name The name of the object to create (see QObject constructor)
args A list of string arguments, passed to the factory and possibly to the component (see KLibFactory)
Returns:
A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.

Definition at line 61 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createInstanceFromLibrary ( const char *  libraryName,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

This template allows to load the specified library and ask the factory to create an instance of the given template type.

Parameters:
libraryName The library to open
parent The parent object (see QObject constructor)
name The name of the object to create (see QObject constructor)
args A list of string arguments, passed to the factory and possibly to the component (see KLibFactory)
error 
Returns:
A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.

Definition at line 127 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createInstanceFromQuery ( const QString &  serviceType,
const QString &  constraint = QString::null,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

This method creates and returns a plugin, from the trader query for a given serviceType.

Example:

 KMyAppPlugin* plugin = KParts::ComponentFactory::createInstanceFromQuery<KMyAppPlugin>( serviceType, QString::null, parentObject );
 if ( plugin ) {
     ....
 }

Parameters:
serviceType the type of service for which to find a plugin
constraint an optional constraint to pass to the trader (see KIO::KTrader)
parent the parent object for the part itself
name the name that will be given to the part
args A list of string arguments, passed to the factory and possibly to the component (see KLibFactory)
error The int passed here will receive an error code in case of errors. (See enum ComponentLoadingError)
Returns:
A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.

Definition at line 321 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createInstanceFromService ( const KService::Ptr &  service,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

Definition at line 201 of file componentfactory.h.

template<class T , class ServiceIterator >
static T* KParts::ComponentFactory::createInstanceFromServices ( ServiceIterator  begin,
ServiceIterator  end,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

Definition at line 241 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createPartInstanceFromFactory ( KParts::Factory *  factory,
QWidget *  parentWidget = 0,
const char *  widgetName = 0,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList() 
) [inline, static]

This template function allows to ask the given kparts factory to create an instance of the given template type.

Example of usage:

     KViewPart *doc = KParts::ComponentFactory::createPartInstanceFromFactory<KViewPart>( factory, parent );

Parameters:
factory The factory to ask for the creation of the component
parentWidget the parent widget for the part
widgetName the name of the part's widget
parent The parent object (see QObject constructor)
name The name of the object to create (see QObject constructor)
args A list of string arguments, passed to the factory and possibly to the component (see KLibFactory)
Returns:
A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.

Definition at line 95 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createPartInstanceFromLibrary ( const char *  libraryName,
QWidget *  parentWidget = 0,
const char *  widgetName = 0,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

Definition at line 158 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createPartInstanceFromQuery ( const QString &  serviceType,
const QString &  constraint,
QWidget *  parentWidget = 0,
const char *  widgetName = 0,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

This method creates and returns a KParts part from a serviceType (e.g.

a mimetype).

You can use this method to create a generic viewer - that can display any kind of file, provided that there is a ReadOnlyPart installed for it - in 5 lines:

 // Given the following: KURL url, QWidget* parentWidget and QObject* parentObject.
 QString mimetype = KMimeType::findByURL( url )->name();
 KParts::ReadOnlyPart* part = KParts::ComponentFactory::createPartInstanceFromQuery<KParts::ReadOnlyPart>( mimetype, QString::null, parentWidget, 0, parentObject, 0 );
 if ( part ) {
     part->openURL( url );
     part->widget()->show();  // also insert the widget into a layout, or simply use a QVBox as parentWidget
 }

Parameters:
serviceType the type of service for which to find a part, e.g. a mimetype
constraint an optional constraint to pass to the trader (see KTrader)
parentWidget the parent widget, will be set as the parent of the part's widget
widgetName the name that will be given to the part's widget
parent the parent object for the part itself
name the name that will be given to the part
args A list of string arguments, passed to the factory and possibly to the component (see KLibFactory)
error The int passed here will receive an error code in case of errors. (See enum ComponentLoadingError)
Returns:
A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.

Definition at line 370 of file componentfactory.h.

template<class T >
static T* KParts::ComponentFactory::createPartInstanceFromService ( const KService::Ptr &  service,
QWidget *  parentWidget = 0,
const char *  widgetName = 0,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

Definition at line 220 of file componentfactory.h.

template<class T , class ServiceIterator >
static T* KParts::ComponentFactory::createPartInstanceFromServices ( ServiceIterator  begin,
ServiceIterator  end,
QWidget *  parentWidget = 0,
const char *  widgetName = 0,
QObject *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList(),
int *  error = 0 
) [inline, static]

Definition at line 268 of file componentfactory.h.

KParts

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

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
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