Просмотр исходного кода

Update to PythonQt 3.0

Note that this update does NOT yet allow to build CTK with PythonQt
support using Qt5. This will be done later after commontk/PythonQt#22
and commontk/CTK#564 are integrated.

8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
Source: http://sourceforge.net/p/pythonqt/news/2015/02/pythonqt-30-released/

PythonQt 3.0 has just been released. After three years of small
improvements on the SVN trunk, it was about time to do an official
release.

The following features have been added:

    Python 3 support
    Qt 5 support
    C++/Python ownership tracking for most of the Qt API
    better support for Pylint and jedi completion library (by e.g. implementing doc strings on slots)
    wrapping of all protected methods and protected enums
    many small improvements and bug fixes
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----


$ git shortlog e1f1c77..503597b --no-merges
Jean-Christophe Fillion-Robin (6):
      Add README file specific to CTK github fork
      Fix "_invalid_parameter_noinfo_noreturn" link error
      Update Readme.md to use new url format for svn revision reference
      Add CMake testing support
      Revert part of r91 preventing QFlags from being wrapped
      Ensure "PythonQtUtils.h" is installed when building using CMake

John Stark (1):
      Fix VS2010 compilation issue when PythonQt Debug build against python Release

Matthew Woehlke (3):
      fix problem in CMake error message
      allow specifying install directories
      remove trailing spaces in CMakeLists.txt

Steve Pieper (1):
      Fix mac build error with C standard lib macros

