Browse Source

Initial TQt conversion

tags/r14.0.0
Timothy Pearson 7 years ago
parent
commit
8a055d66f4
100 changed files with 5545 additions and 5537 deletions
  1. 687
    687
      ChangeLog
  2. 6
    6
      LICENSE
  3. 285
    285
      NEWS
  4. 11
    11
      README
  5. 7
    7
      README.AIX
  6. 11
    11
      README.SunOS
  7. 6
    6
      THANKS
  8. 85
    85
      build.py
  9. 157
    157
      configure.py
  10. 1058
    1058
      doc/PyQt.html
  11. 1101
    1101
      doc/PyQt.sgml
  12. 203
    203
      doc/qtdocs.sip
  13. 2
    2
      examples2/README
  14. 13
    13
      examples2/aclock.py
  15. 58
    58
      examples2/addressbook.py
  16. 38
    38
      examples2/application.py
  17. 23
    23
      examples2/buttongroups.py
  18. 8
    8
      examples2/dclock.py
  19. 22
    22
      examples2/desktop.py
  20. 10
    10
      examples2/dirview.py
  21. 18
    18
      examples2/dragdrop.py
  22. 26
    26
      examples2/dropsite.py
  23. 6
    6
      examples2/gears.py
  24. 46
    46
      examples2/menu.py
  25. 10
    10
      examples2/secret.py
  26. 33
    33
      examples2/semaphore.py
  27. 13
    13
      examples2/splitter.py
  28. 8
    8
      examples2/table.py
  29. 309
    309
      examples2/themes.py
  30. BIN
      examples2/trolltech.bmp
  31. BIN
      examples2/trolltech.gif
  32. BIN
      examples2/tt-logo.png
  33. 3
    3
      examples2/tut1.py
  34. 24
    24
      examples2/tut10.py
  35. 35
    35
      examples2/tut11.py
  36. 45
    45
      examples2/tut12.py
  37. 55
    55
      examples2/tut13.py
  38. 67
    67
      examples2/tut14.py
  39. 5
    5
      examples2/tut2.py
  40. 6
    6
      examples2/tut3.py
  41. 6
    6
      examples2/tut4.py
  42. 8
    8
      examples2/tut5.py
  43. 11
    11
      examples2/tut6.py
  44. 11
    11
      examples2/tut7.py
  45. 17
    17
      examples2/tut8.py
  46. 22
    22
      examples2/tut9.py
  47. 124
    124
      examples2/widgets.py
  48. 2
    2
      examples3/README
  49. 14
    14
      examples3/SQL/README
  50. 17
    17
      examples3/SQL/connect.ui
  51. 3
    3
      examples3/SQL/connect.ui.h
  52. 10
    10
      examples3/SQL/dbconnect.py
  53. 2
    2
      examples3/SQL/dbpar.py
  54. 2
    2
      examples3/SQL/form1.ui
  55. 28
    28
      examples3/SQL/form2.ui
  56. 29
    29
      examples3/SQL/frmconnect.py
  57. 14
    14
      examples3/SQL/frmconnect.ui
  58. 2
    2
      examples3/SQL/runform1.py
  59. 2
    2
      examples3/SQL/runform2.py
  60. 23
    23
      examples3/SQL/runsqlex.py
  61. 17
    17
      examples3/SQL/sqlcustom1.py
  62. 20
    20
      examples3/SQL/sqlex.ui
  63. 4
    4
      examples3/SQL/sqlex.ui.h
  64. 34
    34
      examples3/SQL/sqlsubclass5.py
  65. 25
    25
      examples3/SQL/sqltable4.py
  66. 12
    4
      examples3/SQL/testdb_pg.sql
  67. 13
    13
      examples3/aclock.py
  68. 58
    58
      examples3/addressbook.py
  69. 38
    38
      examples3/application.py
  70. 9
    9
      examples3/biff.py
  71. 4
    4
      examples3/bigtable.py
  72. 26
    26
      examples3/buttongroups.py
  73. BIN
      examples3/canvas/butterfly.png
  74. 131
    131
      examples3/canvas/canvas.py
  75. BIN
      examples3/canvas/qtlogo.png
  76. 24
    24
      examples3/checklists.py
  77. 16
    16
      examples3/cursor.py
  78. 8
    8
      examples3/dclock.py
  79. 24
    24
      examples3/desktop.py
  80. 64
    64
      examples3/dirview.py
  81. 18
    18
      examples3/dragdrop.py
  82. 10
    10
      examples3/drawlines.py
  83. 26
    26
      examples3/dropsite.py
  84. 38
    38
      examples3/fontdisplayer.py
  85. 32
    32
      examples3/fonts.py
  86. 6
    6
      examples3/gears.py
  87. 17
    17
      examples3/i18n/i18n.py
  88. 12
    12
      examples3/i18n/mywidget.py
  89. 2
    2
      examples3/i18n/mywidget_cs.ts
  90. 1
    1
      examples3/i18n/mywidget_de.ts
  91. 1
    1
      examples3/i18n/mywidget_el.ts
  92. 1
    1
      examples3/i18n/mywidget_en.ts
  93. 1
    1
      examples3/i18n/mywidget_eo.ts
  94. 1
    1
      examples3/i18n/mywidget_fr.ts
  95. 1
    1
      examples3/i18n/mywidget_it.ts
  96. 1
    1
      examples3/i18n/mywidget_jp.ts
  97. 1
    1
      examples3/i18n/mywidget_ko.ts
  98. 1
    1
      examples3/i18n/mywidget_no.ts
  99. 1
    1
      examples3/i18n/mywidget_ru.ts
  100. 0
    0
      examples3/i18n/mywidget_zh.ts

+ 687
- 687
ChangeLog
File diff suppressed because it is too large
View File


+ 6
- 6
LICENSE View File

@@ -109,9 +109,9 @@ above, provided that you also meet all of these conditions:
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
the Program is not retquired to print an announcement.)
These requirements apply to the modified work as a whole. If
These retquirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
@@ -177,7 +177,7 @@ However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

5. You are not required to accept this License, since you have not
5. You are not retquired to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
@@ -263,14 +263,14 @@ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
TO THE TQUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
12. IN NO EVENT UNLESS RETQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSETQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER

+ 285
- 285
NEWS View File

