kparts Library API Documentation

KParts::Factory Class Reference

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

#include <factory.h>

Inheritance diagram for KParts::Factory:

KLibFactory QObject List of all members.

Public Methods

PartcreatePart (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 Methods

virtual PartcreatePartObject (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 QObjectcreateObject (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:

    <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.
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(), QObject::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:

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

Implemented in KParts::GenericFactory< T >.

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 QObject::name().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:21:45 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001