a class that stores all required information about a Qt object (and an optional associated C++ class name) More...
#include <PythonQtClassInfo.h>
Classes | |
| struct | ParentClassInfo |
| store information about parent classes More... | |
Public Member Functions | |
| PythonQtClassInfo () | |
| ~PythonQtClassInfo () | |
| void | setupQObject (const QMetaObject *meta) |
| setup as a QObject, taking the meta object as meta information about the QObject | |
| void | setupCPPObject (const QByteArray &classname) |
| setup as a CPP (non-QObject), taking the classname | |
| void | setTypeSlots (int typeSlots) |
| set the type capabilities | |
| int | typeSlots () const |
| get the type capabilities | |
| PythonQtMemberInfo | member (const char *member) |
| get the Python method definition for a given slot name (without return type and signature) | |
| PythonQtSlotInfo * | constructors () |
| get access to the constructor slot (which may be overloaded if there are multiple constructors) | |
| PythonQtSlotInfo * | destructor () |
| get access to the destructor slot | |
| void | addConstructor (PythonQtSlotInfo *info) |
| add a constructor, ownership is passed to classinfo | |
| void | setDestructor (PythonQtSlotInfo *info) |
| set a destructor, ownership is passed to classinfo | |
| void | addDecoratorSlot (PythonQtSlotInfo *info) |
| add a decorator slot, ownership is passed to classinfo | |
| const char * | className () |
| get the classname (either of the QObject or of the wrapped CPP object) | |
| bool | isQObject () |
| returns if the QObject | |
| bool | isCPPWrapper () |
| returns if the class is a CPP wrapper | |
| const QMetaObject * | metaObject () |
| get the meta object | |
| void | setMetaObject (const QMetaObject *meta) |
| set the meta object, this will reset the caching | |
| bool | inherits (const char *classname) |
| returns if this class inherits from the given classname | |
| bool | inherits (PythonQtClassInfo *info) |
| returns if this class inherits from the given classinfo | |
| void * | castTo (void *ptr, const char *classname) |
| QString | help () |
| get help string for the metaobject | |
| QStringList | propertyList () |
| get list of all properties (on QObjects only, otherwise the list is empty) | |
| QStringList | memberList (bool metaOnly=false) |
| get list of all members | |
| int | metaTypeId () |
| get the meta type id of this class (only valid for isCPPWrapper() == true) | |
| void | setDecoratorProvider (PythonQtQObjectCreatorFunctionCB *cb) |
| set an additional decorator provider that offers additional decorator slots for this class | |
| QObject * | decorator () |
| get the decorator qobject instance | |
| void | addParentClass (const ParentClassInfo &info) |
| add the parent class info of a CPP object | |
| bool | hasOwnerMethodButNoOwner (void *object) |
| check if the special method "py_hasOwner" is implemented and if it returns false, which means that the object may be destroyed | |
| void | setPythonQtClassWrapper (PyObject *obj) |
| set the associated PythonQtClassWrapper (which handles instance creation of this type) | |
| PyObject * | pythonQtClassWrapper () |
| get the associated PythonQtClassWrapper (which handles instance creation of this type) | |
| void | setShellSetInstanceWrapperCB (PythonQtShellSetInstanceWrapperCB *cb) |
| set the shell set instance wrapper cb | |
| PythonQtShellSetInstanceWrapperCB * | shellSetInstanceWrapperCB () |
| get the shell set instance wrapper cb | |
| void | addPolymorphicHandler (PythonQtPolymorphicHandlerCB *cb) |
| add a handler for polymorphic downcasting | |
| void * | castDownIfPossible (void *ptr, PythonQtClassInfo **resultClassInfo) |
| cast the pointer down in the class hierarchy if a polymorphic handler allows to do that | |
Static Public Member Functions | |
| static PyObject * | findEnumWrapper (const QByteArray &name, PythonQtClassInfo *localScope, bool *isLocalEnum=NULL) |
| returns if the localScope has an enum of that type name or if the enum contains a :: scope, if that class contails the enum | |
a class that stores all required information about a Qt object (and an optional associated C++ class name)
for fast lookup of slots when calling the object from Python
Definition at line 85 of file PythonQtClassInfo.h.
| PythonQtClassInfo::PythonQtClassInfo | ( | ) |
| PythonQtClassInfo::~PythonQtClassInfo | ( | ) |
| void PythonQtClassInfo::addConstructor | ( | PythonQtSlotInfo * | info | ) |
add a constructor, ownership is passed to classinfo
| void PythonQtClassInfo::addDecoratorSlot | ( | PythonQtSlotInfo * | info | ) |
add a decorator slot, ownership is passed to classinfo
| void PythonQtClassInfo::addParentClass | ( | const ParentClassInfo & | info | ) | [inline] |
add the parent class info of a CPP object
Definition at line 175 of file PythonQtClassInfo.h.
{ _parentClasses.append(info); }
| void PythonQtClassInfo::addPolymorphicHandler | ( | PythonQtPolymorphicHandlerCB * | cb | ) | [inline] |
add a handler for polymorphic downcasting
Definition at line 197 of file PythonQtClassInfo.h.
{ _polymorphicHandlers.append(cb); }
| void* PythonQtClassInfo::castDownIfPossible | ( | void * | ptr, | |
| PythonQtClassInfo ** | resultClassInfo | |||
| ) |
cast the pointer down in the class hierarchy if a polymorphic handler allows to do that
| void* PythonQtClassInfo::castTo | ( | void * | ptr, | |
| const char * | classname | |||
| ) |
casts the given ptr to an object of type classname, returns the new pointer which might be different to ptr due to C++ multiple inheritance (if the cast is not possible or if ptr is NULL, NULL is returned)
| const char* PythonQtClassInfo::className | ( | ) |
get the classname (either of the QObject or of the wrapped CPP object)
| PythonQtSlotInfo* PythonQtClassInfo::constructors | ( | ) |
get access to the constructor slot (which may be overloaded if there are multiple constructors)
| QObject* PythonQtClassInfo::decorator | ( | ) |
get the decorator qobject instance
| PythonQtSlotInfo* PythonQtClassInfo::destructor | ( | ) |
get access to the destructor slot
| static PyObject* PythonQtClassInfo::findEnumWrapper | ( | const QByteArray & | name, | |
| PythonQtClassInfo * | localScope, | |||
| bool * | isLocalEnum = NULL | |||
| ) | [static] |
returns if the localScope has an enum of that type name or if the enum contains a :: scope, if that class contails the enum
| bool PythonQtClassInfo::hasOwnerMethodButNoOwner | ( | void * | object | ) |
check if the special method "py_hasOwner" is implemented and if it returns false, which means that the object may be destroyed
| QString PythonQtClassInfo::help | ( | ) |
get help string for the metaobject
| bool PythonQtClassInfo::inherits | ( | PythonQtClassInfo * | info | ) |
returns if this class inherits from the given classinfo
| bool PythonQtClassInfo::inherits | ( | const char * | classname | ) |
returns if this class inherits from the given classname
| bool PythonQtClassInfo::isCPPWrapper | ( | ) | [inline] |
returns if the class is a CPP wrapper
Definition at line 137 of file PythonQtClassInfo.h.
{ return !_isQObject; }
| bool PythonQtClassInfo::isQObject | ( | ) | [inline] |
| PythonQtMemberInfo PythonQtClassInfo::member | ( | const char * | member | ) |
get the Python method definition for a given slot name (without return type and signature)
| QStringList PythonQtClassInfo::memberList | ( | bool | metaOnly = false |
) |
get list of all members
| const QMetaObject* PythonQtClassInfo::metaObject | ( | ) | [inline] |
| int PythonQtClassInfo::metaTypeId | ( | ) | [inline] |
get the meta type id of this class (only valid for isCPPWrapper() == true)
Definition at line 166 of file PythonQtClassInfo.h.
{ return _metaTypeId; }
| QStringList PythonQtClassInfo::propertyList | ( | ) |
get list of all properties (on QObjects only, otherwise the list is empty)
| PyObject* PythonQtClassInfo::pythonQtClassWrapper | ( | ) | [inline] |
get the associated PythonQtClassWrapper (which handles instance creation of this type)
Definition at line 184 of file PythonQtClassInfo.h.
{ return _pythonQtClassWrapper; }
| void PythonQtClassInfo::setDecoratorProvider | ( | PythonQtQObjectCreatorFunctionCB * | cb | ) | [inline] |
set an additional decorator provider that offers additional decorator slots for this class
Definition at line 169 of file PythonQtClassInfo.h.
{ _decoratorProviderCB = cb; _decoratorProvider = NULL; }
| void PythonQtClassInfo::setDestructor | ( | PythonQtSlotInfo * | info | ) |
set a destructor, ownership is passed to classinfo
| void PythonQtClassInfo::setMetaObject | ( | const QMetaObject * | meta | ) |
set the meta object, this will reset the caching
| void PythonQtClassInfo::setPythonQtClassWrapper | ( | PyObject * | obj | ) | [inline] |
set the associated PythonQtClassWrapper (which handles instance creation of this type)
Definition at line 181 of file PythonQtClassInfo.h.
{ _pythonQtClassWrapper = obj; }
| void PythonQtClassInfo::setShellSetInstanceWrapperCB | ( | PythonQtShellSetInstanceWrapperCB * | cb | ) | [inline] |
set the shell set instance wrapper cb
Definition at line 187 of file PythonQtClassInfo.h.
{
_shellSetInstanceWrapperCB = cb;
}
| void PythonQtClassInfo::setTypeSlots | ( | int | typeSlots | ) | [inline] |
set the type capabilities
Definition at line 108 of file PythonQtClassInfo.h.
{ _typeSlots = typeSlots; }
| void PythonQtClassInfo::setupCPPObject | ( | const QByteArray & | classname | ) |
setup as a CPP (non-QObject), taking the classname
| void PythonQtClassInfo::setupQObject | ( | const QMetaObject * | meta | ) |
setup as a QObject, taking the meta object as meta information about the QObject
| PythonQtShellSetInstanceWrapperCB* PythonQtClassInfo::shellSetInstanceWrapperCB | ( | ) | [inline] |
get the shell set instance wrapper cb
Definition at line 192 of file PythonQtClassInfo.h.
{
return _shellSetInstanceWrapperCB;
}
| int PythonQtClassInfo::typeSlots | ( | ) | const [inline] |
get the type capabilities
Definition at line 110 of file PythonQtClassInfo.h.
{ return _typeSlots; }
1.7.1