namespace ComponentFactory

# namespace ComponentFactory |
Full name | `KParts::ComponentFactory`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

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

#### Public Static Methods

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

## Detailed Description

enum ComponentLoadingError { ErrNoServiceFound = 1, ErrServiceProvidesNoLibrary, ErrNoLibrary, ErrNoFactory, ErrNoComponent } | ### 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

template T * createInstanceFromFactory ( KLibFactory *factory, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList() ) | ### createInstanceFromFactory

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

template T * createPartInstanceFromFactory ( KParts::Factory *factory, QWidget *parentWidget = 0, const char *widgetName = 0, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList() ) | ### createPartInstanceFromFactory

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

template T * createInstanceFromLibrary ( const char *libraryName, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList(), int *error = 0 ) | ### createInstanceFromLibrary

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

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.

template 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 ) | ### createPartInstanceFromLibrary

[static]

template T * createInstanceFromService ( const KService::Ptr &service, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList(), int *error = 0 ) | ### createInstanceFromService

[static]

template 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 ) | ### createPartInstanceFromService

[static]

template T * createInstanceFromServices ( ServiceIterator begin, ServiceIterator end, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList(), int *error = 0 ) | ### createInstanceFromServices

[static]

template 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 ) | ### createPartInstanceFromServices

[static]

template T * createInstanceFromQuery ( const QString &serviceType, const QString &constraint = QString::null, QObject *parent = 0, const char *name = 0, const QStringList &args = QStringList(), int *error = 0 ) | ### createInstanceFromQuery

[static]

template 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 ) | ### createPartInstanceFromQuery

[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 optionnal 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.

Generated by: root on macppc.ports.openbsd.org on Sat Sep 6 10:37:24 2003, using kdoc 2.0a54.