florianlink (149):
      made generator compile on VC11
      removed event() method from QClipboard and QWebFrame to avoid deriving from these classes, since they have private destructors
      fixed wrong inplace operator function assignment
      updated with current MeVisLab version
      replaced signals, slots and foreach with Q_* macros
      started qt5 port
      replaced emit with Q_EMIT     added std::endl
      replaced run script with direct AddObject calls     added PythonQt to builtin_module_names
      added searching super class in class hierachy
      undefine slots keyword and introduce PY3K define
      merged Qt5 port and exception parsing
      deleted unmaintained original files
      removed QNoImplicitBoolCast, it seems to be gone in Qt 5.3     added extra qualifier if flags are used
      readded linefeed
      removed qualifier again, the problem was QUrlTwoFlag<>
      Qt5 introduces new QUrl flags
      initial qt5 support
      initial qt5 support
      added typeName helper to make it behave like Qt4
      added more Qt5 specific classes     added sorting of enums and operators to get smaller diffs in the future
      adapted test to Qt5
      adapted test to Qt5, escape is gone in Qt5
      adapted examples to Qt5     removed non-working and old factory example
      renamed 4.8 bindings
      added wrapper for Qt 5.0 and 5.3
      more adaptions because of Qt 5.0
      qt5 adaptions
      auto-select pre-generated wrappers
      - started PY3K porting     - use Py_TYPE and PyVarObject_HEAD_INIT     - added define for PyString_FromString()     - removed old-classes support for PY3K
      further PY3K port
      return unicode instead on Py3
      further PY3K port
      adapted to PY3K
      upgraded to PY3K
      ported test to PY3K
      added define for debug PY3K
      fixed porting typo
      ported to PY3K
      fixed Python 2 build
      removed warnings
      added support for QtMsgType
      updated documentation
      updated to doxygen 1.8.x
      updated documentation
      added note
      added more Qt5 classes and moved some from Core to GUI
      removed phonon, which never worked     started cleanup of xml files     added sorting of fields for less diffs
      further cleanup
      removed phonon and xmlpatterns, which never worked
      removed unused files
      removed unused rules
      further cleanup
      further cleanup
      added polymorphic type ids
      fixed building of xmlpatterns
      updated 5.3 api to current generator xmls
      do not generate shell classes for classes that don't have any constructors
      added Qt multimedia     added missing flags
      reverted accidental commit
      use "__" as delimiter for nested classes
      further cleanup of typesystem, enabled some nested classes
      added support for nested classes (only one level)
      further cleanup, removed duplicate enum warning
      added missing constData()
      typesystem cleanup
      reverted
      added missing classes
      added QOpenGLPaintDevice
      added more classes
      QDataStream::ByteOrder
      added missing flags and types
      more improvements
      fixed error
      added QPersistentModelIndex
      moved generate=no to xml     added extra enum
      added more tests
      added new conversion templates
      added new QList/QVector aliases
      changed to new templates
      added support for registering QList/QVector template converters for non-pointer types that are used     register aliases for QList/QVector<enum> -> QList<int>
      added test
      changed to use last index (for nested templates like QPair)
      added new tests
      added new conversions for QList/QPair/QHash/QMap     support QMetaType::QVariant, which was added in Qt 4.8
      added more aliases
      GLuint64 may not be present, disable test for the moment
      added implicit conversion of unicode to QByteArray for PY3K
      simplified QList<Object*> conversion     added support for QList<...> and converters on Qt properties / QVariant conversion
      added more tests
      fixed compilation for Qt 4.x     register QObjectList and QList<QObject*> to allow usage in Q_PROPERTY
      updated to current generator (and added missing files)
      added newly generated wrappers
      added multimedia include
      added support for new BoolResult class to support bool* parameters
      added new source file to cmake
      changed to only map unicode to QByteArray in non-strict mode
      updated docs
      implemented polymorphic downcasting on subclasses     added better conversion of C++ to Python for virtual method overloads (and signals)
      support meta type based converters for pointer return values as well (e.g. QList<QInputEventMethod::Attribute>*), since wrapper generates * from const& return values
      added additional nested classes
      cleanup of generator     allow creation of protected non-virtuals     support protected enums that are used on protected methods     cleanup of typesystem and support removal and replacement of default args
      removed connectNotify from QClipboard to avoid promoter creation
      further typesystem cleanup
      more cleanup
      fixed name shadowing via argument index     fixed typesystem for Qt5
      updated to current generator
      removed unused code
      changed generator to use int instead of protected enums in shell and wrapper class (clang would not compile the previous approach using friend)
      updated wrappers to build on clang
      added support for size_t in properties and slots
      added support for [] mapping operators
      remoted QClipboard promoter
      fully removed QClipboard::event
      moved uitools to CONFIG for QT4     enabled xml patterns and multimedia for QT5
      using AsLongLong to allow larger Python int values to be converted to double
      fixed protected static method promotion
      fixed protected static method promotion (which in Qt 5.3 occurs only on QPixmap::fromImageInPlace())
      moved iostream include to the top, since people reported XCode6 compile problems
      added new inject-code target pywrap-operators
      improved generator to allow disabling shell and promoter creation
      special check for inventor wrappers
      remove virtual functions that are removed from the target language (why was this commented?)
      added support for additional code injection places
      added support for additional code injection places
      speedup of generator by factor 2
      added special field accessors for Inventor
      merged various improvements from MeVisLab repository     - support for properties on class wrappers     - support for return type completion on jedi library (using __doc__ of methods)     - auto importing known packages when classname appears on interface     - support of intrusive ref-counting for OpenInventor (and other ref counted libraries)     - and other small details
      fixed method promotion code when argument is named like the method
      initia$ git shortlog e1f1c77..503597b --no-merges
Jean-Christophe Fillion-Robin (6):
      Add README file specific to CTK github fork
      Fix "_invalid_parameter_noinfo_noreturn" link error
      Update Readme.md to use new url format for svn revision reference
      Add CMake testing support
      Revert part of r91 preventing QFlags from being wrapped
      Ensure "PythonQtUtils.h" is installed when building using CMake

John Stark (1):
      Fix VS2010 compilation issue when PythonQt Debug build against python Release

Matthew Woehlke (3):
      fix problem in CMake error message
      allow specifying install directories
      remove trailing spaces in CMakeLists.txt

Steve Pieper (1):
      Fix mac build error with C standard lib macros

