| # kparts Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KParts::Factory Class Reference

A generic factory object to create a Part. More...

`#include <factory.h>`

Inheritance diagram for KParts::Factory:

[legend]
Collaboration diagram for KParts::Factory:

[legend]
List of all members.

## Public Member Functions
| Factory (QObject *parent=0, const char *name=0)
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())
| Creates a part.
## Protected Member Functions
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())=0
| Reimplement this method in your implementation to create the Part.
virtual QObject * | createObject (QObject *parent=0, const char *name=0, const char *classname="QObject", const QStringList &args=QStringList())
| Reimplemented from KLibFactory.

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

Definition at line 40 of file factory.h.

## Member Function Documentation

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

| 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:

This could result in a call to

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

Returns:
  the newly created part.

createPart() automatically emits a signal KLibFactory::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.

Definition at line 42 of file factory.cpp.

References createPartObject(), KStdAccel::name(), and KLibFactory::objectCreated().

Referenced by createObject().

Part * Factory::createPartObject | ( | QWidget * | parentWidget = 0,
|  | const char * | widgetName = 0,
|  | QObject * | parent = 0,
|  | const char * | name = 0,
|  | const char * | classname = "KParts::Part",
|  | const QStringList & | args = QStringList()
| ) | `[protected, pure 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:
This could result in a call to
         createPart( parentWidget, name, parentObject, parentName, "Kparts::Part",
                     QStringList("name1="value1"", "name2="value2") );
Returns: the newly created part. Definition at line 50 of file factory.cpp. Referenced by createPart().

QObject * Factory::createObject | ( | QObject * | parent = 0,
|  | const char * | name = 0,
|  | const char * | classname = "QObject",
|  | const QStringList & | args = QStringList()
| ) | `[protected, virtual]`

| Reimplemented from KLibFactory. Calls createPart() Implements KLibFactory. Definition at line 55 of file factory.cpp. References createPart(), QObject::isWidgetType(), and KStdAccel::name().

The documentation for this class was generated from the following files:

- factory.h
- factory.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:27:04 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001