SourceForge.net Logo
PythonQt
Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Static Protected Attributes
PythonQtConv Class Reference

a static class that offers methods for type conversion More...

#include <PythonQtConversion.h>

List of all members.

Static Public Member Functions

static PyObjectGetPyBool (bool val)
 get a ref counted True or False Python object
static PyObjectConvertQtValueToPython (const PythonQtMethodInfo::ParameterInfo &info, const void *data)
 converts the Qt parameter given in data, interpreting it as a info parameter, into a Python object,
static void * ConvertPythonToQt (const PythonQtMethodInfo::ParameterInfo &info, PyObject *obj, bool strict, PythonQtClassInfo *classInfo, void *alreadyAllocatedCPPObject=NULL)
 convert python object to Qt (according to the given parameter) and if the conversion should be strict (classInfo is currently not used anymore)
static void * CreateQtReturnValue (const PythonQtMethodInfo::ParameterInfo &info)
 creates a data storage for the passed parameter type and returns a void pointer to be set as arg[0] of qt_metacall
static PyObjectQStringToPyObject (const QString &str)
 converts QString to Python string (unicode!)
static PyObjectQStringListToPyObject (const QStringList &list)
 converts QStringList to Python tuple
static PyObjectQStringListToPyList (const QStringList &list)
 converts QStringList to Python list
static QString PyObjGetRepresentation (PyObject *val)
 get string representation of py object
static QString PyObjGetString (PyObject *val)
 get string value from py object
static QString PyObjGetString (PyObject *val, bool strict, bool &ok)
 get string value from py object
static QByteArray PyObjGetBytes (PyObject *val, bool strict, bool &ok)
 get bytes from py object
static int PyObjGetInt (PyObject *val, bool strict, bool &ok)
 get int from py object
static qint64 PyObjGetLongLong (PyObject *val, bool strict, bool &ok)
 get int64 from py object
static quint64 PyObjGetULongLong (PyObject *val, bool strict, bool &ok)
 get int64 from py object
static double PyObjGetDouble (PyObject *val, bool strict, bool &ok)
 get double from py object
static bool PyObjGetBool (PyObject *val, bool strict, bool &ok)
 get bool from py object
static QStringList PyObjToStringList (PyObject *val, bool strict, bool &ok)
 create a string list from python sequence
static QVariant PyObjToQVariant (PyObject *val, int type=-1)
static PyObjectQVariantToPyObject (const QVariant &v)
 convert QVariant from PyObject
static PyObjectQVariantMapToPyObject (const QVariantMap &m)
static PyObjectQVariantListToPyObject (const QVariantList &l)
static QString CPPObjectToString (int type, const void *data)
 get human readable string from CPP object (when the metatype is known)
static void registerPythonToMetaTypeConverter (int metaTypeId, PythonQtConvertPythonToMetaTypeCB *cb)
 register a converter callback from python to cpp for given metatype
static void registerMetaTypeToPythonConverter (int metaTypeId, PythonQtConvertMetaTypeToPythonCB *cb)
 register a converter callback from cpp to python for given metatype
static int getInnerTemplateMetaType (const QByteArray &typeName)
 returns the inner type id of a simple template of the form SomeObject<InnerType>
static PyObjectConvertQtValueToPythonInternal (int type, const void *data)
 converts the Qt parameter given in data, interpreting it as a type registered qvariant/meta type, into a Python object,

Static Public Attributes

static PythonQtValueStorage
< qint64, 128 > 
global_valueStorage
static PythonQtValueStorage
< void *, 128 > 
global_ptrStorage
static
PythonQtValueStorageWithCleanup
< QVariant, 128 > 
global_variantStorage

Static Protected Member Functions

static void * handlePythonToQtAutoConversion (int typeId, PyObject *obj, void *alreadyAllocatedCPPObject)
 handle automatic conversion of some special types (QColor, QBrush, ...)
static PyObjectConvertQListOfPointerTypeToPythonList (QList< void * > *list, const QByteArray &type)
 converts the list of pointers of given type to Python
static bool ConvertPythonListToQListOfPointerType (PyObject *obj, QList< void * > *list, const QByteArray &type, bool strict)
 tries to convert the python object to a QList of pointers to type objects, returns true on success
static void * castWrapperTo (PythonQtInstanceWrapper *wrapper, const QByteArray &className, bool &ok)
 cast wrapper to given className if possible

Static Protected Attributes

static QHash< int,
PythonQtConvertMetaTypeToPythonCB * > 
_metaTypeToPythonConverters
static QHash< int,
PythonQtConvertPythonToMetaTypeCB * > 
_pythonToMetaTypeConverters

Detailed Description

a static class that offers methods for type conversion

Definition at line 70 of file PythonQtConversion.h.


Member Function Documentation

static void* PythonQtConv::castWrapperTo ( PythonQtInstanceWrapper wrapper,
const QByteArray &  className,
bool &  ok 
) [static, protected]

cast wrapper to given className if possible

static bool PythonQtConv::ConvertPythonListToQListOfPointerType ( PyObject obj,
QList< void * > *  list,
const QByteArray &  type,
bool  strict 
) [static, protected]

tries to convert the python object to a QList of pointers to type objects, returns true on success