florianlink (149):
      made generator compile on VC11
      removed event() method from QClipboard and QWebFrame to avoid deriving from these classes, since they have private destructors
      fixed wrong inplace operator function assignment
      updated with current MeVisLab version
      replaced signals, slots and foreach with Q_* macros
      started qt5 port
      replaced emit with Q_EMIT     added std::endl
      replaced run script with direct AddObject calls     added PythonQt to builtin_module_names
      added searching super class in class hierachy
      undefine slots keyword and introduce PY3K define
      merged Qt5 port and exception parsing
      deleted unmaintained original files
      removed QNoImplicitBoolCast, it seems to be gone in Qt 5.3     added extra qualifier if flags are used
      readded linefeed
      removed qualifier again, the problem was QUrlTwoFlag<>
      Qt5 introduces new QUrl flags
      initial qt5 support
      initial qt5 support
      added typeName helper to make it behave like Qt4
      added more Qt5 specific classes     added sorting of enums and operators to get smaller diffs in the future
      adapted test to Qt5
      adapted test to Qt5, escape is gone in Qt5
      adapted examples to Qt5     removed non-working and old factory example
      renamed 4.8 bindings
      added wrapper for Qt 5.0 and 5.3
      more adaptions because of Qt 5.0
      qt5 adaptions
      auto-select pre-generated wrappers
      - started PY3K porting     - use Py_TYPE and PyVarObject_HEAD_INIT     - added define for PyString_FromString()     - removed old-classes support for PY3K
      further PY3K port
      return unicode instead on Py3
      further PY3K port
      adapted to PY3K
      upgraded to PY3K
      ported test to PY3K
      added define for debug PY3K
      fixed porting typo
      ported to PY3K
      fixed Python 2 build
      removed warnings
      added support for QtMsgType
      updated documentation
      updated to doxygen 1.8.x
      updated documentation
      added note
      added more Qt5 classes and moved some from Core to GUI
      removed phonon, which never worked     started cleanup of xml files     added sorting of fields for less diffs
      further cleanup
      removed phonon and xmlpatterns, which never worked
      removed unused files
      removed unused rules
      further cleanup
      further cleanup
      added polymorphic type ids
      fixed building of xmlpatterns
      updated 5.3 api to current generator xmls
      do not generate shell classes for classes that don't have any constructors
      added Qt multimedia     added missing flags
      reverted accidental commit
      use "__" as delimiter for nested classes
      further cleanup of typesystem, enabled some nested classes
      added support for nested classes (only one level)
      further cleanup, removed duplicate enum warning
      added missing constData()
      typesystem cleanup
      reverted
      added missing classes
      added QOpenGLPaintDevice
      added more classes
      QDataStream::ByteOrder
      added missing flags and types
      more improvements
      fixed error
      added QPersistentModelIndex
      moved generate=no to xml     added extra enum
      added more tests
      added new conversion templates
      added new QList/QVector aliases
      changed to new templates
      added support for registering QList/QVector template converters for non-pointer types that are used     register aliases for QList/QVector<enum> -> QList<int>
      added test
      changed to use last index (for nested templates like QPair)
      added new tests
      added new conversions for QList/QPair/QHash/QMap     support QMetaType::QVariant, which was added in Qt 4.8
      added more aliases
      GLuint64 may not be present, disable test for the moment
      added implicit conversion of unicode to QByteArray for PY3K
      simplified QList<Object*> conversion     added support for QList<...> and converters on Qt properties / QVariant conversion
      added more tests
      fixed compilation for Qt 4.x     register QObjectList and QList<QObject*> to allow usage in Q_PROPERTY
      updated to current generator (and added missing files)
      added newly generated wrappers
      added multimedia include
      added support for new BoolResult class to support bool* parameters
      added new source file to cmake
      changed to only map unicode to QByteArray in non-strict mode
      updated docs
      implemented polymorphic downcasting on subclasses     added better conversion of C++ to Python for virtual method overloads (and signals)
      support meta type based converters for pointer return values as well (e.g. QList<QInputEventMethod::Attribute>*), since wrapper generates * from const& return values
      added additional nested classes
      cleanup of generator     allow creation of protected non-virtuals     support protected enums that are used on protected methods     cleanup of typesystem and support removal and replacement of default args
      removed connectNotify from QClipboard to avoid promoter creation
      further typesystem cleanup
      more cleanup
      fixed name shadowing via argument index     fixed typesystem for Qt5
      updated to current generator
      removed unused code
      changed generator to use int instead of protected enums in shell and wrapper class (clang would not compile the previous approach using friend)
      updated wrappers to build on clang
      added support for size_t in properties and slots
      added support for [] mapping operators
      remoted QClipboard promoter
      fully removed QClipboard::event
      moved uitools to CONFIG for QT4     enabled xml patterns and multimedia for QT5
      using AsLongLong to allow larger Python int values to be converted to double
      fixed protected static method promotion
      fixed protected static method promotion (which in Qt 5.3 occurs only on QPixmap::fromImageInPlace())
      moved iostream include to the top, since people reported XCode6 compile problems
      added new inject-code target pywrap-operators
      improved generator to allow disabling shell and promoter creation
      special check for inventor wrappers
      remove virtual functions that are removed from the target language (why was this commented?)
      added support for additional code injection places
      added support for additional code injection places
      speedup of generator by factor 2
      added special field accessors for Inventor
      merged various improvements from MeVisLab repository     - support for properties on class wrappers     - support for return type completion on jedi library (using __doc__ of methods)     - auto importing known packages when classname appears on interface     - support of intrusive ref-counting for OpenInventor (and other ref counted libraries)     - and other small details
      fixed method promotion code when argument is named like the method
      initial support for ownership handling
      added initial support for passing ownership to C++ and Python using templates as markup
      improved signature normalization
      added support for QList ownership passing
      fixed bug that was introduced by refactoring     added ownership handling for QList<SomeObject*>
      added more default arguments
      added ownership handling to central Qt classes
      fixed ugly problem with itemChange method
      regenerated wrappers for Qt 5.3 including ownership handling
      regenerated wrappers for Qt 5.0 including ownership handling
      regenerated wrappers for Qt 4.8 including ownership handling
      updated docs
      fixed compilation
      removed mapPlanes that can not be wrapped
      added Qt 5.4
      added Qt 5.4 support
      added Qt 5.4 wrappers
      removed PyQt references
      removed extra incref on PyObject* that are returned from slots. The ref-count needs to be increased by slots returning a PyObject (or by returning a new PyObject, which already has its initial ref count)
      fixed ref-counting in test
      reuse wrapper if it inherits, not only if it is the same class

