##// END OF EJS Templates
adapted to new generator files...
florianlink -
r193:65af4461ce48
parent child
Show More
@@ -1216,7 +1216,7 void PythonQtPrivate::addDecorators(QObject* o, int decoTypes)
1216 } else if (qstrncmp(m.signature(), "static_", 7)==0) {
1216 } else if (qstrncmp(m.signature(), "static_", 7)==0) {
1217 if ((decoTypes & StaticDecorator) == 0) continue;
1217 if ((decoTypes & StaticDecorator) == 0) continue;
1218 QByteArray signature = m.signature();
1218 QByteArray signature = m.signature();
1219 QByteArray nameOfClass = signature.mid(signature.indexOf('_')+1);
1219 QByteArray nameOfClass = signature.mid(7);
1220 nameOfClass = nameOfClass.mid(0, nameOfClass.indexOf('_'));
1220 nameOfClass = nameOfClass.mid(0, nameOfClass.indexOf('_'));
1221 PythonQtClassInfo* classInfo = lookupClassInfoAndCreateIfNotPresent(nameOfClass);
1221 PythonQtClassInfo* classInfo = lookupClassInfoAndCreateIfNotPresent(nameOfClass);
1222 PythonQtSlotInfo* newSlot = new PythonQtSlotInfo(NULL, m, i, o, PythonQtSlotInfo::ClassDecorator);
1222 PythonQtSlotInfo* newSlot = new PythonQtSlotInfo(NULL, m, i, o, PythonQtSlotInfo::ClassDecorator);
@@ -1778,4 +1778,16 void PythonQtPrivate::shellClassDeleted( void* shellClass )
1778 // if the wrapper is a QObject, we do not handle this here,
1778 // if the wrapper is a QObject, we do not handle this here,
1779 // it will be handled by the QPointer<> to the QObject, which becomes NULL
1779 // it will be handled by the QPointer<> to the QObject, which becomes NULL
1780 // via the QObject destructor.
1780 // via the QObject destructor.
1781 }
1782
1783 PyObject* PythonQtPrivate::wrapMemoryAsBuffer( const void* data, Py_ssize_t size )
1784 {
1785 // P3K port needed later on!
1786 return PyBuffer_FromMemory((void*)data, size);
1787 }
1788
1789 PyObject* PythonQtPrivate::wrapMemoryAsBuffer( void* data, Py_ssize_t size )
1790 {
1791 // P3K port needed later on!
1792 return PyBuffer_FromReadWriteMemory(data, size);
1781 } No newline at end of file
1793 }
@@ -587,6 +587,12 public:
587 //! wrap the given ptr into a Python object (or return existing wrapper!) if there is a known QObject of that name or a known wrapper in the factory
587 //! wrap the given ptr into a Python object (or return existing wrapper!) if there is a known QObject of that name or a known wrapper in the factory
588 PyObject* wrapPtr(void* ptr, const QByteArray& name);
588 PyObject* wrapPtr(void* ptr, const QByteArray& name);
589
589
590 //! create a read-only buffer object from the given memory
591 static PyObject* wrapMemoryAsBuffer(const void* data, Py_ssize_t size);
592
593 //! create a read-write buffer object from the given memory
594 static PyObject* wrapMemoryAsBuffer(void* data, Py_ssize_t size);
595
590 //! registers a QObject derived class to PythonQt (this is implicitly called by addObject as well)
596 //! registers a QObject derived class to PythonQt (this is implicitly called by addObject as well)
591 /* Since Qt4 does not offer a way to detect if a given classname is derived from QObject and thus has a QMetaObject,
597 /* Since Qt4 does not offer a way to detect if a given classname is derived from QObject and thus has a QMetaObject,
592 you MUST register all your QObject derived classes here when you want them to be detected in signal and slot calls */
598 you MUST register all your QObject derived classes here when you want them to be detected in signal and slot calls */
@@ -165,7 +165,7 Qt framework</a>.
165
165
166 The PythonQt wrappers generated by the generator located in the "generated_cpp" directory are free to be used without any licensing restrictions.
166 The PythonQt wrappers generated by the generator located in the "generated_cpp" directory are free to be used without any licensing restrictions.
167
167
168 The generated wrappers are pre-generated and checked-in for Qt 4.8, so you only need to build and run the
168 The generated wrappers are pre-generated and checked-in for Qt 4.6.1, so you only need to build and run the
169 generator when you want to build additional wrappers or you want to upgrade/downgrade to another Qt version.
169 generator when you want to build additional wrappers or you want to upgrade/downgrade to another Qt version.
170 You may use the generator to generate C++ bindings for your own C++ classes (e.g., to make them inheritable in Python),
170 You may use the generator to generate C++ bindings for your own C++ classes (e.g., to make them inheritable in Python),
171 but this is currently not documented and involves creating your own typesystem files (although the Qt Jambi examples might help you).
171 but this is currently not documented and involves creating your own typesystem files (although the Qt Jambi examples might help you).
@@ -420,10 +420,7 the python2x.[lib | dll | so | dynlib].
420 The build scripts a currently set to use Python 2.6.
420 The build scripts a currently set to use Python 2.6.
421 You may need to tweak the \b build/python.prf file to set the correct Python includes and libs on your system.
421 You may need to tweak the \b build/python.prf file to set the correct Python includes and libs on your system.
422
422
423 \note In addition to the qmake profiles, PythonQt now offers building via Cmake. Just use the provided
423 \subsection Windows
424 CMakeLists.txt in the root directory of the project. This build option has not been well tested yet.
425
426 \section Windows
427
424
428 On Windows, the (non-source) Python Windows installer can be used.
425 On Windows, the (non-source) Python Windows installer can be used.
429 Make sure that you use the same compiler, the current Python distribution is built
426 Make sure that you use the same compiler, the current Python distribution is built
@@ -462,7 +459,7 the python2x.[lib | dll | so | dynlib].
462
459
463 The tests and examples are located in PythonQt/lib.
460 The tests and examples are located in PythonQt/lib.
464
461
465 \section Linux
462 \subsection Linux
466
463
467 On Linux, you need to install a Python-dev package.
464 On Linux, you need to install a Python-dev package.
468 If Python can not be linked or include files can not be found,
465 If Python can not be linked or include files can not be found,
@@ -480,7 +477,7 the python2x.[lib | dll | so | dynlib].
480 You should add PythonQt/lib to your LD_LIBRARY_PATH so that the runtime
477 You should add PythonQt/lib to your LD_LIBRARY_PATH so that the runtime
481 linker can find the *.so files.
478 linker can find the *.so files.
482
479
483 \section MacOSX
480 \subsection MacOsX
484
481
485 On Mac, Python is installed as a Framework, so you should not need to install it.
482 On Mac, Python is installed as a Framework, so you should not need to install it.
486 To build PythonQt, just do a:
483 To build PythonQt, just do a:
General Comments 0
You need to be logged in to leave comments. Login now