203 lines
5.0 KiB
Diff
203 lines
5.0 KiB
Diff
--- qgis-1.3.0/python/core/conversions.sip 2009-05-14 17:58:24.000000000 +0200
|
|
+++ qgis_head/python/core/conversions.sip 2009-11-30 15:07:42.000000000 +0100
|
|
@@ -3,6 +3,7 @@
|
|
which are not wrapped by PyQt:
|
|
- QVector< QVector<TYPE> >
|
|
- QVector< QVector< QVector<TYPE> > >
|
|
+- QList< QList<TYPE> >
|
|
- QSet<int>
|
|
- QSet<TYPE>
|
|
- QMap<int, QMap<int, TYPE> >
|
|
@@ -19,6 +20,7 @@
|
|
#if (PY_VERSION_HEX < 0x02050000)
|
|
typedef int Py_ssize_t;
|
|
#endif
|
|
+
|
|
%End
|
|
|
|
|
|
@@ -28,6 +30,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QVector>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -104,6 +110,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QVector>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -175,10 +185,93 @@
|
|
};
|
|
|
|
|
|
+
|
|
+template <TYPE>
|
|
+%MappedType QList< QList<TYPE> >
|
|
+{
|
|
+%TypeHeaderCode
|
|
+#include <QList>
|
|
+%End
|
|
+
|
|
+%ConvertFromTypeCode
|
|
+ // Create the list.
|
|
+ PyObject *l;
|
|
+
|
|
+ if ((l = PyList_New(sipCpp->size())) == NULL)
|
|
+ return NULL;
|
|
+
|
|
+ const sipMappedType* qlist_type = sipFindMappedType("QList<TYPE>");
|
|
+
|
|
+ // Set the list elements.
|
|
+ for (int i = 0; i < sipCpp->size(); ++i)
|
|
+ {
|
|
+ QList<TYPE>* t = new QList<TYPE>(sipCpp->at(i));
|
|
+ PyObject *tobj;
|
|
+
|
|
+ if ((tobj = sipConvertFromMappedType(t, qlist_type, sipTransferObj)) == NULL)
|
|
+ {
|
|
+ Py_DECREF(l);
|
|
+ delete t;
|
|
+ return NULL;
|
|
+ }
|
|
+ PyList_SET_ITEM(l, i, tobj);
|
|
+ }
|
|
+
|
|
+ return l;
|
|
+%End
|
|
+
|
|
+%ConvertToTypeCode
|
|
+ const sipMappedType* qlist_type = sipFindMappedType("QList<TYPE>");
|
|
+
|
|
+ // Check the type if that is all that is required.
|
|
+ if (sipIsErr == NULL)
|
|
+ {
|
|
+ if (!PyList_Check(sipPy))
|
|
+ return 0;
|
|
+
|
|
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
|
|
+ if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qlist_type, SIP_NOT_NONE))
|
|
+ return 0;
|
|
+
|
|
+ return 1;
|
|
+ }
|
|
+
|
|
+
|
|
+ QList< QList<TYPE> > *ql = new QList< QList<TYPE> >;
|
|
+
|
|
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
|
|
+ {
|
|
+ int state;
|
|
+ //TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
|
|
+ QList<TYPE> * t = reinterpret_cast< QList<TYPE> * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qlist_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
|
|
+
|
|
+ if (*sipIsErr)
|
|
+ {
|
|
+ sipReleaseInstance(t, sipClass_TYPE, state);
|
|
+ delete ql;
|
|
+ return 0;
|
|
+ }
|
|
+ ql->append(*t);
|
|
+ sipReleaseInstance(t, sipClass_TYPE, state);
|
|
+ }
|
|
+
|
|
+ *sipCppPtr = ql;
|
|
+ return sipGetState(sipTransferObj);
|
|
+%End
|
|
+
|
|
+};
|
|
+
|
|
+
|
|
+
|
|
+
|
|
%MappedType QSet<int>
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QSet>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -229,6 +322,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QSet>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -301,6 +398,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QMap>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -418,6 +519,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QMap>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -518,7 +623,11 @@
|
|
%MappedType QMap<TYPE1, TYPE2*>
|
|
{
|
|
%TypeHeaderCode
|
|
-#include <qmap.h>
|
|
+#include <QMap>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -626,6 +735,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QMultiMap>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
@@ -744,6 +857,10 @@
|
|
{
|
|
%TypeHeaderCode
|
|
#include <QMap>
|
|
+#if (SIP_VERSION >= 0x040900)
|
|
+#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
|
|
+#define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
|
|
+#endif
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|