@@ -10,9 +10,9 @@ v3.17.6 17th November 2008
v3.17.5 8th November 2008
- Added the /Constrained/ argument annotations for enums needed by SIP v4.7.8
and later.
- Added the missing QRegion.rects() (based on a patch from Hans-Peter
- Added the missing TQRegion.rects() (based on a patch from Hans-Peter
Jansen).
- Added the missing QWidget.stackUnder() slot.
- Added the missing TQWidget.stackUnder() slot.

v3.17.4 6th December 2007
- Changes to be able to be built by SIP v4.7.2 and later.
@@ -25,100 +25,100 @@ v3.17.2 25th April 2007
- A minor bug fix release for a regression in v3.17.1.

v3.17.1 10th April 2007
- This version requires SIP v4.6 (or later).
- This version retquires SIP v4.6 (or later).
- Changes to ensure compatibility with future SIP releases.

v3.17 4th November 2006
- Added support for Python v2.5.
- Added the missing QImage.bitBlt() function.
- Added the missing QListView.setSelectionAnchor() method.
- Added the missing QStringList.__iadd__(QString) method.
- Updated the QScintilla bindings for v1.17.
- Added the missing TQImage.bitBlt() function.
- Added the missing TQListView.setSelectionAnchor() method.
- Added the missing TQStringList.__iadd__(TQString) method.
- Updated the TQScintilla bindings for v1.17.

v3.16 24th March 2006
- This version requires SIP v4.4 (or later).
- PyQt3 can be installed alongside PyQt4.
- Concatenating Python strings and QStrings is now supported.
- QString now supports the * and *= operators that behave as they do for
- This version retquires SIP v4.4 (or later).
- PyTQt3 can be installed alongside PyTQt4.
- Concatenating Python strings and TQStrings is now supported.
- TQString now supports the * and *= operators that behave as they do for
Python strings.
- Removed some QString methods that weren't appropriate in a Python context
- Removed some TQString methods that weren't appropriate in a Python context
and would have caused problems had they ever been used.
- QString is more interoperable with Python string and unicode objects. For
- TQString is more interoperable with Python string and unicode objects. For
example they can be passed as arguments to open() and to most (but not all)
string methods.
- QObject.sender() now handles Python signals.
- TQObject.sender() now handles Python signals.
- Added the missing MacintoshVersion enum.
- The convention for converting between a C/C++ null pointer and Python's
None object has now been universally applied. In previous versions a null
pointer to, for example, a Qt list container would often be converted to an
pointer to, for example, a TQt list container would often be converted to an
empty list rather than None.
- PYQT_BUILD has been removed.
- QPopupMenu (and sub-classes) instances now transfer ownership of the menu
- TQPopupMenu (and sub-classes) instances now transfer ownership of the menu
to Python in the call to exec_loop(). This means the menu's resources are
all released when the Python wrapper is garbage collected without needing
to call QObject.deleteLater().
to call TQObject.deleteLater().

v3.15.1 14th November 2005
- Added the missing QApplication constructor.
- Added the missing TQApplication constructor.
- Added the -f flag to configure.py to use any existing features file (by
default it is recreated).

v3.15 30th August 2005
- This version requires SIP v4.3 (or later).
- Added registerWeakActiveObject() and revokeActiveObject() to QAxBase.
- Added the missing QString + operator.
- PyQt classes now support Python's cyclic garbage collector.
- QDialog (and sub-classes) instances now transfer ownership of the dialog to
- This version retquires SIP v4.3 (or later).
- Added registerWeakActiveObject() and revokeActiveObject() to TQAxBase.
- Added the missing TQString + operator.
- PyTQt classes now support Python's cyclic garbage collector.
- TQDialog (and sub-classes) instances now transfer ownership of the dialog to
Python in the call to exec_loop(). This means the dialog's resources are
all released when the Python wrapper is garbage collected without needing
to call QObject.deleteLater().
to call TQObject.deleteLater().
- Automatic type conversion to more specific sub-classes using available
real-time type information has been improved so that, if a sub-class isn't
recognised then the most specific sub-class is used rather than the base
class.
- Automatic type conversion for QLayoutItem and sub-classes has been added.
- Added support for QScintilla v1.6.
- Automatic type conversion for TQLayoutItem and sub-classes has been added.
- Added support for TQScintilla v1.6.

v3.14.1 6th March 2005
- A minor bug fix release.

v3.14 19th February 2005
- This version requires SIP v4.2 (or later) or SIP v3.12 (or later).
- This version retquires SIP v4.2 (or later) or SIP v3.12 (or later).
- Added the qInstallMsgHandler() function.
- Added support for QScintilla v1.5.
- Added support for TQScintilla v1.5.
- Added support for the VendorID package.
- Added the qdir.py example.

v3.13 21st September 2004
- Added the QUuid, QMetaObject and QMetaProperty classes.
- Added metaObject() to QObject.
- Added the comparison operators between QChar and QChar and char.
- Added all the QDataStream << and >> operators for classes.
- Added support for QScintilla v1.4.
- Added explicit support for QScintilla to pyuic.
- Added the TQUuid, TQMetaObject and TQMetaProperty classes.
- Added metaObject() to TQObject.
- Added the comparison operators between TQChar and TQChar and char.
- Added all the TQDataStream << and >> operators for classes.
- Added support for TQScintilla v1.4.
- Added explicit support for TQScintilla to pyuic.

v3.12 25th May 2004
- QValueList<QVariant> is implemented as a Python list of QVariant instances.
- Added support for QScintilla v1.3.
- TQValueList<TQVariant> is implemented as a Python list of TQVariant instances.
- Added support for TQScintilla v1.3.
- Compiler error messages are suppressed during configuration but can be seen
using the new -w flag to configure.py.

v3.11 11th March 2004
- Added the QIconDragEvent and QLocale classes from Qt v3.3.0.
- Updated all existing classes to Qt v3.3.1.
- Added the missing QSocketDevice class.
- Added the missing QString += operators.
- Added the TQIconDragEvent and TQLocale classes from TQt v3.3.0.
- Updated all existing classes to TQt v3.3.1.
- Added the missing TQSocketDevice class.
- Added the missing TQString += operators.

v3.10 16th January 2004
- Added the QFtp, QHttp, QHttpHeader, QHttpRequestHeader,
QHttpResponseHeader, QLocalFs classes.
- Added the TQFtp, TQHttp, TQHttpHeader, TQHttpRequestHeader,
TQHttpResponseHeader, TQLocalFs classes.

v3.9 7th December 2003
- This version requires SIP v3.9 (or later) or SIP v4.0rc1 (or later).
- QLayoutIterator.next() is now documented.
- Added the QImageIO and QListViewItemIterator classes.
- Added the QDockArea << and >> operators.
- Added readBoolEntry() to QSettings.
- This version retquires SIP v3.9 (or later) or SIP v4.0rc1 (or later).
- TQLayoutIterator.next() is now documented.
- Added the TQImageIO and TQListViewItemIterator classes.
- Added the TQDockArea << and >> operators.
- Added readBoolEntry() to TQSettings.
- Added qInstallPath(), qInstallPathDocs(), qInstallPathHeaders(),
qInstallPathLibs(), qInstallPathBins(), qInstallPathPlugins(),
qInstallPathData(), qInstallPathTranslations(), qInstallPathSysconf().
@@ -130,33 +130,33 @@ v3.9 7th December 2003
.sip files.

v3.8.1 6th September 2003
- Added the missing QWMatrix.mapRect() * operators.
- The supported educational version is now Qt v3.2.0.
- Added the missing TQWMatrix.mapRect() * operators.
- The supported educational version is now TQt v3.2.0.

v3.8 17th August 2003
- Added the -k flag to build.py to build the PyQt modules as static
- Added the -k flag to build.py to build the PyTQt modules as static
libraries.
- Added operators to QBrush, QColor, QDate, QDateTime, QDir, QDomeNode,
QFont, QImage, QKeySequence, QPalette, QPen, QPoint, QRect, QRegExp,
QRegion, QSize, QString, QTime, QUrl and QWMatrix (thanks to Torsten
- Added operators to TQBrush, TQColor, TQDate, TQDateTime, TQDir, TQDomeNode,
TQFont, TQImage, TQKeySequence, TQPalette, TQPen, TQPoint, TQRect, TQRegExp,
TQRegion, TQSize, TQString, TQTime, TQUrl and TQWMatrix (thanks to Torsten
Marek).
- Added the missing Qt.MetaButton.
- Updated all classes for Qt v3.2.0.
- Added the QSplashScreen, QSqlSelectCursor and QToolBox classes for Qt
- Added the missing TQt.MetaButton.
- Updated all classes for TQt v3.2.0.
- Added the TQSplashScreen, TQSqlSelectCursor and TQToolBox classes for TQt
v3.2.0.
- Added support for QScintilla v1.2.
- Added support for TQScintilla v1.2.

v3.7 5th July 2003
- Implemented __setitem__(), __delitem__(), __add__(), __iadd__(), __mul__(),
__imul__(), __eq__() and __ne__() for QStringList.
__imul__(), __eq__() and __ne__() for TQStringList.
- Lots of new examples from Jorge Arroyo.
- dir() of a PyQt class now returns all attributes.
- Added bits(), scanLine(), jumpTable() and colorTable() to QImage.
- dir() of a PyTQt class now returns all attributes.
- Added bits(), scanLine(), jumpTable() and colorTable() to TQImage.
- Added toShort(), toUShort(), toInt(), toUInt(), toLong(), toULong(),
toFloat() and toDouble() to QCString and QString.
- Added the QWindowsXPStyle (Windows XP only), QextScintillaLexerHTML,
QextScintillaLexerSQL and QSignalMapper classes.
- pyuic (for Qt v3) now accepts a "-test" command line argument to allow
toFloat() and toDouble() to TQCString and TQString.
- Added the TQWindowsXPStyle (Windows XP only), QextScintillaLexerHTML,
QextScintillaLexerSQL and TQSignalMapper classes.
- pyuic (for TQt v3) now accepts a "-test" command line argument to allow
generated code to be run to completion without needing any user
interaction.
- Added modificationAttempted() to QextScintilla.
@@ -164,33 +164,33 @@ v3.7 5th July 2003
v3.6 26th April 2003
- Added the QextScintillaAPIs, QextScintillaCommand, QextScintillaCommandSet,
QextScintillaMacros and QextScintillaPrinter classes to the qtext module.
- Added the QCopEnvelope class to the qtpe module.
- QString.startsWith() was missing for Qt v2 starting with Qt v2.2.0.
- Implemented the QTextStream << QMainWindow and QTextStream >> QMainWindow
- Added the TQCopEnvelope class to the qtpe module.
- TQString.startsWith() was missing for TQt v2 starting with TQt v2.2.0.
- Implemented the TQTextStream << TQMainWindow and TQTextStream >> TQMainWindow
operators.
- pyuic will now extract Python code from the comments section of a .ui file.
- pyuic now supports PEP 263.
- Added the biff.py, checklists.py, drawlines.py and modified buttongroups.py
examples from Oleksandr Yakovlyev.
- Added the qtui module (thanks to Hans-Peter Jansen).
- Support for Qt v3.1.2 added.
- Support for TQt v3.1.2 added.
- PYQT_VERSION is now the version encoded as a hexadecimal value.
- Added PYQT_VERSION_STR.

v3.5 11th December 2002
- Added the qtext module containing the bindings for QScintilla.
- Added the missing QDockWindow.drawFrame(), QGLWidget.reparent() and
QMainWindow.lineUpDockWindows() methods.
- Added the missing QGLColorMap class.
- Support for Qt v3.0.6, v3.1.0 and v3.1.1 added.
- Added the Qt v3.1.x QAssistantClient, QEventLoop, QIconFactory,
- QIMComposeEvent, QMutexLocker and QSyntaxHighlighter classes, and
- Added the qtext module containing the bindings for TQScintilla.
- Added the missing TQDockWindow.drawFrame(), TQGLWidget.reparent() and
TQMainWindow.lineUpDockWindows() methods.
- Added the missing TQGLColorMap class.
- Support for TQt v3.0.6, v3.1.0 and v3.1.1 added.
- Added the TQt v3.1.x TQAssistantClient, TQEventLoop, TQIconFactory,
- TQIMComposeEvent, TQMutexLocker and TQSyntaxHighlighter classes, and
qCompress() and qUncompress functions.
- Removed eric from the distribution as it is now packaged separately.
- The SQL examples now support PostgreSQL as well as MySQL.
- Added the Qtopia v1.5.0 AppLnk, AppLnkSet, Config, DateFormat, DocLnk,
- Added the TQtopia v1.5.0 AppLnk, AppLnkSet, Config, DateFormat, DocLnk,
DocLnkSet, FileManager, FileSelector, FileSelectorItem, FontDatabase,
Global, MenuButton, QDawg, QList<AppLnk>, QList<DocLnk> and Resource
Global, MenuButton, TQDawg, TQList<AppLnk>, TQList<DocLnk> and Resource
classes.

v3.4 10th September 2002
@@ -199,33 +199,33 @@ v3.4 10th September 2002
- Added the progress.py example from Hans-Peter Jansen.
- Added the mdi.py and canvas.py examples from Sadi Kose.
- Added QT_TR_NOOP() and QT_TRANSLATE_NOOP().
- Added QApplication.winEventFilter(), QWidget.winEvent(), MSG and POINT
- Added TQApplication.winEventFilter(), TQWidget.winEvent(), MSG and POINT
under Windows.
- PyQt is now licensed under several licenses including the GPL and a
- PyTQt is now licensed under several licenses including the GPL and a
commercial license.

v3.3.2 12th July 2002
- Build system changes.

v3.3.1 9th July 2002
- Support for Qt v3.0.5 added.
- Support for TQt v3.0.5 added.

v3.3 7th July 2002
- Added README.SunOS.
- QValueList<QPixmap> is now fully implemented as a mapping to a Python list
of QPixmap instances.
- QSqlRecordInfo is now implemented as a Python list of QSqlFieldInfo
- TQValueList<TQPixmap> is now fully implemented as a mapping to a Python list
of TQPixmap instances.
- TQSqlRecordInfo is now implemented as a Python list of TQSqlFieldInfo
instances.
- Added the missing QDoubleValidator.setBottom(),
QDoubleValidator.setDecimals(), QDoubleValidator.setTop,
QFontMetrics.boundingRect(), QFontMetrics.size(),
QIntValidator.setBottom(), QIntValidator.setTop(), QString.compare() and
QString.localeAwareCompare().
- Added the missing TQDoubleValidator.setBottom(),
TQDoubleValidator.setDecimals(), TQDoubleValidator.setTop,
TQFontMetrics.boundingRect(), TQFontMetrics.size(),
TQIntValidator.setBottom(), TQIntValidator.setTop(), TQString.compare() and
TQString.localeAwareCompare().
- Added the qmake based build system.
- Added lots of eric patches from Detlev Offenbach. (eric should now work
again and has new features.)
- Added the SQL examples from Hans-Peter Jansen.
- pyuic for Qt v3 can now extract Python code from .ui files (thanks to
- pyuic for TQt v3 can now extract Python code from .ui files (thanks to
Christian Bird).

v3.2.4 18th May 2002
@@ -239,332 +239,332 @@ v3.2.1 5th May 2002
- Bug fixes only from the latest SIP.

v3.2 5th May 2002
- Instances that are sub-classes of QObject and created by Qt (by factory
- Instances that are sub-classes of TQObject and created by TQt (by factory
methods, or plugin managers for example) will now have the correct Python
class.
- Added the missing QToolTip.setEnabled() and QToolTip.enabled().
- Added the missing TQToolTip.setEnabled() and TQToolTip.enabled().
- Added support for MacOS X.
- Added PYQT_VERSION as the PyQt release number as a string.
- Added PYQT_VERSION as the PyTQt release number as a string.
- Added the semaphore.py example.
- Any Python object can now be passed as the data element of a QCustomEvent.
- configure now searches for Qt v3.0.4.
- Any Python object can now be passed as the data element of a TQCustomEvent.
- configure now searches for TQt v3.0.4.

v3.1 23rd March 2002
- Removed the internal QDateTimeEditBase and QDragResponseEvent classes.
- Added the QValueList<QImageTextLangKey> mapped class.
- Added the missing QImageTextLangKey class.
- Added the missing QActionGroup.add(), QActionGroup.addSeparator(),
QImage.dotsPerMeterX(), QImage.dotsPerMeterY(), QImage.setDotsPerMeterX(),
QImage.setDotsPerMeterY(), QImage.offset(), QImage.setOffset(),
QImage.textList(), QImage.textLanguages(), QImage.textKeys(), QImage.text()
and QImage.setText() methods.
- Added support for Qt/Embedded on the Sharp Zaurus.
- Added the start of the qtpe (Qt Palmtop Environment) module.
- Changes required for Qt v3.0.1 and v3.0.2.
- Removed the internal TQDateTimeEditBase and TQDragResponseEvent classes.
- Added the TQValueList<TQImageTextLangKey> mapped class.
- Added the missing TQImageTextLangKey class.
- Added the missing TQActionGroup.add(), TQActionGroup.addSeparator(),
TQImage.dotsPerMeterX(), TQImage.dotsPerMeterY(), TQImage.setDotsPerMeterX(),
TQImage.setDotsPerMeterY(), TQImage.offset(), TQImage.setOffset(),
TQImage.textList(), TQImage.textLanguages(), TQImage.textKeys(), TQImage.text()
and TQImage.setText() methods.
- Added support for TQt/Embedded on the Sharp Zaurus.
- Added the start of the qtpe (TQt Palmtop Environment) module.
- Changes retquired for TQt v3.0.1 and v3.0.2.
- configure now allows the location of zlib to be specified.
- configure now allows the directory to where the Python modules are
installed to be specified.
- configure now searches for Qt v3.0.1, v3.0.2 and v3.0.3.
- Changes required by the latest SIP.
- configure now searches for TQt v3.0.1, v3.0.2 and v3.0.3.
- Changes retquired by the latest SIP.
- Added the dragdrop example from Issac Trotts.
- Added /ReleaseLock/ to everything that might block.
- Upgraded to autoconf-2.53 and automake-1.6.

v3.0 17th November 2001
- Added the missing QChar.nbsp class variable.
- Added the missing QChar.isLetterOrNumber(), QChar.mirroredChar(),
QColorDialog.customColor(), QCustomDialog.customCount(),
QColorDialog.getRgba(), QCustomDialog.setCustomColor(), QFileDialog.done(),
QHeader.setUpdatesEnabled(), QHeader.showEvent(), QIconView.dropped(),
QIconViewItem.dropped(), QImage.inputFormatList(),
QImage.outputFormatList(), QLayoutIterator.next(), QLineEdit.displayText(),
QListBox.isRubberSelecting(), QMenuBar.activateItemAt(),
QMenuBar.focusInEvent(), QMenuBar.isDefaultUp(), QMenuBar.minimumSize(),
QMenuBar.minimumSizeHint(), QMenuBar.setDefaultUp(), QMenuData.findItem(),
QMimeSourceFactory.filePath(), QMimeSourceFactory.addFilePath(),
QMotifPlusStyle.drawMenuBarItem(), QMotifPlusStyle.drawPopupMenuItem(),
QMotifStyle.drawPopupMenuItem(), QMotifStyle.extraPopupMenuItemWidth(),
QMotifStyle.popupMenuItemHeight(), QNetworkProtocol.newChildren(),
QPlatinumStyle.drawPopupMenuItem(),
QPlatinumStyle.extraPopupMenuItemWidth(),
QPlatinumStyle.popupMenuItemHeight(), QPainter.pos(), QPalette.inactive(),
QPopupMenu.drawItem(), QPopupMenu.itemHeight(), QPrintDialog.addButton(),
QProgressDialog.forceShow(), QScrollBar.lineStep(), QScrollBar.maxValue(),
QScrollBar.minValue(), QScrollBar.pageStep(), QScrollBar.setLineStep(),
QScrollBar.setMaxValue(), QScrollBar.setMinValue(),
QScrollBar.setPageStep(), QScrollBar.setValue(), QScrollBar.value(),
QStyle.drawPopupMenuItem(), QStyle.drawMenuBarItem(),
QStyle.extraPopupMenuItemWidth(), QStyle.popupMenuItemHeight(),
QToolTip.hide(), QToolTipGroup.enabled(), QToolTipGroup.setEnabled(),
QTranslator.messages(), QUrlOperator.newChildren(),
QUrlOperator.startNextCopy(), QWindowsStyle.drawPopupMenuItem(),
QWindowsStyle.extraPopupMenuItemWidth() and
QWindowsStyle.popupMenuItemHeight() methods.
- Added all missing methods that use QDataStream.
- Added the missing QDir.match(), QObject.connect(), QRect.contains(),
QString.append() and QString.prepend() variants.
- Added the missing QAccel and QImage ctors.
- Added the missing QColorDrag, QDns, QIconDrag, QIconDragItem, QMenuItem,
QSGIStyle and QSound classes.
- Renamed QDate.isValidDate() to QDate.isValid(), QFile.fileExists() to
QFile.exists(), QFile.removeFile() to QFile.remove(), QLineEdit.del() to
QLineEdit.delChar(), QMultiLineEdit.deleteChar() to
QMultiLineEdit.delChar(), and QTime.IsValidTime() to QTime.isValid().
- Added the QCanvasSpline, QCheckTableItem, QComboTableItem,
QCustomMenuEvent, QDataBrowser, QDataTable, QDataView, QDateEdit,
QDateTimeEdit, QDesktopWidget, QDockArea, QDockWindow, QEditorFactory,
QErrorMessage, QGridView, QIMEvent, QKeySequence, QLibrary,
QObjectCleanupHandler, QPixmapCache, QProcess, QRegExpValidator, QSettings,
QSql, QSqlCursor, QSqlDatabase, QSqlDriver, QSqlEditorFactory, QSqlError,
QSqlField, QSqlFieldInfo, QSqlForm, QSqlIndex, QSqlPropertyMap, QSqlQuery,
QSqlRecord, QSqlRecordInfo, QSqlResult, QStyleFactory, QStyleOption,
QTabletEvent, QTextEdit, QTimeEdit and QWindowsMime Qt3 classes.
- Added the missing TQChar.nbsp class variable.
- Added the missing TQChar.isLetterOrNumber(), TQChar.mirroredChar(),
TQColorDialog.customColor(), TQCustomDialog.customCount(),
TQColorDialog.getRgba(), TQCustomDialog.setCustomColor(), TQFileDialog.done(),
TQHeader.setUpdatesEnabled(), TQHeader.showEvent(), TQIconView.dropped(),
TQIconViewItem.dropped(), TQImage.inputFormatList(),
TQImage.outputFormatList(), TQLayoutIterator.next(), TQLineEdit.displayText(),
TQListBox.isRubberSelecting(), TQMenuBar.activateItemAt(),
TQMenuBar.focusInEvent(), TQMenuBar.isDefaultUp(), TQMenuBar.minimumSize(),
TQMenuBar.minimumSizeHint(), TQMenuBar.setDefaultUp(), TQMenuData.findItem(),
TQMimeSourceFactory.filePath(), TQMimeSourceFactory.addFilePath(),
TQMotifPlusStyle.drawMenuBarItem(), TQMotifPlusStyle.drawPopupMenuItem(),
TQMotifStyle.drawPopupMenuItem(), TQMotifStyle.extraPopupMenuItemWidth(),
TQMotifStyle.popupMenuItemHeight(), TQNetworkProtocol.newChildren(),
TQPlatinumStyle.drawPopupMenuItem(),
TQPlatinumStyle.extraPopupMenuItemWidth(),
TQPlatinumStyle.popupMenuItemHeight(), TQPainter.pos(), TQPalette.inactive(),
TQPopupMenu.drawItem(), TQPopupMenu.itemHeight(), TQPrintDialog.addButton(),
TQProgressDialog.forceShow(), TQScrollBar.lineStep(), TQScrollBar.maxValue(),
TQScrollBar.minValue(), TQScrollBar.pageStep(), TQScrollBar.setLineStep(),
TQScrollBar.setMaxValue(), TQScrollBar.setMinValue(),
TQScrollBar.setPageStep(), TQScrollBar.setValue(), TQScrollBar.value(),
TQStyle.drawPopupMenuItem(), TQStyle.drawMenuBarItem(),
TQStyle.extraPopupMenuItemWidth(), TQStyle.popupMenuItemHeight(),
TQToolTip.hide(), TQToolTipGroup.enabled(), TQToolTipGroup.setEnabled(),
TQTranslator.messages(), TQUrlOperator.newChildren(),
TQUrlOperator.startNextCopy(), TQWindowsStyle.drawPopupMenuItem(),
TQWindowsStyle.extraPopupMenuItemWidth() and
TQWindowsStyle.popupMenuItemHeight() methods.
- Added all missing methods that use TQDataStream.
- Added the missing TQDir.match(), TQObject.connect(), TQRect.contains(),
TQString.append() and TQString.prepend() variants.
- Added the missing TQAccel and TQImage ctors.
- Added the missing TQColorDrag, TQDns, TQIconDrag, TQIconDragItem, TQMenuItem,
TQSGIStyle and TQSound classes.
- Renamed TQDate.isValidDate() to TQDate.isValid(), TQFile.fileExists() to
TQFile.exists(), TQFile.removeFile() to TQFile.remove(), TQLineEdit.del() to
TQLineEdit.delChar(), TQMultiLineEdit.deleteChar() to
TQMultiLineEdit.delChar(), and TQTime.IsValidTime() to TQTime.isValid().
- Added the TQCanvasSpline, TQCheckTableItem, TQComboTableItem,
TQCustomMenuEvent, TQDataBrowser, TQDataTable, TQDataView, TQDateEdit,
TQDateTimeEdit, TQDesktopWidget, TQDockArea, TQDockWindow, TQEditorFactory,
TQErrorMessage, TQGridView, TQIMEvent, TQKeySequence, TQLibrary,
TQObjectCleanupHandler, TQPixmapCache, TQProcess, TQRegExpValidator, TQSettings,
TQSql, TQSqlCursor, TQSqlDatabase, TQSqlDriver, TQSqlEditorFactory, TQSqlError,
TQSqlField, TQSqlFieldInfo, TQSqlForm, TQSqlIndex, TQSqlPropertyMap, TQSqlQuery,
TQSqlRecord, TQSqlRecordInfo, TQSqlResult, TQStyleFactory, TQStyleOption,
TQTabletEvent, TQTextEdit, TQTimeEdit and TQWindowsMime TQt3 classes.
- Added the missing qInitNetworkProtocols() function to the qtnetwork module.
- Removed the QTableHeader class and QTabWidget.selected() as they are not
- Removed the TQTableHeader class and TQTabWidget.selected() as they are not
part of the documented API.
- Removed the /Transfer/ flag on the QWidget parameters of
QBoxLayout.addWidget(), QBoxLayout.insertWidget(),
QGridLayout.addMultiCellWidget(), QGridLayout.addWidget() and
QLayout.add().
- QObject.className() now works with Python classes that sub-class from
QObject derived classes.
- Removed the /Transfer/ flag on the TQWidget parameters of
TQBoxLayout.addWidget(), TQBoxLayout.insertWidget(),
TQGridLayout.addMultiCellWidget(), TQGridLayout.addWidget() and
TQLayout.add().
- TQObject.className() now works with Python classes that sub-class from
TQObject derived classes.
- pyuic now generates double quoted strings rather than single quoted strings
(to help Qt Linguist).
(to help TQt Linguist).
- Moved the Canvas module classes to the new qtcanvas module.
- Moved the Network module classes to the new qtnetwork module.
- Moved the Table module classes to the new qttable module.
- Moved the XML module classes to the new qtxml module.
- configure now handles Qt-mt.
- configure now handles TQt-mt.
- Upgraded to autoconf-2.52, automake-1.5 and libtool-1.4.1.

v2.5 11th August 2001
Minor configuration changes. Added the missing variants of
QPixmap.save(), QWidget.reparent() and QInputDialog.getText(). Added
TQPixmap.save(), TQWidget.reparent() and TQInputDialog.getText(). Added
the qtgl module and the gears.py example script (thanks to Toby J
Sargeant). QObject.sender() will now return an appropriate value.
Fixed QTextView.setText() and QScrollView.addChild(). Fixed the
Sargeant). TQObject.sender() will now return an appropriate value.
Fixed TQTextView.setText() and TQScrollView.addChild(). Fixed the
problems with overloads with different C++ signatures but similar
Python signatures - QCString.setNum(), QLabel.setNum(),
QLCDNumber.checkOverflow(), QString.arg(), QString.number(),
QString.setNum(), QVariant() and QWMatrix.map(). Added the missing
QTranslator methods. Added the QTranslatorMessage class. configure
will now look for Qt v2.3.1. QInterlaceStyle is enabled only for Qt
Python signatures - TQCString.setNum(), TQLabel.setNum(),
TQLCDNumber.checkOverflow(), TQString.arg(), TQString.number(),
TQString.setNum(), TQVariant() and TQWMatrix.map(). Added the missing
TQTranslator methods. Added the TQTranslatorMessage class. configure
will now look for TQt v2.3.1. TQInterlaceStyle is enabled only for TQt
v2.3.1+ as it is broken in 2.3.0 on Windows. Fixed problems with
QLineEdit.event() and QMultiLineEdit.event(). Added post-hooks to
complement the existing pre-hooks. Added the Pizza example from the Qt
TQLineEdit.event() and TQMultiLineEdit.event(). Added post-hooks to
complement the existing pre-hooks. Added the Pizza example from the TQt
Designer manual. Removed the Version keyword for the latest SIP.
Fixed the memory leaks related to sipMapCppToSelf() in handwritten
code. Changed the build system to handle different versions of PyQt
for different versions of Qt. NULL QCanvasItemList, QFileInfoList,
QObjectList, QStrList and QWidgetList pointers are now converted to an
empty Python list rather than None. Added QDataStream and the QDom
code. Changed the build system to handle different versions of PyTQt
for different versions of TQt. NULL TQCanvasItemList, TQFileInfoList,
TQObjectList, TQStrList and TQWidgetList pointers are now converted to an
empty Python list rather than None. Added TQDataStream and the TQDom
classes (thanks to Jim Bublitz). Added the qt_xdisplay(), qt_xscreen()
and qt_xrootwin() functions. Added the QColor.getHsv(),
QPaintDevice.x11Display(), QPaintDevice.x11AppDisplay(),
QPaintDevice.x11SetAppDpiX(), QPaintDevice.x11SetAppDpiY() and
QWidget.customEvent() methods.
and qt_xrootwin() functions. Added the TQColor.getHsv(),
TQPaintDevice.x11Display(), TQPaintDevice.x11AppDisplay(),
TQPaintDevice.x11SetAppDpiX(), TQPaintDevice.x11SetAppDpiY() and
TQWidget.customEvent() methods.

v2.4 22nd April 2001
Added the missing QFileDialog.getExistingDirectory(),
QLineEdit.setReadOnly(), QLineEdit.readOnly(),
QMotifStyle.comboButtonFocusRect(), QMotifStyle.comboButtonRect() and
QMotifStyle.drawComboButton() methods. Added the missing
QFileDialog.DirectoryOnly and QPalette.Inactive enum values. Updated
Added the missing TQFileDialog.getExistingDirectory(),
TQLineEdit.setReadOnly(), TQLineEdit.readOnly(),
TQMotifStyle.comboButtonFocusRect(), TQMotifStyle.comboButtonRect() and
TQMotifStyle.drawComboButton() methods. Added the missing
TQFileDialog.DirectoryOnly and TQPalette.Inactive enum values. Updated
the themes.py example. configure now uses the python executable to get
the various Python locations. Added support of Qt v2.3.0, ie.
QApplication.type(), QFontDatabase.isFixedPitch(),
QScrollView.AutoOneFit, QToolBar.styleChange() and QInterlaceStyle.
Added the missing final argument to QMultiLineEdit.insertAt(). Added
the QCustomEvent class. Upgraded to automake v1.4d and libtool v1.3d.
the various Python locations. Added support of TQt v2.3.0, ie.
TQApplication.type(), TQFontDatabase.isFixedPitch(),
TQScrollView.AutoOneFit, TQToolBar.styleChange() and TQInterlaceStyle.
Added the missing final argument to TQMultiLineEdit.insertAt(). Added
the TQCustomEvent class. Upgraded to automake v1.4d and libtool v1.3d.

v2.3 4th February 2001
Added the missing QMessage.setTextFormat(), QMessage.textFormat(),
QPushButton.isFlat(), QPushButton.setFlat() and QMenuData.insertItem()
methods. Added the QCustomMenuItem class. pyuic assumes that custom
Added the missing TQMessage.setTextFormat(), TQMessage.textFormat(),
TQPushButton.isFlat(), TQPushButton.setFlat() and TQMenuData.insertItem()
methods. Added the TQCustomMenuItem class. pyuic assumes that custom
widgets are in another module and generates code to import them. Other
pyuic bug fixes and changes to keep track with Qt v2.2.4. eric bug
pyuic bug fixes and changes to keep track with TQt v2.2.4. eric bug
fixes. Added the addressbook.py, buttongroups.py and menu.py examples.
Updated all the tutorial scripts to match those in Qt v2.x. Removed
the Qt v1.x specific examples. Removed the deprecated behaviour of
repr() for QString, QCString and QByteArray. The Python objects that
correspond to C++ instances that are "owned" by Qt are now kept alive
Updated all the tutorial scripts to match those in TQt v2.x. Removed
the TQt v1.x specific examples. Removed the deprecated behaviour of
repr() for TQString, TQCString and TQByteArray. The Python objects that
correspond to C++ instances that are "owned" by TQt are now kept alive
without the Python program having to keep an explicit reference.
configure now looks for Python 2.1.

v2.2 6th November 2000
Added the %Copying directive. Added the missing %HeaderCode in
qsizepolicy.sip. Added classes QServerSocket, QSocket and
QHostAddress. Added hooks to the QApplication ctors to tell the
debugger when it is safe to create QSocketNotifiers (with UNIX you can
create QSocketNotifiers before you create the QApplication, with
qsizepolicy.sip. Added classes TQServerSocket, TQSocket and
TQHostAddress. Added hooks to the TQApplication ctors to tell the
debugger when it is safe to create TQSocketNotifiers (with UNIX you can
create TQSocketNotifiers before you create the TQApplication, with
Windows you can't). Other fixes to eric to get it working with
Windows. Implemented __str__ of QByteArray, QCString and QString to
Windows. Implemented __str__ of TQByteArray, TQCString and TQString to
return an empty string for null instances. Changed __repr__ of the
same classes to return a descriptive string for null instances. Added
the missing QPalette.setInactive(). Colour related fixes to pyuic
the missing TQPalette.setInactive(). Colour related fixes to pyuic
(thanks to Robert Roy). Added the documentation section on Python
strings, Qt strings and Unicode.
strings, TQt strings and Unicode.

v2.1 18th October 2000
Added support for Qt v2.2.1. Added the widgets.py example. Added the
eric debugger. Added the missing QCanvasPixmapArray ctor. Added the
missing QMenuData.setItemParameter(), QMenuData.itemParameter(),
QMenuData.activateItemAt(), QWidget.isHidden(), QWidget.isMaximized(),
QMultiLineEdit.getCursorPosition() and QButton.keyReleaseEvent(). Add
the len, [] and in operators to QStringList. Various other bug fixes
Added support for TQt v2.2.1. Added the widgets.py example. Added the
eric debugger. Added the missing TQCanvasPixmapArray ctor. Added the
missing TQMenuData.setItemParameter(), TQMenuData.itemParameter(),
TQMenuData.activateItemAt(), TQWidget.isHidden(), TQWidget.isMaximized(),
TQMultiLineEdit.getCursorPosition() and TQButton.keyReleaseEvent(). Add
the len, [] and in operators to TQStringList. Various other bug fixes
(see ChangeLog).

v2.0 14th September 2000
*NOTE* The implementation of enums has changed meaning that your
scripts will be need to be changed. Also repr() of a QString will
scripts will be need to be changed. Also repr() of a TQString will
return a unicode object (rather than a string) with versions of Python
that support Unicode.
Added /Transfer/ to QObject.insertChild(). Added /TransferBack/ to
QObject.removeChild() and QTabBar.removeTab(). Changes needed by the
latest SIP. Fixed QFontInfo.family() for Qt v2.x (thanks to Joerg
Kollmann). Added /Transfer/ etc. to several places in QScrollView,
QObject, QHeader, QListView and QListViewItem (thanks to Pete Ware).
Updated everything for Qt v2.2.0. Added pyuic. Updated the examples
Added /Transfer/ to TQObject.insertChild(). Added /TransferBack/ to
TQObject.removeChild() and TQTabBar.removeTab(). Changes needed by the
latest SIP. Fixed TQFontInfo.family() for TQt v2.x (thanks to Joerg
Kollmann). Added /Transfer/ etc. to several places in TQScrollView,
TQObject, TQHeader, TQListView and TQListViewItem (thanks to Pete Ware).
Updated everything for TQt v2.2.0. Added pyuic. Updated the examples
to handle to new form of enums. Added full support for Windows.
Install in site-packages if it exists. Changes to handwritten code to
support Python 1.6. Integrate QString with Python's Unicode support.
support Python 1.6. Integrate TQString with Python's Unicode support.

v0.12 18th May 2000
The versions of the examples specific to Qt v1.x now get installed in
RPMs. Added QListBoxItem.selected(), QStringList.append() and
QStringList.prepend(). Added /Transfer/ to QApplication.setStyle(),
QLayout.addItem(), QBoxLayout.addItem() and QGridLayout.addItem().
The versions of the examples specific to TQt v1.x now get installed in
RPMs. Added TQListBoxItem.selected(), TQStringList.append() and
TQStringList.prepend(). Added /Transfer/ to TQApplication.setStyle(),
TQLayout.addItem(), TQBoxLayout.addItem() and TQGridLayout.addItem().
Added themes.py to the examples. Clarified the software license.
Changes needed by the latest SIP.

v0.11.1 1st April 2000
Fixed the documentation for QPixmap::fill(). Code now compiles with
Fixed the documentation for TQPixmap::fill(). Code now compiles with
gcc v2.95.2.

v0.11 28th March 2000
Added Qt v2.x classes QCDEStyle, QChar, QColorDialog, QCommonStyle,
QCString, QFontDialog, QGLayoutIterator, QGrid, QHBox, QHButtonGroup,
QHGroupBox, QLayoutItem, QLayoutIterator, QMimeSource,
QMimeSourceFactory, QMotifStyle, QPlatinumStyle, QSessionManager,
QSimpleRichText, QSizeGrip, QSizePolicy, QSpacerItem, QStringList,
QStyle, QStyleSheet, QStyleSheetItem, Qt, QTabWidget, QTextBrowser,
QTextCodec, QTextDecoder, QTextEncoder, QTextIStream, QTextOStream,
QTextStream, QTextView, QTranslator, QUriDrag, QVBox, QVButtonGroup,
QVGroupBox, QWheelEvent, QWidgetItem, QWindowsStyle and QWizard. Many
other smaller changes for Qt v2.x. Added TransferThis where needed.
Added TQt v2.x classes TQCDEStyle, TQChar, TQColorDialog, TQCommonStyle,
TQCString, TQFontDialog, TQGLayoutIterator, TQGrid, TQHBox, TQHButtonGroup,
TQHGroupBox, TQLayoutItem, TQLayoutIterator, TQMimeSource,
TQMimeSourceFactory, TQMotifStyle, TQPlatinumStyle, TQSessionManager,
TQSimpleRichText, TQSizeGrip, TQSizePolicy, TQSpacerItem, TQStringList,
TQStyle, TQStyleSheet, TQStyleSheetItem, TQt, TQTabWidget, TQTextBrowser,
TQTextCodec, TQTextDecoder, TQTextEncoder, TQTextIStream, TQTextOStream,
TQTextStream, TQTextView, TQTranslator, TQUriDrag, TQVBox, TQVButtonGroup,
TQVGroupBox, TQWheelEvent, TQWidgetItem, TQWindowsStyle and TQWizard. Many
other smaller changes for TQt v2.x. Added TransferThis where needed.

v0.10.1 21st January 2000
Fixed a bug in the repr() functions for QString and QByteArray by
Fixed a bug in the repr() functions for TQString and TQByteArray by
generating the code using the latest SIP.

v0.10 19th December 1999
The .pyc files are now created by the installation process. Added
qAppName(), QCursor.handle(), QFont.handle(), QPaintDevice.handle(),
QPainter.handle(). Added most of the typedefs. Changed
qAppName(), TQCursor.handle(), TQFont.handle(), TQPaintDevice.handle(),
TQPainter.handle(). Added most of the typedefs. Changed
examples/application.py so as not to use the obsolete (and
unimplemented) QMessageBox.message(). Fixed bug in QPixmap ctor.
unimplemented) TQMessageBox.message(). Fixed bug in TQPixmap ctor.
Changed the format of version qualifiers for the latest SIP. Various
small changes to port to Windows. Added ReleaseLock to QDialog.exec().
Fixed a bug in QRect.coords(). Changed QString and QByteArray from
small changes to port to Windows. Added ReleaseLock to TQDialog.exec().
Fixed a bug in TQRect.coords(). Changed TQString and TQByteArray from
being mapped classes to being regular classes. Changed
examples/application.py, examples/dclock.py and examples/dirview.py to
explicitly convert from QString where needed.
explicitly convert from TQString where needed.

v0.9 6th September 1999
Separated the Qt and KDE bindings. These are the Qt bindings. Various
Separated the TQt and KDE bindings. These are the TQt bindings. Various
changes needed by the latest SIP. Re-introduced SLOT(). Changed the
examples to use SLOT() where possible. Added QObject.disconnect(),
QAccel.disconnectItem(), QMenuData.disconnectItem(),
QMovie.disconnectResize(), QMovie.disconnectStatus(),
QMovie.disconnectUpdate() and QApplication.clipboard(). Added the
QClipboard and QSocketNotifier classes. QEvent is automatically
converted to the correct sub-class. The Qt event loop now cooperates
with Python threads. Tested with Qt v1.44, Python v1.5.2, egcs v1.1.2
examples to use SLOT() where possible. Added TQObject.disconnect(),
TQAccel.disconnectItem(), TQMenuData.disconnectItem(),
TQMovie.disconnectResize(), TQMovie.disconnectStatus(),
TQMovie.disconnectUpdate() and TQApplication.clipboard(). Added the
TQClipboard and TQSocketNotifier classes. TQEvent is automatically
converted to the correct sub-class. The TQt event loop now cooperates
with Python threads. Tested with TQt v1.44, Python v1.5.2, egcs v1.1.2
and glibc v2.1.

v0.8 29th May 1999
Hopefully fixed the SuSE configuration problems. Fixed the QPointArray
ctor and QPointArray.setPoints() that took a list of points. Removed
Hopefully fixed the SuSE configuration problems. Fixed the TQPointArray
ctor and TQPointArray.setPoints() that took a list of points. Removed
the section in the documentation referring to the inability to handle
C++ references. Added lots of const keywords to suppress new warning
messages from the compiler. Changed the handwritten code for mapped
classes to follow the new NULL/None conventions, and for the
introduction of sipParseArgs(). Added Drag-and-Drop support to kmyapp.
Added Matt Gerassimoff's Qt examples. Added the QCursor global
cursors. Added QPainter.boundingRect(), KApplication.addDropZone(),
Added Matt Gerassimoff's TQt examples. Added the TQCursor global
cursors. Added TQPainter.boundingRect(), KApplication.addDropZone(),
KApplication.removeDropZone, KApplication.setRootDropZone(). Added
QDragEnterEvent, QDragLeaveEvent, QDragMoveEvent, QDragObject,
QDragResponseEvent, QDropEvent, QDropSite, QHideEvent, QImageDrag,
QPaintDeviceMetrics, QShowEvent, QStoredDrag, QTextDrag, QTimer,
QUrlDrag, QWindow, KDNDDropZone, KDNDIcon, KDNDWidget, KPath, KSpell,
KSpellConfig, KSpellDlg, KTreeList, KTreeListItem. Tested with Qt
TQDragEnterEvent, TQDragLeaveEvent, TQDragMoveEvent, TQDragObject,
TQDragResponseEvent, TQDropEvent, TQDropSite, TQHideEvent, TQImageDrag,
TQPaintDeviceMetrics, TQShowEvent, TQStoredDrag, TQTextDrag, TQTimer,
TQUrlDrag, TQWindow, KDNDDropZone, KDNDIcon, KDNDWidget, KPath, KSpell,
KSpellConfig, KSpellDlg, KTreeList, KTreeListItem. Tested with TQt
v1.44, KDE v1.1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1.1.

v0.7.1 3rd May 1999
Fixed the detection of -fno-exceptions support. Added the necessary
Py_DECREF(sipArgs) to all handwritten code. Tested with Qt v1.44, KDE
Py_DECREF(sipArgs) to all handwritten code. Tested with TQt v1.44, KDE
v1.1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1.

v0.7 16th April 1999
Build with -fno-exceptions if supported. Converted the documentation
to SGML. Replaced QT_VERSION and KDE_VERSION with the proper Qt and
KDE version constants. Fixed a bad bug converting from QStrings to
to SGML. Replaced QT_VERSION and KDE_VERSION with the proper TQt and
KDE version constants. Fixed a bad bug converting from TQStrings to
Python strings. The "connect" convenience function has been removed.
Added the class variables for all supported classes. Removed SLOT()
from all examples. Renamed some static functions in QDate, QTime and
QFile (needed because of the new implementation of static member
from all examples. Renamed some static functions in TQDate, TQTime and
TQFile (needed because of the new implementation of static member
functions). Added the ordinary functions related to supported classes.
Added QListView, QListViewItem, QCheckListItem, KButton, KButtonBox,
Added TQListView, TQListViewItem, TQCheckListItem, KButton, KButtonBox,
KContainerLayout, KContainerLayoutItem, KControlApplication,
KControlDialog, KConfigWidget, KDatePicker, KDateTable, KDialog,
KDirectionButton, KGradientSelector, KIntegerLine, KLed, KLedLamp,
KListSpinBox, KNewPanner, KNumericSpinBox, KPanner, KPopupMenu,
KQuickHelp, KQuickHelpWindow, KRestrictedLine, KRuler, KSelector,
KSeparator, KSlider, KSpinBox, KTabBar, KTabButton, KTabCtl,
KToolBoxManager, KWizard, KWizardPage, KXYSelector. Tested with Qt
KToolBoxManager, KWizard, KWizardPage, KXYSelector. Tested with TQt
v1.44, KDE v1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1.

v0.6 20th February 1999
Removed some handwritten code now that SIP automatically handles mapped
classes and slots. Changed QString to be mapped to/from Python
classes and slots. Changed TQString to be mapped to/from Python
strings. Added the static member functions for all supported classes.
Added new member functions for KDE v1.1. Added QBoxLayout,
QButtonGroup, QChain, QCheckBox, QChildEvent, QDate, QDateTime,
QDialog, QDir, QFileDialog, QFileIconProvider, QFileInfo,
QFileInfoList, QGManager, QGroupBox, QGridLayout, QHBoxLayout, QHeader,
QIconSet, QLayout, QMainWindow, QMessageBox, QMovie, QMultiLineEdit,
QObjectList, QPrintDialog, QPrinter, QProgressBar, QProgressDialog,
QRadioButton, QScrollView, QSemiModal, QSpinBox, QSplitter, QStatusBar,
QTab, QTabBar, QTabDialog, QTime, QToolBar, QToolButton, QToolTip,
QToolTipGroup, QVBoxLayout, QWhatsThis, QWidgetList, QWidgetStack.
Added new member functions for KDE v1.1. Added TQBoxLayout,
TQButtonGroup, TQChain, TQCheckBox, TQChildEvent, TQDate, TQDateTime,
TQDialog, TQDir, TQFileDialog, TQFileIconProvider, TQFileInfo,
TQFileInfoList, TQGManager, TQGroupBox, TQGridLayout, TQHBoxLayout, TQHeader,
TQIconSet, TQLayout, TQMainWindow, TQMessageBox, TQMovie, TQMultiLineEdit,
TQObjectList, TQPrintDialog, TQPrinter, TQProgressBar, TQProgressDialog,
TQRadioButton, TQScrollView, TQSemiModal, TQSpinBox, TQSplitter, TQStatusBar,
TQTab, TQTabBar, TQTabDialog, TQTime, TQToolBar, TQToolButton, TQToolTip,
TQToolTipGroup, TQVBoxLayout, TQWhatsThis, TQWidgetList, TQWidgetStack.
Added DlgLocation, KColorButton, KColorCombo, KColorDialog,
KColorGroup, KDirDialog, KDirEntry, KEdit, KFM, KFileBaseDialog,
KFileBookmark, KFileDialog, KFileInfo, KFileInfoContents,
KFileInfoList, KFontDialog, KHTMLView, KIconLoaderButton,
KIconLoaderDialog, KMsgBox, KPixmap, KProgress, KRadioGroup,
KSimpleConfig, KURL. Tested with Qt v1.42, KDE v1.1, egcs v1.1.1 and
KSimpleConfig, KURL. Tested with TQt v1.42, KDE v1.1, egcs v1.1.1 and
glibc v2.1.

v0.5 21st January 1999
The bindings are now packaged with autoconf configure scripts. The
enum in QFrame is now unnamed as it is in Qt. All the examples changed
enum in TQFrame is now unnamed as it is in TQt. All the examples changed
to use the new form of enums. Added support for qApp, the global
QColors, kapp, i18n(), Icon() and ICON(). Same test environment as
TQColors, kapp, i18n(), Icon() and ICON(). Same test environment as
v0.4.

v0.4 9th January 1999
Enough Qt and KDE classes to implement the 14 Qt tutorials and KMyApp,
Enough TQt and KDE classes to implement the 14 TQt tutorials and KMyApp,
but still not that many that implement user interface widgets. Tested
with Qt v1.42, KDE v1.0 and gcc v2.8.1.
with TQt v1.42, KDE v1.0 and gcc v2.8.1.

v0.3 9th December 1998
Many more Qt classes, but still not many that implement user interface
Many more TQt classes, but still not many that implement user interface
widgets. Those classes that are implemented are almost all fully
implemented. Tested with Qt v1.42.
implemented. Tested with TQt v1.42.

v0.2 5th December 1999
Added the definitions of protected and virtual member functions.

v0.1 1st November 1998
First release (with a very small set of classes implemented) to give
people a flavour. Tested with Qt v1.41.
people a flavour. Tested with TQt v1.41.

+ 11
- 11
README View File

@@ -1,9 +1,9 @@
PyQt - Python Bindings for the Qt Toolkit
PyTQt - Python Bindings for the TQt Toolkit


INTRODUCTION

These are the Python bindings for Qt. You must also have the SIP Python
These are the Python bindings for TQt. You must also have the SIP Python
bindings generator installed.

The homepage is http://www.riverbankcomputing.co.uk/pyqt/.
@@ -13,9 +13,9 @@ The homepage of SIP is http://www.riverbankcomputing.co.uk/sip/.

COMMERCIAL VERSION

If you have the Commercial version of PyQt then you should also have a
If you have the Commercial version of PyTQt then you should also have a
license file that you downloaded separately. The license file must be copied
to the "sip" directory before starting to build PyQt.
to the "sip" directory before starting to build PyTQt.


INSTALLATION
@@ -24,7 +24,7 @@ Check for any other README files in this directory that relate to your
particular platform. Feel free to contribute a README for your platform or to
provide updates to any existing documentation.

The first step is to configure PyQt by running the following command.
The first step is to configure PyTQt by running the following command.

python configure.py

@@ -39,21 +39,21 @@ interpreter for which you wish to generate bindings for.
The configure.py script takes many options. Use the "-h" command line option
to display a full list of the available options.

The next step is to build PyQt using your platform's make command.
The next step is to build PyTQt using your platform's make command.

make

The final step is to install PyQt by running the following command. (Depending
on your system you may require root or administrator privileges.)
The final step is to install PyTQt by running the following command. (Depending
on your system you may retquire root or administrator privileges.)

make install


THE REST OF THE DISTRIBUTION

The "examples2" and "examples3" directories contain some examples (for Qt v2.x
and Qt v3.x respectively) of Python scripts, including versions of the standard
Qt tutorials and examples.
The "examples2" and "examples3" directories contain some examples (for TQt v2.x
and TQt v3.x respectively) of Python scripts, including versions of the standard
TQt tutorials and examples.

The "doc" directory contains SGML and HTML documentation for the bindings.
This documentation includes a section describing the differences visible to

+ 7
- 7
README.AIX View File

@@ -1,16 +1,16 @@
This file describes some things to be aware of when building SIP (and PyQt)
This file describes some things to be aware of when building SIP (and PyTQt)
under AIX.

I had success building SIP V3/V4 (and PyQt) on AIX 4.3.3 and on AIX 5.1 with
I had success building SIP V3/V4 (and PyTQt) on AIX 4.3.3 and on AIX 5.1 with
VisualAge C++ and with gcc.
VisualAge C++ was version 6.0 but it should also work with version 5.x.
The GNU compiler was version 3.3.2 downloaded as a binary from
http://aixpdslib.seas.ucla.edu/aixpdslib.html

The Qt-Version was 3.2.3 but it should also work with previous versions.
The TQt-Version was 3.2.3 but it should also work with previous versions.

If you are using Python version 2.3.3 or higher, SIP (and PyQt) should build
If you are using Python version 2.3.3 or higher, SIP (and PyTQt) should build
out of the box without any changes.

If you are using a Python version before 2.3.3, you have to patch Python,
@@ -57,11 +57,11 @@ diff -uNr Python-2.3.2.orig/configure Python-2.3.2/configure
Darwin/*) DYNLOADFILE="dynload_next.o";;
---8<-------------------------------------------------------------------->8---

Note: I did not mix the compilers when building Qt, Python, SIP and PyQt. At
least Qt, SIP and PyQt must be built with the same compiler because of
Note: I did not mix the compilers when building TQt, Python, SIP and PyTQt. At
least TQt, SIP and PyTQt must be built with the same compiler because of
different name mangling schemes.

If you have any problems or questions on building SIP or PyQt on AIX, either
If you have any problems or questions on building SIP or PyTQt on AIX, either
send an email to ulrich.berning@desys.de or use the PyKDE mailing list.

Ulrich Berning

+ 11
- 11
README.SunOS View File

@@ -13,29 +13,29 @@
types in overloaded method signatures and issues a compiler error.
In this case bool is declared in qt/include/qglobal.h as
'typedef int bool;'. To workaround this '#if 0' out the the declaration
and body of 'proxySlot(bool)' in PyQt/qt/sipqtProxyqt.h and
PyQt/qt/qtcmodule.cpp. This resolves the compiler error but breaks
and body of 'proxySlot(bool)' in PyTQt/qt/sipqtProxyqt.h and
PyTQt/qt/qtcmodule.cpp. This resolves the compiler error but breaks
any 'sig(bool)' type signals. To workaround this, save the
PyQt/qt/sipqtProxyqt.moc generated after fixing the compiler error and
PyTQt/qt/sipqtProxyqt.moc generated after fixing the compiler error and
add the following bits of code:

...
static const QUParameter param_slot_42[] = {
{ 0, &static_QUType_bool, 0, QUParameter::In }
static const TQUParameter param_slot_42[] = {
{ 0, &static_QUType_bool, 0, TQUParameter::In }
};
static const QUMethod slot_42 = {"proxySlot", 1, param_slot_42 };
static const QMetaData slot_tbl[] = {
static const TQUMethod slot_42 = {"proxySlot", 1, param_slot_42 };
static const TQMetaData slot_tbl[] = {
...
{ "proxySlot(bool)", &slot_42, QMetaData::Public }
{ "proxySlot(bool)", &slot_42, TQMetaData::Public }
};
metaObj = QMetaObject::new_metaobject(
metaObj = TQMetaObject::new_metaobject(
"sipProxyqt", parentObject,
slot_tbl, 43,
...
case 42: proxySlot(static_QUType_bool.get(_o+1)); break;

You will need to comment out the line in PyQt/qt/Makefile that re-generates
PyQt/qt/sipqtProxyqt.moc with moc to avoid the above changes from being
You will need to comment out the line in PyTQt/qt/Makefile that re-generates
PyTQt/qt/sipqtProxyqt.moc with moc to avoid the above changes from being
overwritten.

In order to test that everything has been done correctly, create a

+ 6
- 6
THANKS View File

@@ -1,6 +1,6 @@
Torsten Marek
For going through the Qt classes and adding applicable operators to
PyQt.
For going through the TQt classes and adding applicable operators to
PyTQt.

Detlev Offenbach
For picking up and enhancing eric.
@@ -13,20 +13,20 @@ Dimitri Papadopoulos-Orfanos
For all the help with the MacOS X port.

Jim Bublitz
For QDataStream and the QDom classes, and picking up PyKDE.
For TQDataStream and the TQDom classes, and picking up PyKDE.

Pete Ware
For lots of patches for Qt v2.1+.
For lots of patches for TQt v2.1+.

Boudewijn Rempt
For evangelising and providing so much support to other users. Oh, and
writing a book about it all.

Toby J Sargeant
For QSocketNotifier and getting Python threads working with Qt.
For TQSocketNotifier and getting Python threads working with TQt.

Matt Gerassimoff
For his Python versions of many of the Qt example programs.
For his Python versions of many of the TQt example programs.

Matt Gerassimoff, John Filo, Boudewijn Rempt
For testing and excellent bug reports.

+ 85
- 85
build.py View File

@@ -1,23 +1,23 @@
# Copyright (c) 2007
# Riverbank Computing Limited <info@riverbankcomputing.co.uk>
#
# This file is part of PyQt.
# This file is part of PyTQt.
#
# This copy of PyQt is free software; you can redistribute it and/or modify it
# This copy of PyTQt is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
# PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# PyQt; see the file LICENSE. If not, write to the Free Software Foundation,
# PyTQt; see the file LICENSE. If not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# This is the build script for PyQt. It should be run in the top level
# This is the build script for PyTQt. It should be run in the top level
# directory of the source distribution and by the Python interpreter for which
# it is being built. It uses either qmake or tmake to do the hard work of
# generating the platform specific Makefiles.
@@ -41,7 +41,7 @@ except:
print "SIP v3.9 or later installed."
sys.exit(1)

config = sipconfig.SIPConfig("PyQt 3.18.1")
config = sipconfig.SIPConfig("PyTQt 3.18.1")


# Initialise the globals.
@@ -74,13 +74,13 @@ def usage(rcode = 2):
print " -a tag explicitly enable the qtpe module"
print " -b dir where pyuic and pylupdate will be installed [default %s]" % config.default_bin_dir
print " -c concatenate each module's C++ source files"
print " -d dir where the PyQt modules will be installed [default %s]" % config.default_mod_dir
print " -d dir where the PyTQt modules will be installed [default %s]" % config.default_mod_dir
print " -g always release the GIL (SIP v3.x behaviour)"
print " -j # split the concatenated C++ source files into # pieces [default 1]"
print " -n dir the directory containing the QScintilla header files [default %s]" % config.qt_inc_dir
print " -o dir the directory containing the QScintilla library [default %s]" % config.qt_lib_dir
print " -n dir the directory containing the TQScintilla header files [default %s]" % config.qt_inc_dir
print " -o dir the directory containing the TQScintilla library [default %s]" % config.qt_lib_dir
print " -r generate code with tracing enabled [default disabled]"
print " -v dir where the PyQt .sip files will be installed [default %s]" % config.default_sip_dir
print " -v dir where the PyTQt .sip files will be installed [default %s]" % config.default_sip_dir

sys.exit(rcode)

@@ -117,7 +117,7 @@ SOURCES = qttest.cpp
LIBS += @TEST_QUI_LIB@ @TEST_QSCINTILLA_LIB@
""")

# Disable OpenGL, qui and QScintilla support by default.
# Disable OpenGL, tqui and TQScintilla support by default.
config.patches["@TEST_OPENGL@"] = ""
config.patches["@TEST_QUI_LIB@"] = ""
config.patches["@TEST_QSCINTILLA_INC@"] = ""
@@ -137,11 +137,11 @@ LIBS += @TEST_QUI_LIB@ @TEST_QSCINTILLA_LIB@


def tryModule(maindir, mname, incfile, ctor):
"""See if a PyQt module should be built and update the buildModules list
"""See if a PyTQt module should be built and update the buildModules list
accordingly.

maindir is the directory containing this script.
mname is the name of the PyQt module.
mname is the name of the PyTQt module.
incfile is the C++ header file that defines the class being used for the
test.
ctor is the constructor of the class being used for the test.
@@ -170,10 +170,10 @@ int main(int argc,char **argv)
sipconfig.run_make("clean")


def checkQScintilla():
"""See if QScintilla can be found and what its version is.
def checkTQScintilla():
"""See if TQScintilla can be found and what its version is.
"""
# Find the QScintilla header files.
# Find the TQScintilla header files.
sciglobal = os.path.join(sciIncDir, "qextscintillaglobal.h")

if os.access(sciglobal,os.F_OK):
@@ -181,26 +181,26 @@ def checkQScintilla():

sipconfig.inform("%s contains qextscintillaglobal.h." % (sciIncDir))

# Get the QScintilla version number.
# Get the TQScintilla version number.
global sciVersion

sciVersion, sciversstr = sipconfig.read_version(sciglobal, "QScintilla", "QSCINTILLA_VERSION", "QSCINTILLA_VERSION_STR")
sciVersion, sciversstr = sipconfig.read_version(sciglobal, "TQScintilla", "TQSCINTILLA_VERSION", "TQSCINTILLA_VERSION_STR")

sipconfig.inform("QScintilla %s is being used." % (sciversstr))
sipconfig.inform("TQScintilla %s is being used." % (sciversstr))

# If we find a snapshot then set the version number to 0 as a special
# case.
if sciversstr[:8] == "snapshot":
sciVersion = 0

# Find the QScintilla library.
# Find the TQScintilla library.
if sys.platform == "win32":
lpatt = "qscintilla.lib"
else:
lpatt = "libqscintilla.*"

if len(glob.glob(os.path.join(sciLibDir, lpatt))):
sipconfig.inform("%s contains the QScintilla library." % sciLibDir)
sipconfig.inform("%s contains the TQScintilla library." % sciLibDir)

global sciLib

@@ -211,57 +211,57 @@ def checkQScintilla():

config.patches["@PYQT_QSCINTILLA_LIB@"] = sciLib
else:
sipconfig.inform("The QScintilla library could not be found in %s and so the qtext module will not be built. If QScintilla is installed then use the -o argument to explicitly specify the correct directory." % (sciLibDir))
sipconfig.inform("The TQScintilla library could not be found in %s and so the qtext module will not be built. If TQScintilla is installed then use the -o argument to explicitly specify the correct directory." % (sciLibDir))

sciVersion = -1
else:
sipconfig.inform("qextscintillaglobal.h could not be found in %s and so the qtext module will not be built. If QScintilla is installed then use the -n argument to explicitly specify the correct directory." % sciIncDir)
sipconfig.inform("qextscintillaglobal.h could not be found in %s and so the qtext module will not be built. If TQScintilla is installed then use the -n argument to explicitly specify the correct directory." % sciIncDir)

sciVersion = -1


def moduleChecks(maindir):
"""See which PyQt modules to build.
"""See which PyTQt modules to build.
"""
sipconfig.inform("Checking which additional PyQt modules to build.");
sipconfig.inform("Checking which additional PyTQt modules to build.");

tryModule(maindir,"qtcanvas", "qcanvas.h", "QCanvas()")
tryModule(maindir,"qtnetwork", "qsocket.h", "QSocket()")
tryModule(maindir,"qttable", "qtable.h", "QTable()")
tryModule(maindir,"qtxml", "qdom.h", "QDomImplementation()")
tryModule(maindir,"qtcanvas", "qcanvas.h", "TQCanvas()")
tryModule(maindir,"qtnetwork", "qsocket.h", "TQSocket()")
tryModule(maindir,"qttable", "qtable.h", "TQTable()")
tryModule(maindir,"qtxml", "qdom.h", "TQDomImplementation()")

if config.qt_version >= 0x030000:
tryModule(maindir,"qtsql", "qsql.h", "QSql()")
tryModule(maindir,"qtsql", "qsql.h", "TQSql()")

# We need a different Makefile for the qtgl module.
config.patches["@TEST_OPENGL@"] = "opengl"
config.create_makefile("qttest.pro")

tryModule(maindir,"qtgl", "qgl.h", "QGLWidget()")
tryModule(maindir,"qtgl", "qgl.h", "TQGLWidget()")

# Put things back.
config.patches["@TEST_OPENGL@"] = ""
config.create_makefile("qttest.pro")

# Check for the qui library.
# Check for the tqui library.
if config.qt_version >= 0x030000:
if sys.platform == "win32":
quilib = r"$(QTDIR)\lib\qui.lib"
tquilib = r"$(QTDIR)\lib\tqui.lib"
else:
quilib = "-lqui"
tquilib = "-ltqui"

config.patches["@PYQT_QUI_LIB@"] = quilib
config.patches["@PYQT_QUI_LIB@"] = tquilib

config.patches["@TEST_QUI_LIB@"] = quilib
config.patches["@TEST_QUI_LIB@"] = tquilib
config.create_makefile("qttest.pro")

tryModule(maindir,"qtui", "qwidgetfactory.h", "QWidgetFactory()")
tryModule(maindir,"qtui", "qwidgetfactory.h", "TQWidgetFactory()")

# Put things back.
config.patches["@TEST_QUI_LIB@"] = ""
config.create_makefile("qttest.pro")

# Check for the QScintilla library.
# Check for the TQScintilla library.
if sciVersion >= 0:
config.patches["@TEST_QSCINTILLA_INC@"] = sciIncDir
config.patches["@TEST_QSCINTILLA_LIB@"] = sciLib
@@ -276,7 +276,7 @@ def moduleChecks(maindir):


def generateFeatures(featfile):
"""Generate the header file describing the Qt features that are enabled if
"""Generate the header file describing the TQt features that are enabled if
it doesn't already exist. (If it already exists then we are probably cross
compiling and generated the file through other means.)

@@ -288,8 +288,8 @@ def generateFeatures(featfile):

sipconfig.inform("Generating the features file.")

# The features that a given Qt configuration may or may not support. Note
# that STYLE_WINDOWSXP requires special handling.
# The features that a given TQt configuration may or may not support. Note
# that STYLE_WINDOWSXP retquires special handling.
flist = ["ACTION", "CLIPBOARD", "CODECS", "COLORDIALOG", "DATASTREAM",
"DIAL", "DNS", "DOM", "DRAGANDDROP", "ICONVIEW", "IMAGE_TEXT",
"INPUTDIALOG", "FILEDIALOG", "FONTDATABASE", "FONTDIALOG",
@@ -315,7 +315,7 @@ def generateFeatures(featfile):
int main(int argc,char **argv)
{
FILE *fp;
QApplication app(argc,argv,0);
TQApplication app(argc,argv,0);

if ((fp = fopen("%s","w")) == NULL)
{
@@ -324,12 +324,12 @@ int main(int argc,char **argv)
}

#if !defined(QT_THREAD_SUPPORT)
fprintf(fp,"-x Qt_THREAD_SUPPORT\\n");
fprintf(fp,"-x TQt_THREAD_SUPPORT\\n");
#endif

#if (defined(Q_OS_WIN32) || defined(Q_OS_WIN64)) && QT_VERSION >= 0x030000
if (qWinVersion() != Qt::WV_XP)
fprintf(fp,"-x Qt_STYLE_WINDOWSXP\\n");
if (qWinVersion() != TQt::WV_XP)
fprintf(fp,"-x TQt_STYLE_WINDOWSXP\\n");
#endif
""" % (ffstr, ffstr))

@@ -337,7 +337,7 @@ int main(int argc,char **argv)
f.write(
"""
#if defined(QT_NO_%s)
fprintf(fp,"-x Qt_%s\\n");
fprintf(fp,"-x TQt_%s\\n");
#endif
""" % (feat, feat))

@@ -359,11 +359,11 @@ int main(int argc,char **argv)


def generateSource(mname, plattag, qttag, xtrtag):
"""Generate the C++ source code for a particular PyQt module.
"""Generate the C++ source code for a particular PyTQt module.

mname is the name of the module.
plattag is the SIP tag for the platform.
qttag is the SIP tag for the Qt version.
qttag is the SIP tag for the TQt version.
xtrtag is an optional extra SIP tag.
"""
sipconfig.inform("Generating the C++ source for the %s module." % mname)
@@ -521,22 +521,22 @@ def main(argv):
else:
sipconfig.error("Please copy the license file %s to the sip directory.\n" % config.license_file)

# Check the Qt version.
# Check the TQt version.
if config.qt_version == 0:
sipconfig.error("SIP has been built with Qt support disabled.\n")
sipconfig.error("SIP has been built with TQt support disabled.\n")

# Early versions of Qt for the Mac didn't include everything. Rather than
# Early versions of TQt for the Mac didn't include everything. Rather than
# maintain these in the future we just mandate a later version.
if sys.platform == "darwin" and config.qt_version < 0x030100:
sipconfig.error("PyQt for MacOS/X requires Qt v3.1.0 or later.\n")
sipconfig.error("PyTQt for MacOS/X retquires TQt v3.1.0 or later.\n")

# Check the installation directory is valid and add it as a patch.
if not os.access(modDir,os.F_OK):
sipconfig.error("The %s PyQt destination directory does not seem to exist. Use the -d argument to set the correct directory." % (modDir))
sipconfig.error("The %s PyTQt destination directory does not seem to exist. Use the -d argument to set the correct directory." % (modDir))

config.patches["@PYQT_MODDIR@"] = sipconfig.escape(modDir)

sipconfig.inform("%s is the PyQt installation directory." % (modDir))
sipconfig.inform("%s is the PyTQt installation directory." % (modDir))

# Enable warnings for SIP v4 generated code.
if sipMajorVersion >= 4:
@@ -573,7 +573,7 @@ def main(argv):

config.patches["@PYQT_RBPROF@"] = rbprof

# Link in the qassistantclient library for Qt v3.1+.
# Link in the qassistantclient library for TQt v3.1+.
qaclib = ""

if config.qt_version >= 0x030100:
@@ -584,9 +584,9 @@ def main(argv):

config.patches["@PYQT_QASSISTANTCLIENT_LIB@"] = qaclib

# Check for QScintilla.
# Check for TQScintilla.
if config.qt_version >= 0x030000:
checkQScintilla()
checkTQScintilla()

# Create a build directory that we can compile test programs.
maindir = mkTempBuildDir()
@@ -595,7 +595,7 @@ def main(argv):
if config.qt_version >= 0x020000:
moduleChecks(maindir)

# Work out the platform and Qt version tags to pass to SIP to generate the
# Work out the platform and TQt version tags to pass to SIP to generate the
# code we need.
if config.qt_lib == "qte":
plattag = "WS_QWS"
@@ -607,36 +607,36 @@ def main(argv):
plattag = "WS_X11"

qttags = {
0x020000: "Qt_1_43",
0x020100: "Qt_2_00",
0x020200: "Qt_2_1_0",
0x020300: "Qt_2_2_0",
0x020301: "Qt_2_3_0",
0x030000: "Qt_2_3_1",
0x030001: "Qt_3_0_0",
0x030002: "Qt_3_0_1",
0x030004: "Qt_3_0_2",
0x030005: "Qt_3_0_4",
0x030006: "Qt_3_0_5",
0x030100: "Qt_3_0_6",
0x030101: "Qt_3_1_0",
0x030102: "Qt_3_1_1",
0x030200: "Qt_3_1_2",
0x030300: "Qt_3_2_0",
0x040000: "Qt_3_3_0"
0x020000: "TQt_1_43",
0x020100: "TQt_2_00",
0x020200: "TQt_2_1_0",
0x020300: "TQt_2_2_0",
0x020301: "TQt_2_3_0",
0x030000: "TQt_2_3_1",
0x030001: "TQt_3_0_0",
0x030002: "TQt_3_0_1",
0x030004: "TQt_3_0_2",
0x030005: "TQt_3_0_4",
0x030006: "TQt_3_0_5",
0x030100: "TQt_3_0_6",
0x030101: "TQt_3_1_0",
0x030102: "TQt_3_1_1",
0x030200: "TQt_3_1_2",
0x030300: "TQt_3_2_0",
0x040000: "TQt_3_3_0"
}

qttag = versionToTag(config.qt_version, qttags, "Qt")
qttag = versionToTag(config.qt_version, qttags, "TQt")

# Work out the QScintilla tag.
# Work out the TQScintilla tag.
if sciVersion >= 0:
scitags = {
0x010100: "QScintilla_1_0",
0x010200: "QScintilla_1_1",
0x020000: "QScintilla_1_2"
0x010100: "TQScintilla_1_0",
0x010200: "TQScintilla_1_1",
0x020000: "TQScintilla_1_2"
}

scitag = versionToTag(sciVersion, scitags, "QScintilla")
scitag = versionToTag(sciVersion, scitags, "TQScintilla")
else:
scitag = None

@@ -697,7 +697,7 @@ def main(argv):
config.create_makefile("pyuic.pro", [])
sipconfig.pop_dir(olddir)

# Build pylupdate if Qt v3.0 or later.
# Build pylupdate if TQt v3.0 or later.
if config.qt_version >= 0x030000:
sipconfig.inform("Creating Makefile for pylupdate3.")
subdirs.append("pylupdate3")
@@ -708,11 +708,11 @@ def main(argv):

# Generate the top-level Makefile.
sipconfig.inform("Creating top level Makefile.")
sipconfig.copy_to_file("PyQt.pro.in", "TEMPLATE = subdirs\nSUBDIRS = " + string.join(subdirs) + "\n")
config.create_makefile("PyQt.pro")
sipconfig.copy_to_file("PyTQt.pro.in", "TEMPLATE = subdirs\nSUBDIRS = " + string.join(subdirs) + "\n")
config.create_makefile("PyTQt.pro")

# Tell the user what to do next.
msg = "The build of the PyQt source code for your system is now complete. To compile and install PyQt run \"%s\" and \"%s install\" with appropriate user privileges." % (config.make_bin, config.make_bin)
msg = "The build of the PyTQt source code for your system is now complete. To compile and install PyTQt run \"%s\" and \"%s install\" with appropriate user privileges." % (config.make_bin, config.make_bin)

sipconfig.inform(msg)


+ 157
- 157
configure.py View File

@@ -1,22 +1,22 @@
# This script generates the PyQt configuration and generates the Makefiles.
# This script generates the PyTQt configuration and generates the Makefiles.
#
# Copyright (c) 2007
# Riverbank Computing Limited <info@riverbankcomputing.co.uk>
#
# This file is part of PyQt.
# This file is part of PyTQt.
#
# This copy of PyQt is free software; you can redistribute it and/or modify it
# This copy of PyTQt is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
# PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# PyQt; see the file LICENSE. If not, write to the Free Software Foundation,
# PyTQt; see the file LICENSE. If not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


@@ -39,7 +39,7 @@ pyqt_version_str = "3.18.1"
sip_min_version = 0x040800


# Try and find a Qt installation to use as the default.
# Try and find a TQt installation to use as the default.
try:
qt_dir = os.environ["QTDIR"]
except KeyError:
@@ -62,7 +62,7 @@ qsci_version = 0
disabled_classes = []

if sys.platform == "win32":
qsci_define = "QEXTSCINTILLA_DLL"
qsci_define = "TQEXTSCINTILLA_DLL"
else:
qsci_define = ""

@@ -108,29 +108,29 @@ def usage(rcode = 2):
sys.stdout.write(" -a tag explicitly enable the qtpe module\n")
sys.stdout.write(" -b dir where pyuic and pylupdate will be installed [default %s]\n" % opt_pyqtbindir)
sys.stdout.write(" -c concatenate each module's C/C++ source files\n")
sys.stdout.write(" -d dir where the PyQt modules will be installed [default %\ns]" % opt_pyqtmoddir)
sys.stdout.write(" -d dir where the PyTQt modules will be installed [default %\ns]" % opt_pyqtmoddir)
sys.stdout.write(" -f keep any existing features file (when cross-compiling) [default remove]\n")
sys.stdout.write(" -g dir where the Qt qconfig.h file can be found [default Qt include directory]\n")
sys.stdout.write(" -g dir where the TQt qconfig.h file can be found [default TQt include directory]\n")
sys.stdout.write(" -i enable checking of signed interpreters using the VendorID package [default disabled]\n")
sys.stdout.write(" -j # split the concatenated C++ source files into # pieces [default 1]\n")
sys.stdout.write(" -k build the PyQt modules as static libraries\n")
sys.stdout.write(" -k build the PyTQt modules as static libraries\n")
sys.stdout.write(" -l dir the directory containing the VendorID header file [default %s]\n" % opt_vendincdir)
sys.stdout.write(" -m dir the directory containing the VendorID library [default %s]\n" % opt_vendlibdir)
sys.stdout.write(" -n dir the directory containing the QScintilla header files [default Qt include directory]\n")
sys.stdout.write(" -o dir the directory containing the QScintilla library [default Qt lib directory]\n")
sys.stdout.write(" -q dir the root directory of the Qt installation [default %s]\n" % def_qt_dir)
sys.stdout.write(" -n dir the directory containing the TQScintilla header files [default TQt include directory]\n")
sys.stdout.write(" -o dir the directory containing the TQScintilla library [default TQt lib directory]\n")
sys.stdout.write(" -q dir the root directory of the TQt installation [default %s]\n" % def_qt_dir)
sys.stdout.write(" -r generate code with tracing enabled [default disabled]\n")
sys.stdout.write(" -s QScintilla is a static library and not a DLL (Windows only)\n")
sys.stdout.write(" -u build with debugging symbols (requires a debug build of Python on Windows\n")
sys.stdout.write(" -v dir where the PyQt .sip files will be installed [default %s]\n" % opt_pyqtsipdir)
sys.stdout.write(" -s TQScintilla is a static library and not a DLL (Windows only)\n")
sys.stdout.write(" -u build with debugging symbols (retquires a debug build of Python on Windows\n")
sys.stdout.write(" -v dir where the PyTQt .sip files will be installed [default %s]\n" % opt_pyqtsipdir)
sys.stdout.write(" -w don't suppress compiler output during configuration\n")
sys.stdout.write(" -y lib explicitly specify the type of Qt library, either qt, qt-mt, qte, qte-mt or qtmt\n")
sys.stdout.write(" -y lib explicitly specify the type of TQt library, either qt, qt-mt, qte, qte-mt, qtmt, tqt, tqt-mt, tqte, tqte-mt or tqtmt\n")

sys.exit(rcode)


class ConfigureBase:
"""This is the base class for all PyQt version specific configurer classes.
"""This is the base class for all PyTQt version specific configurer classes.
Anything here is common to all configurers.
"""
def check_modules(self):
@@ -192,26 +192,26 @@ class ConfigureBase:
return opt_pyqtsipdir


class ConfigurePyQt3(ConfigureBase):
"""This class defines the methods to configure PyQt v3.
class ConfigurePyTQt3(ConfigureBase):
"""This class defines the methods to configure PyTQt v3.
"""
def check_modules(self):
pyqt_modules.append("qt")

check_module("qtcanvas", "qcanvas.h", "QCanvas()")
check_module("qtnetwork", "qsocket.h", "QSocket()")
check_module("qttable", "qtable.h", "QTable()")
check_module("qtxml", "qdom.h", "QDomImplementation()")
check_module("qtgl", "qgl.h", "QGLWidget()", opengl=1)
check_module("qtcanvas", "qcanvas.h", "TQCanvas()")
check_module("qtnetwork", "qsocket.h", "TQSocket()")
check_module("qttable", "qtable.h", "TQTable()")
check_module("qtxml", "qdom.h", "TQDomImplementation()")
check_module("qtgl", "qgl.h", "TQGLWidget()", opengl=1)

if qt_version >= 0x030000:
check_module("qtui", "qwidgetfactory.h", "QWidgetFactory()", lib="qui")
check_module("qtui", "qwidgetfactory.h", "TQWidgetFactory()", lib="tqui")

if qt_edition in ("enterprise", "free"):
check_module("qtsql", "qsql.h", "QSql()")
check_module("qtsql", "qsql.h", "TQSql()")

if sys.platform == "win32" and sipcfg.sip_version >= 0x040200:
check_module("qtaxcontainer", "qaxobject.h", "QAxObject()", lib="qaxcontainer")
check_module("qtaxcontainer", "qaxobject.h", "TQAxObject()", lib="qaxcontainer")

if qsci_version:
check_module("qtext", "qextscintillabase.h", "QextScintillaBase()", define=qsci_define, include_dir=opt_qsciincdir, lib_dir=opt_qscilibdir, lib="qscintilla")
@@ -222,12 +222,12 @@ class ConfigurePyQt3(ConfigureBase):
qtmod_lib = None

if qt_version >= 0x030100:
sipconfig.inform("Checking to see if the QAssistantClient class is available...")
sipconfig.inform("Checking to see if the TQAssistantClient class is available...")

if check_class("qassistantclient.h", "QAssistantClient(\"foo\")", lib="qassistantclient"):
if check_class("qassistantclient.h", "TQAssistantClient(\"foo\")", lib="qassistantclient"):
qtmod_lib = "qassistantclient"
else:
disabled_classes.append("QAssistantClient")
disabled_classes.append("TQAssistantClient")

return qtmod_lib

@@ -237,25 +237,25 @@ class ConfigurePyQt3(ConfigureBase):
def qt_version_tags(self):
return {
0x010403: None,
0x020000: "Qt_1_43",
0x020100: "Qt_2_00",
0x020200: "Qt_2_1_0",
0x020300: "Qt_2_2_0",
0x020301: "Qt_2_3_0",
0x030000: "Qt_2_3_1",
0x030001: "Qt_3_0_0",
0x030002: "Qt_3_0_1",
0x030004: "Qt_3_0_2",
0x030005: "Qt_3_0_4",
0x030006: "Qt_3_0_5",
0x030100: "Qt_3_0_6",
0x030101: "Qt_3_1_0",
0x030102: "Qt_3_1_1",
0x030200: "Qt_3_1_2",
0x030300: "Qt_3_2_0",
0x030305: "Qt_3_3_0",
0x030306: "Qt_3_3_5",
0x040000: "Qt_3_3_6"
0x020000: "TQt_1_43",
0x020100: "TQt_2_00",
0x020200: "TQt_2_1_0",
0x020300: "TQt_2_2_0",
0x020301: "TQt_2_3_0",
0x030000: "TQt_2_3_1",
0x030001: "TQt_3_0_0",
0x030002: "TQt_3_0_1",
0x030004: "TQt_3_0_2",
0x030005: "TQt_3_0_4",
0x030006: "TQt_3_0_5",
0x030100: "TQt_3_0_6",
0x030101: "TQt_3_1_0",
0x030102: "TQt_3_1_1",
0x030200: "TQt_3_1_2",
0x030300: "TQt_3_2_0",
0x030305: "TQt_3_3_0",
0x030306: "TQt_3_3_5",
0x040000: "TQt_3_3_6"
}

def code(self, extra_include_dirs, extra_lib_dir, extra_libs):
@@ -271,7 +271,7 @@ class ConfigurePyQt3(ConfigureBase):
generate_code("qtpe", extra_libs=["qpe"], sip_flags=qtpe_sip_flags)

if "qtui" in pyqt_modules:
generate_code("qtui", extra_libs=["qui"])
generate_code("qtui", extra_libs=["tqui"])

if "qtaxcontainer" in pyqt_modules:
generate_code("qtaxcontainer", extra_libs=["qaxcontainer"])
@@ -379,18 +379,18 @@ def inform_user():
else:
edstr = ""

sipconfig.inform("Qt v%s %sis being used." % (sipconfig.version_to_string(qt_version), edstr))
sipconfig.inform("TQt v%s %sis being used." % (sipconfig.version_to_string(qt_version), edstr))
sipconfig.inform("SIP %s is being used." % sipcfg.sip_version_str)
sipconfig.inform("These PyQt modules will be built: %s." % string.join(pyqt_modules))
sipconfig.inform("These PyTQt modules will be built: %s." % string.join(pyqt_modules))

if disabled_classes:
sipconfig.inform("Support for these Qt classes has been disabled: %s." % string.join(disabled_classes))
sipconfig.inform("Support for these TQt classes has been disabled: %s." % string.join(disabled_classes))

sipconfig.inform("The PyQt modules will be installed in %s." % opt_pyqtmoddir)
sipconfig.inform("The PyQt .sip files will be installed in %s." % opt_pyqtsipdir)
sipconfig.inform("The PyTQt modules will be installed in %s." % opt_pyqtmoddir)
sipconfig.inform("The PyTQt .sip files will be installed in %s." % opt_pyqtsipdir)

sipconfig.inform("The Qt header files are in %s." % qt_incdir)
sipconfig.inform("The %s Qt library is in %s." % (opt_qtlib, qt_libdir))
sipconfig.inform("The TQt header files are in %s." % qt_incdir)
sipconfig.inform("The %s TQt library is in %s." % (opt_qtlib, qt_libdir))

if qt_version >= 0x020000:
sipconfig.inform("pyuic will be installed in %s." % opt_pyqtbindir)
@@ -399,11 +399,11 @@ def inform_user():
sipconfig.inform("pylupdate will be installed in %s." % opt_pyqtbindir)

if opt_vendorcheck:
sipconfig.inform("PyQt will only be usable with signed interpreters.")
sipconfig.inform("PyTQt will only be usable with signed interpreters.")


def create_config(module, template, macros):
"""Create the PyQt configuration module so that it can be imported by build
"""Create the PyTQt configuration module so that it can be imported by build
scripts.

module is the module file name.
@@ -471,7 +471,7 @@ def create_config(module, template, macros):


def compile_qt_program(name, define=None, include_dir=None, lib_dir=None, lib=None, opengl=0, python=0, debug=0):
"""Compile a simple Qt application.
"""Compile a simple TQt application.

name is the name of the single source file.
define is a name to add to the list of preprocessor defines.
@@ -544,7 +544,7 @@ def compile_qt_program(name, define=None, include_dir=None, lib_dir=None, lib=No


def check_qscintilla():
"""See if QScintilla can be found and what its version is.
"""See if TQScintilla can be found and what its version is.
"""
# Set the defaults if they haven't been explicitly specified.
global opt_qsciincdir, opt_qscilibdir
@@ -555,26 +555,26 @@ def check_qscintilla():
if opt_qscilibdir is None:
opt_qscilibdir = qt_libdir

# Find the QScintilla header files.
# Find the TQScintilla header files.
sciglobal = os.path.join(opt_qsciincdir, "qextscintillaglobal.h")

if os.access(sciglobal, os.F_OK):
# Get the QScintilla version number.
# Get the TQScintilla version number.
global qsci_version

qsci_version, sciversstr = sipconfig.read_version(sciglobal, "QScintilla", "QSCINTILLA_VERSION", "QSCINTILLA_VERSION_STR")
qsci_version, sciversstr = sipconfig.read_version(sciglobal, "TQScintilla", "TQSCINTILLA_VERSION", "TQSCINTILLA_VERSION_STR")

if glob.glob(os.path.join(opt_qscilibdir, "*qscintilla*")):
sipconfig.inform("QScintilla %s is being used." % sciversstr)
sipconfig.inform("TQScintilla %s is being used." % sciversstr)

# If we find a snapshot then set a negative version number as a
# special case.
if string.find(sciversstr, "snapshot") >= 0:
qsci_version = -1
else:
sipconfig.inform("The QScintilla library could not be found in %s and so the qtext module will not be built. If QScintilla is installed then use the -o argument to explicitly specify the correct directory." % opt_qscilibdir)
sipconfig.inform("The TQScintilla library could not be found in %s and so the qtext module will not be built. If TQScintilla is installed then use the -o argument to explicitly specify the correct directory." % opt_qscilibdir)
else:
sipconfig.inform("qextscintillaglobal.h could not be found in %s and so the qtext module will not be built. If QScintilla is installed then use the -n argument to explicitly specify the correct directory." % opt_qsciincdir)
sipconfig.inform("qextscintillaglobal.h could not be found in %s and so the qtext module will not be built. If TQScintilla is installed then use the -n argument to explicitly specify the correct directory." % opt_qsciincdir)


def check_vendorid():
@@ -648,7 +648,7 @@ int main(int argc, char **argv)


def check_plugin(cname, incfile):
"""Return non-zero if a class that might be a plugin is in the main Qt
"""Return non-zero if a class that might be a plugin is in the main TQt
library.

cname is the name of the class.
@@ -664,8 +664,8 @@ def create_features_file(name):

name is the name of the features file in the current directory.
"""
# The features that a given Qt configuration may or may not support. Note
# that STYLE_WINDOWSXP and ASSISTANTCLIENT require special handling.
# The features that a given TQt configuration may or may not support. Note
# that STYLE_WINDOWSXP and ASSISTANTCLIENT retquire special handling.
flist = ["ACTION", "CLIPBOARD", "CODECS", "COLORDIALOG", "DATASTREAM",
"DIAL", "DNS", "DOM", "DRAGANDDROP", "ICONVIEW", "IMAGE_TEXT",
"INPUTDIALOG", "FILEDIALOG", "FONTDATABASE", "FONTDIALOG",
@@ -691,7 +691,7 @@ def create_features_file(name):
int main(int argc,char **argv)
{
FILE *fp;
QApplication app(argc,argv,0);
TQApplication app(argc,argv,0);

if ((fp = fopen("%s","w")) == NULL)
{
@@ -700,15 +700,15 @@ int main(int argc,char **argv)
}

#if !defined(WITH_THREAD) || !defined(QT_THREAD_SUPPORT)
fprintf(fp,"-x Qt_THREAD_SUPPORT\\n");
fprintf(fp,"-x TQt_THREAD_SUPPORT\\n");
#endif

#if !defined(Q_WS_WIN) || QT_VERSION < 0x030000 || defined(QT_NO_STYLE_WINDOWSXP)
fprintf(fp,"-x Qt_STYLE_WINDOWSXP\\n");
fprintf(fp,"-x TQt_STYLE_WINDOWSXP\\n");
#endif

#if defined(Q_OS_WIN64)
fprintf(fp,"-x Qt_Q_LONG_IS_long\\n");
fprintf(fp,"-x TQt_Q_LONG_IS_long\\n");
#endif
""" % (name, name))

@@ -716,15 +716,15 @@ int main(int argc,char **argv)
f.write(
"""
#if defined(QT_NO_%s)
fprintf(fp,"-x Qt_%s\\n");
fprintf(fp,"-x TQt_%s\\n");
#endif
""" % (feat, feat))

# Disable QAssistantClient for the Professional Edition.
if "QAssistantClient" in disabled_classes:
# Disable TQAssistantClient for the Professional Edition.
if "TQAssistantClient" in disabled_classes:
f.write(
"""
fprintf(fp,"-x Qt_ASSISTANTCLIENT\\n");
fprintf(fp,"-x TQt_ASSISTANTCLIENT\\n");
""")

f.write(
@@ -749,27 +749,27 @@ int main(int argc,char **argv)
sipconfig.error("There was an error creating the features file.")

# Check what features have been implemented as plugins and disable them.
plugins = [("STYLE_CDE", "qcdestyle.h", "QCDEStyle"),
("STYLE_INTERLACE", "qinterlacestyle.h", "QInterlaceStyle"),
("STYLE_MOTIF", "qmotifstyle.h", "QMotifStyle"),
("STYLE_MOTIFPLUS", "qmotifplusstyle.h", "QMotifPlusStyle"),
("STYLE_PLATINUM", "qplatinumstyle.h", "QPlatinumStyle"),
("STYLE_SGI", "qsgistyle.h", "QSGIStyle"),
("STYLE_WINDOWSXP", "qwindowsxpstyle.h", "QWindowsXPStyle"),
("STYLE_WINDOWS", "qwindowsstyle.h", "QWindowsStyle")]
plugins = [("STYLE_CDE", "qcdestyle.h", "TQCDEStyle"),
("STYLE_INTERLACE", "qinterlacestyle.h", "TQInterlaceStyle"),
("STYLE_MOTIF", "qmotifstyle.h", "TQMotifStyle"),
("STYLE_MOTIFPLUS", "qmotifplusstyle.h", "TQMotifPlusStyle"),
("STYLE_PLATINUM", "qplatinumstyle.h", "TQPlatinumStyle"),
("STYLE_SGI", "qsgistyle.h", "TQSGIStyle"),
("STYLE_WINDOWSXP", "qwindowsxpstyle.h", "TQWindowsXPStyle"),
("STYLE_WINDOWS", "qwindowsstyle.h", "TQWindowsStyle")]

f = open(name, "a")

for (feat, incfile, cname) in plugins:
if not check_plugin(cname, incfile):
f.write("-x Qt_%s\n" % feat)
f.write("-x TQt_%s\n" % feat)
disabled_classes.append(cname)

f.close()


def get_feature_flags():
"""Return the list of SIP flags that exclude unsupported Qt features.
"""Return the list of SIP flags that exclude unsupported TQt features.
"""
featfile = "features"

@@ -791,7 +791,7 @@ def get_feature_flags():
line = ff.readline()

if sipcfg.sip_version >= 0x040702:
flags.extend(['-x', 'Qt_SIP_PRE_4_7_2'])
flags.extend(['-x', 'TQt_SIP_PRE_4_7_2'])

return flags

@@ -823,8 +823,8 @@ def set_sip_flags():
qt_sip_flags.append("-t")
qt_sip_flags.append(plattag)

# Handle the Qt version tag.
verstag = sipconfig.version_to_sip_tag(qt_version, pyqt.qt_version_tags(), "Qt")
# Handle the TQt version tag.
verstag = sipconfig.version_to_sip_tag(qt_version, pyqt.qt_version_tags(), "TQt")

if verstag:
qt_sip_flags.append("-t")
@@ -835,26 +835,26 @@ def set_sip_flags():
qtext_sip_flags.append(f)
qtpe_sip_flags.append(f)

# Handle the QScintilla version tag.
# Handle the TQScintilla version tag.
if qsci_version:
qscitags = {