KParts::GenericFactory
#include <genericfactory.h>

Public Member Functions | |
virtual KParts::Part * | createPartObject (QWidget *parentWidget, QObject *parent, const char *className, const QStringList &args) |
![]() | |
KComponentData | partComponentData () override |
![]() | |
Factory (QObject *parent=nullptr) | |
Part * | createPart (QWidget *parentWidget=nullptr, QObject *parent=nullptr, const char *classname="KParts::Part", const QStringList &args=QStringList()) |
![]() | |
T * | create (const QString &keyword, QObject *parent=nullptr, const QVariantList &args=QVariantList()) |
T * | create (QObject *parent, const QStringList &args) |
QObject * | create (QObject *parent=nullptr, const char *classname="QObject", const QStringList &args=QStringList()) |
T * | create (QObject *parent=nullptr, const QVariantList &args=QVariantList()) |
T * | create (QWidget *parentWidget, QObject *parent, const QString &keyword, const QVariantList &args=QVariantList()) |
T * | create (QWidget *parentWidget, QObject *parent, const QVariantList &args={}) |
KPluginMetaData | metaData () const |
void | setMetaData (const KPluginMetaData &metaData) |
![]() | |
QObject (QObject *parent) | |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () |
void | dumpObjectInfo () const const |
void | dumpObjectTree () |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_DISABLE_COPY (Class) | |
Q_DISABLE_COPY_MOVE (Class) | |
Q_DISABLE_MOVE (Class) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
QThread * | thread () const const |
Additional Inherited Members | |
![]() | |
enum | ResultErrorReason |
![]() | |
objectName | |
![]() | |
static K4AboutData * | aboutData () |
static const KComponentData & | componentData () |
![]() | |
static KComponentData | partComponentDataFromLibrary (const QString &libraryName) |
![]() | |
static Result< T > | instantiatePlugin (const KPluginMetaData &data, QObject *parent=nullptr, const QVariantList &args={}) |
static Result< KPluginFactory > | loadFactory (const KPluginMetaData &data) |
static QVariantList | stringListToVariantList (const QStringList &list) |
static QStringList | variantListToStringList (const QVariantList &list) |
![]() | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
![]() | |
typedef | QObjectList |
![]() | |
typedef QObject *(* | CreateInstanceFunction) (QWidget *, QObject *, const QVariantList &) |
typedef QObject *(*)(QWidget *, QObject *, const KPluginMetaData &, const QVariantList & | CreateInstanceWithMetaDataFunction) |
![]() | |
virtual KComponentData * | createComponentData () |
![]() | |
QObject * | createObject (QObject *parent=nullptr, const char *classname="QObject", const QStringList &args=QStringList()) override |
![]() | |
virtual QObject * | create (const char *iface, QWidget *parentWidget, QObject *parent, const QVariantList &args, const QString &keyword) |
void | registerPlugin () |
void | registerPlugin () |
void | registerPlugin (const QString &keyword) |
void | registerPlugin (const QString &keyword) |
void | registerPlugin (const QString &keyword, CreateInstanceFunction instanceFunction) |
void | registerPlugin (const QString &keyword, CreateInstanceWithMetaDataFunction instanceFunction) |
void | registerPlugin (CreateInstanceWithMetaDataFunction instanceFunction) |
![]() | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
template<class T>
class KParts::GenericFactory< T >
A template for a KParts::Factory implementation.
It implements the pure virtual createPartObject method by instantiating the template argument when requested through the className field. In addition it is a container for a part's KComponentData object, by providing a static KComponentData componentData() method.
The template argument has to inherit from KParts::Part and has to implement two methods: 1) There needs to be a public constructor with the following signature: MyPart( QWidget *parentWidget, QObject *parent, const QStringList& args )
2) It needs to provide one static method to create a K4AboutData object per request, holding information about the component's name, its authors, license, etc. The signature of that static method has to be K4AboutData *createAboutData()
The template will take care of memory management of the KComponentData and the K4AboutData object, meaning ownership of what createAboutData returns is passed to the caller (this template) .
For advanced use you can also inherit from the template and re-implement additionally the virtual KComponentData createComponentData() method, for example in case you want to extend the paths of your instance's KStandardDirs object.
If a KParts::ReadOnlyPart is requested through this factory and the template argument implements a KParts::ReadWritePart then setReadWrite( false ) will automatically be called in createPartObject.
Use the factory through the K_EXPORT_COMPONENT_FACTORY macro, like that:
yourlibrary is the library name that you compiled your KPart into.
Definition at line 107 of file genericfactory.h.
Member Function Documentation
◆ createPartObject()
|
inlinevirtual |
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
- Returns
- the newly created part.
Implements KParts::Factory.
Definition at line 112 of file genericfactory.h.
The documentation for this class was generated from the following file:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Nov 28 2023 03:56:30 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.