# class Factory | A generic factory object to create a Part. More...
Full name | `KParts::Factory`
Definition | `#include <factory.h>`
Inherits | KLibFactory (kdecore) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- Factory ( QObject *parent = 0, const char *name = 0 )
- virtual ~Factory ()
- virtual Part * createPart ( QWidget *parentWidget = 0, const char *widgetName = 0, QObject *parent = 0, const char *name = 0, const char *classname = "KParts::Part", const QStringList &args = QStringList() )

#### Protected Methods

- virtual Part * createPartObject ( QWidget *parentWidget = 0, const char *widgetName = 0, QObject *parent = 0, const char *name = 0, const char *classname = "KParts::Part", const QStringList &args = QStringList() )
- virtual QObject * createObject ( QObject *parent = 0, const char *name = 0, const char *classname = "QObject", const QStringList &args = QStringList() )

## Detailed Description

A generic factory object to create a Part.

Factory is an abstract class. Reimplement the createPartObject() method to give it functionality.

See also: KLibFactory.

Factory ( QObject *parent = 0, const char *name = 0 ) | ### Factory

~Factory () | ### ~Factory

[virtual]

Part * createPart ( QWidget *parentWidget = 0, const char *widgetName = 0, QObject *parent = 0, const char *name = 0, const char *classname = "KParts::Part", const QStringList &args = QStringList() ) | ### createPart

[virtual]

Creates a part.

The QStringList can be used to pass additional arguments to the part. If the part needs additional arguments, it should take them as name="value" pairs. This is the way additional arguments will get passed to the part from eg. khtml. You can for example emebed the part into HTML by using the following code:

        <object type="my_mimetype" data="url_to_my_data">
            <param name="name1" value="value1">
            <param name="name2" value="value2">
        </object>

This could result in a call to

         createPart( parentWidget, name, parentObject, parentName, "Kparts::Part",
                     QStringList("name1="value1"", "name2="value2") );

Never reimplement this function. Instead, reimplement createPartObject().

createPart() automatically emits a signal objectCreated to tell the library about its newly created object. This is very important for reference counting, and allows unloading the library automatically once all its objects have been destroyed.

This function is virtual for compatibility reasons only.

Returns: the newly created part.

Part * createPartObject ( QWidget *parentWidget = 0, const char *widgetName = 0, QObject *parent = 0, const char *name = 0, const char *classname = "KParts::Part", const QStringList &args = QStringList() ) | ### createPartObject

[protected virtual]

Reimplement this method in your implementation to create the Part.

The QStringList can be used to pass additional arguments to the part. If the part needs additional arguments, it should take them as name="value" pairs. This is the way additional arguments will get passed to the part from eg. khtml. You can for example emebed the part into HTML by using the following code:

        <object type="my_mimetype" data="url_to_my_data">
            <param name="name1" value="value1">
            <param name="name2" value="value2">
        </object>

This could result in a call to

         createPart( parentWidget, name, parentObject, parentName, "Kparts::Part",
                     QStringList("name1="value1"", "name2="value2") );

Returns: the newly created part.

QObject * createObject ( QObject *parent = 0, const char *name = 0, const char *classname = "QObject", const QStringList &args = QStringList() ) | ### createObject

[protected virtual]

Reimplemented from KLibFactory. Calls createPart()

Reimplemented from KLibFactory.

Generated by: root@i386.ports.openbsd.org on Wed Apr 25 13:58:48 2001, using kdoc 2.0a53.