static void* PythonQtConv::ConvertPythonToQt ( const PythonQtMethodInfo::ParameterInfo info,
PyObject obj,
bool  strict,
PythonQtClassInfo classInfo,
void *  alreadyAllocatedCPPObject = NULL 
) [static]

convert python object to Qt (according to the given parameter) and if the conversion should be strict (classInfo is currently not used anymore)

static PyObject* PythonQtConv::ConvertQListOfPointerTypeToPythonList ( QList< void * > *  list,
const QByteArray &  type 
) [static, protected]

converts the list of pointers of given type to Python

static PyObject* PythonQtConv::ConvertQtValueToPython ( const PythonQtMethodInfo::ParameterInfo info,
const void *  data 
) [static]

converts the Qt parameter given in data, interpreting it as a info parameter, into a Python object,

static PyObject* PythonQtConv::ConvertQtValueToPythonInternal ( int  type,
const void *  data 
) [static]

converts the Qt parameter given in data, interpreting it as a type registered qvariant/meta type, into a Python object,

Referenced by PythonQtConvertListOfValueTypeToPythonList().

static QString PythonQtConv::CPPObjectToString ( int  type,
const void *  data 
) [static]

get human readable string from CPP object (when the metatype is known)

static void* PythonQtConv::CreateQtReturnValue ( const PythonQtMethodInfo::ParameterInfo info) [static]

creates a data storage for the passed parameter type and returns a void pointer to be set as arg[0] of qt_metacall

static int PythonQtConv::getInnerTemplateMetaType ( const QByteArray &  typeName) [static]

returns the inner type id of a simple template of the form SomeObject<InnerType>

Referenced by PythonQtConvertListOfValueTypeToPythonList(), and PythonQtConvertPythonListToListOfValueType().

static PyObject* PythonQtConv::GetPyBool ( bool  val) [static]

get a ref counted True or False Python object

static void* PythonQtConv::handlePythonToQtAutoConversion ( int  typeId,
PyObject obj,
void *  alreadyAllocatedCPPObject 
) [static, protected]

handle automatic conversion of some special types (QColor, QBrush, ...)

static bool PythonQtConv::PyObjGetBool ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get bool from py object

static QByteArray PythonQtConv::PyObjGetBytes ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get bytes from py object

static double PythonQtConv::PyObjGetDouble ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get double from py object

static int PythonQtConv::PyObjGetInt ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get int from py object

static qint64 PythonQtConv::PyObjGetLongLong ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get int64 from py object

static QString PythonQtConv::PyObjGetRepresentation ( PyObject val) [static]

get string representation of py object

static QString PythonQtConv::PyObjGetString ( PyObject val) [inline, static]

get string value from py object

Definition at line 99 of file PythonQtConversion.h.

References PyObjGetString().

Referenced by PyObjGetString().

{ bool ok; QString s = PyObjGetString(val, false, ok); return s; }
static QString PythonQtConv::PyObjGetString ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get string value from py object

static quint64 PythonQtConv::PyObjGetULongLong ( PyObject val,
bool  strict,
bool &  ok 
) [static]

get int64 from py object

static QVariant PythonQtConv::PyObjToQVariant ( PyObject val,
int  type = -1 
) [static]

convert python object to qvariant, if type is given it will try to create a qvariant of that type, otherwise it will guess from the python type

Referenced by PythonQtConvertPythonListToListOfValueType().

static QStringList PythonQtConv::PyObjToStringList ( PyObject val,
bool  strict,
bool &  ok 
) [static]

create a string list from python sequence

static PyObject* PythonQtConv::QStringListToPyList ( const QStringList &  list) [static]

converts QStringList to Python list

static PyObject* PythonQtConv::QStringListToPyObject ( const QStringList &  list) [static]

converts QStringList to Python tuple

static PyObject* PythonQtConv::QStringToPyObject ( const QString &  str) [static]

converts QString to Python string (unicode!)

static PyObject* PythonQtConv::QVariantListToPyObject ( const QVariantList &  l) [static]
static PyObject* PythonQtConv::QVariantMapToPyObject ( const QVariantMap &  m) [static]
static PyObject* PythonQtConv::QVariantToPyObject ( const QVariant &  v) [static]

convert QVariant from PyObject

static void PythonQtConv::registerMetaTypeToPythonConverter ( int  metaTypeId,
PythonQtConvertMetaTypeToPythonCB cb 
) [inline, static]

register a converter callback from cpp to python for given metatype

Definition at line 135 of file PythonQtConversion.h.

{ _metaTypeToPythonConverters.insert(metaTypeId, cb); }
static void PythonQtConv::registerPythonToMetaTypeConverter ( int  metaTypeId,
PythonQtConvertPythonToMetaTypeCB cb 
) [inline, static]

register a converter callback from python to cpp for given metatype

Definition at line 132 of file PythonQtConversion.h.

{ _pythonToMetaTypeConverters.insert(metaTypeId, cb); }

Member Data Documentation

Definition at line 150 of file PythonQtConversion.h.

Definition at line 151 of file PythonQtConversion.h.

Definition at line 146 of file PythonQtConversion.h.

Definition at line 145 of file PythonQtConversion.h.

Definition at line 147 of file PythonQtConversion.h.


The documentation for this class was generated from the following file: