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 Member Functions

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

Static Public Member Functions

const KInstancepartInstanceFromLibrary (const QCString &libraryName)

Protected Types

enum  { VIRTUAL_QUERY_INSTANCE_PARAMS = 0x10 }

Protected Member Functions

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
virtual QObjectcreateObject (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.

Definition at line 40 of file factory.h.


Member Enumeration Documentation

anonymous enum [protected]
 

This 'enum' along with the structure below is NOT part of the public API.

It's going to disappear in KDE 4.0 and is likely to change inbetween.

Definition at line 129 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(), and KLibFactory::objectCreated().

Referenced by createObject().

const KInstance * Factory::partInstance  ) 
 

If you have a part contained in a shared library you might want to query for meta-information like the about-data, or the KInstance in general.

If the part is exported using KParts::GenericFactory then this method will return the instance that belongs to the part without the need to instantiate the part component.

Definition at line 50 of file factory.cpp.

References KLibFactory::virtual_hook().

Referenced by partInstanceFromLibrary().

const KInstance * Factory::partInstanceFromLibrary const QCString libraryName  )  [static]
 

A convenience method for partInstance that takes care of retrieving the factory for a given library name and calling partInstance on it.

Parameters:
libraryName name of the library to query the instance from

Definition at line 58 of file factory.cpp.

References KLibrary::factory(), KLibLoader::library(), partInstance(), and KLibLoader::self().

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.

Definition at line 72 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 77 of file factory.cpp.

References createPart().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kparts Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Aug 2 12:25:08 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003