texpert (1):
      Fix unused variable warning in PythonQtSlotl support for ownership handling
      added initial support for passing ownership to C++ and Python using templates as markup
      improved signature normalization
      added support for QList ownership passing
      fixed bug that was introduced by refactoring     added ownership handling for QList<SomeObject*>
      added more default arguments
      added ownership handling to central Qt classes
      fixed ugly problem with itemChange method
      regenerated wrappers for Qt 5.3 including ownership handling
      regenerated wrappers for Qt 5.0 including ownership handling
      regenerated wrappers for Qt 4.8 including ownership handling
      updated docs
      fixed compilation
      removed mapPlanes that can not be wrapped
      added Qt 5.4
      added Qt 5.4 support
      added Qt 5.4 wrappers
      removed PyQt references
      removed extra incref on PyObject* that are returned from slots. The ref-count needs to be increased by slots returning a PyObject (or by returning a new PyObject, which already has its initial ref count)
      fixed ref-counting in test
      reuse wrapper if it inherits, not only if it is the same class

texpert (1):
      Fix unused variable warning in PythonQtSlot
Jean-Christophe Fillion-Robin лет назад: 10
Родитель
Сommit
3b64818e20
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      CMakeExternals/PythonQt.cmake

+ 1 - 1
CMakeExternals/PythonQt.cmake

@@ -66,7 +66,7 @@ if(NOT DEFINED PYTHONQT_INSTALL_DIR)
     message(FATAL_ERROR "error: Python is required to build ${PROJECT_NAME}")
   endif()
 
-  set(revision_tag e1f1c77d9675c3c5fb1cba19d2a32ace483eda2c)
+  set(revision_tag 503597ba3274f59cd68347f11926340ec4f33471)
   if(${proj}_REVISION_TAG)
     set(revision_tag ${${proj}_REVISION_TAG})
   endif()