KParts
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
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
Definition at line 37 of file componentfactory.h.
Function Documentation
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.