• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KParts

KParts::Factory

KParts::Factory Class Reference

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

#include <factory.h>

Inheritance diagram for KParts::Factory:

Inheritance graph
[legend]

List of all members.


Classes

struct  QueryInstanceParams

Public Member Functions

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())
 Factory (QObject *parent=0, const char *name=0)
const KInstance * partInstance ()
virtual ~Factory ()

Static Public Member Functions

static const KInstance * partInstanceFromLibrary (const QCString &libraryName)

Protected Types

enum  { VIRTUAL_QUERY_INSTANCE_PARAMS = 0x10 }

Protected Member Functions

virtual QObject * createObject (QObject *parent=0, const char *name=0, const char *classname="QObject", const QStringList &args=QStringList())
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

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.

For internal use only.

Enumerator:
VIRTUAL_QUERY_INSTANCE_PARAMS 

Definition at line 129 of file factory.h.


Constructor & Destructor Documentation

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

Definition at line 33 of file factory.cpp.

Factory::~Factory (  )  [virtual]

Definition at line 38 of file factory.cpp.


Member Function Documentation

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.

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

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 >, and KParts::GenericFactory< KTypeList< T1, T2 > >.

Definition at line 72 of file factory.cpp.

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.

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.


The documentation for this class was generated from the following files:
  • factory.h
  • factory.cpp

KParts

Skip menu "KParts"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal