/dist/changes-3.2.0

https://bitbucket.org/ultra_iter/qt-vtl · Unknown · 327 lines · 253 code · 74 blank · 0 comment · 0 complexity · e8fd4f5d2dbda74e1f3026ed056142ef MD5 · raw file

  1. Qt 3.2 introduces new features as well as many improvements over the
  2. 3.1.x series. This file gives an overview of the main changes since
  3. version 3.1.2. For more details, see the online documentation which
  4. is included in this distribution. The documentation is also available
  5. at http://qt.nokia.com/doc/
  6. The Qt version 3.2 series is binary compatible with the 3.1.x series.
  7. Applications compiled for 3.1 will continue to run with 3.2.
  8. ****************************************************************************
  9. * General *
  10. ****************************************************************************
  11. Qt library
  12. ----------
  13. New classes have been added to the Qt Library including a
  14. class to add splash screens to applications (QSplashScreen), a toolbox
  15. widget that provides a column of tabbed widgets (QToolBox), and a
  16. class to manage per-thread data storage (QThreadStorage).
  17. The SQL module received a fair bit of attention this time. The most
  18. notable improvements include a native IBM DB2 driver, complete support
  19. for stored procedures including the possibility to access
  20. out-parameters, and native support for 64 bit fields without having to
  21. convert to or from strings. We also added support for setting
  22. connection parameters. This way you can, for example, conveniently
  23. open an SSL connection to a MySQL or PostgreSQL database. If you need
  24. even more customization, e.g. for an Oracle database, you can set up
  25. the connection yourself and instantiate a Qt driver object on top of
  26. it. An extended SQL cursor class has been added that makes it more
  27. convenient to display result sets from general SQL queries
  28. (QSqlSelectCursor). QSqlDatabase::tables() is now capable to return
  29. tables, views and/or system tables. In addition, you can add custom
  30. database drivers without compiling them as plugins
  31. (see QSqlDatabase::registerSqlDriver()).
  32. QLineEdit, the one-line text editor, now supports validation input
  33. masks. The feature complements the previous QValidator concept and
  34. allows e.g. restriction of input to the IP address format (mask
  35. "990.990.990.990;_"), or to ISO date format (mask "0000-90-90;0").
  36. Qt's unicode code support has been extended. Most notably, full
  37. support for Indic scripts has been added, covering writing systems
  38. such as Devanagari, Tamil and Bengali. The group of right to left
  39. writing systems has been extended with support for Syriac. Both
  40. improvements are available on both Windows with Uniscribe installed,
  41. and on Unix/X11 when using XFT with OpenType fonts.
  42. All tool classes that support STL-like iterators with begin() and
  43. end(), contain two extra functions constBegin() and constEnd(). The
  44. const versions always return const iterators, and thus can be a little
  45. bit faster with Qt's implicitly shared containers.
  46. QPainter's complex drawText() function has been highly
  47. optimized. Despite its support for complex unicode scripts, it now
  48. performs better than its less unicode-capable counterpart in Qt 2.3.
  49. QPixmap now supports pixmaps with alpha channel (semi transparency) on
  50. all Windows versions except Windows 95 and Windows NT 4.0.
  51. The print dialog now supports "selection" as a print range as well as
  52. the possibility to enable/disable all different printer options
  53. individually.
  54. On Windows, the Qt installation includes a toolbar for Visual Studio.NET
  55. that provides an integration of the Qt tools (ie. Qt Designer) with the
  56. IDE.
  57. Many classes were improved; see the detailed overview that follows.
  58. Qt Motif Extension
  59. ------------------
  60. Dialog handling has matured and has been extended since the
  61. extension's introduction in Qt 3.1. The documentation and code
  62. examples have been improved, including a walkthrough that covers the
  63. complete migration of a real-world Motif example to Qt. The process
  64. contains four intermediate steps where the application utilizes both
  65. toolkits.
  66. ActiveQt Extension
  67. ------------------
  68. Type handling has been extended on both the container and the server
  69. side. The new supported types are byte arrays and 64bit integers. The
  70. QAxServer module supports aggregation, as well as QObject subclasses as
  71. return and parameter types of slots, and allows error reporting through
  72. COM exceptions.
  73. The Designer integration has been extended to support property dialogs
  74. implemented by the control server.
  75. Controls developed with ActiveQt support aggregation, which makes it
  76. possible to use them in containers that require this form of containment to
  77. be supported. ActiveQt also supports masked controls in containers that
  78. support this for window'ed controls.
  79. Qt Designer
  80. -----------
  81. The popup menu editor has been rewritten. The new editor provides the
  82. the ability to add, edit and remove menus and menu items directly in
  83. the menubar and in the popup menu. Navigation and editing can be done
  84. using either the mouse or the keyboard.
  85. The property editor now allows editing of properties with or'd values
  86. (sets).
  87. Designer also supports the new QToolBox widget in a similar fashion to
  88. QTabWidget, etc.
  89. Qt Assistant
  90. ------------
  91. Profiles have been introduced to allow applications to extend the use
  92. of Qt Assistant as a help system. Profiles describe the documentation
  93. to use so that only application specific documentation will be
  94. referenced in an end user installation. Profiles also allow some
  95. customization of the look in Qt Assistant. For detailed information,
  96. see the helpdemo example in $QTDIR/examples/helpdemo.
  97. Profiles replace the content files and categories system. The
  98. following command line options are removed since they no longer serve
  99. any purpose: addContentFile, removeContentFile, category, and
  100. disableFirstRun.
  101. Qt Assistant has multiple tabs for browsing, therefore enabling
  102. multiple pages to be browsed without opening a new window.
  103. It is possible to specify a default home page.
  104. It is possible to specify a PDF reader so that urls to PDF files can
  105. be opened from Qt Assistant.
  106. Compilers
  107. ---------
  108. Note: Qt 3.2 is the last version to officially support IRIX MIPSpro
  109. o32 and Sun CC 5.0. A script, $QTDIR/bin/qt32castcompat, is provided
  110. for 3.2 which needs to be run for these compilers.
  111. Miscellaneous
  112. -------------
  113. Users of the 3.2.0 beta releases please note: The QWidgetContainerPlugin
  114. interfaces was removed from the final release due to some serious issues.
  115. ****************************************************************************
  116. * Library *
  117. ****************************************************************************
  118. - QAction / QActionGroup
  119. Simplified constructors so that it is no longer necessary to
  120. specify texts for buttons and menu items separately.
  121. For action groups, we fixed the enable/disable behavior. If
  122. an action inside an action group is explicitly disabled, it is
  123. no longer implicitly enabled together with the group.
  124. This is identical to enabling/disabling widgets and their
  125. children.
  126. - QApplication
  127. Added the aboutQt() slot for convenience.
  128. - QAssistantClient
  129. Added the new function, setArguments(), that invokes Qt
  130. Assistant in different modes.
  131. - QAxBase
  132. Added the new function, asVariant(), that passes a COM
  133. object through dynamicCall().
  134. - QAxBindable
  135. Added the new function, reportError(), that sends error
  136. information to the ActiveX client.
  137. - QColor
  138. Added the new static function, colorNames(), that retrieves a
  139. list of all color names known to Qt.
  140. - QDeepCopy
  141. Now also supports QDir, QFileInfo, and QStringList.
  142. - QDom
  143. Now has long and ulong support for setAttribute() and
  144. setAttributeNS().
  145. - QFont
  146. Added the new properties: stretch and overline. Added the new
  147. function, resolve(), that copies unspecified attributes from
  148. one font to another.
  149. - QFontDataBase
  150. Added a new overload for families() that restricts the
  151. returned list to fonts supporting a specific QFont::Script,
  152. e.g. QFont::Greek, QFont::Devanagari or QFont::Arabic.
  153. - QFontInfo / QFontMetrics
  154. Added new constructors that force the info and metrics objects
  155. to use a given QFont::Script.
  156. - QGLWidget
  157. Added a new constructor that takes a QGLContext
  158. parameter. Makes the undocumented setContext() obsolete.
  159. - QHeader
  160. Added getters for the sort indicator (sortIndicatorSection()
  161. and sortIndicatorOrder() ).
  162. - QImage
  163. Added a new overload for save() that writes to a given
  164. QIODevice*.
  165. - QListView
  166. Added tristate support to check list items
  167. (QCheckListItem::setTristate()). Added the new function,
  168. setSelectionAnchor(), to set the list view's selection anchor
  169. explicitly.
  170. - QLineEdit
  171. Added input masks: setInputMask(), inputMask(), and
  172. hasAcceptableInput(). Added new function selectionStart()
  173. which returns the index of the first selected character in the
  174. line edit.
  175. - QMacStyle
  176. Added customizable focus rectangle policy.
  177. - QMessageBox
  178. Added the new static function, question(), that complements
  179. the existing information(), warning() and fatal() functions.
  180. - QMotifDialog [Qt Motif Extension]
  181. Now has two distinct modes of operation: 1) it allows a Motif
  182. dialog to have a Qt parent, and 2) it allows a Qt dialog to have
  183. a Motif parent.
  184. - QMYSQLDriver
  185. Better support for MySQL/embedded.
  186. - QPixmapCache
  187. Added the new function, remove(), to explicitly remove a
  188. pixmap from the cache.
  189. - QPrinter
  190. Added the new functions: setPrintRange(), printRange(),
  191. setOptionEnabled(), and optionEnabled(). For Windows only,
  192. added the new function, setWinPageSize(), that allows setting
  193. DEVMODE.dmPaperSize directly.
  194. - QPtrList
  195. Added STL-like iterators with begin(), end(), and erase().
  196. - QScrollBar
  197. Maintains a user defined size policy when the direction
  198. changes.
  199. - QSplashScreen [new]
  200. This new widget class provides a splash screen to be shown
  201. during application startup.
  202. - QSplitter
  203. Added the new properties: opaqueResize, childrenCollapsible,
  204. and handleWidth.
  205. - QSqlError
  206. Added a couple of convenience functions: text(), which returns
  207. the concatenated database and driver texts. showMessage(),
  208. which will pop up a QMessageBox with the text that text()
  209. returns.
  210. - QSqlQuery
  211. Added overloads for the bindValue() call which makes it
  212. possible to specifiy what role a bound value should have: In,
  213. Out or InOut.
  214. - QSqlSelectCursor [new]
  215. This new QSqlCursor subclass provides browsing of general SQL
  216. SELECT statements.
  217. - QSqlDatabase
  218. Added overloaded tables() call which can return tables, views
  219. and/or system tables.
  220. - QPSQLDriver
  221. Calling tables() with no arguments will only return table names,
  222. instead of table and view names as in Qt 3.1.
  223. The new tables() call in QSqlDatabase can be used to get
  224. table and/or view names.
  225. - QString
  226. Added 64 bit support. Added the new functions: multiArg(),
  227. reserve(), capacity(), squeeze(). Added case insensitive
  228. overloads for startsWith() and endsWidth().
  229. - QStringList
  230. Added the new function gres().
  231. - QStyle
  232. Added support for toolbox, header, MDI frame, table grid line
  233. color, line edit password character, and message box question.
  234. - QSyntaxHighlighter
  235. Added the new function, currentParagraph().
  236. - QTabWidget
  237. Added support for custom widgets to be placed beside
  238. the tab bar: setCornerWidget() and cornerWidget().
  239. - QTextEdit
  240. In Log mode, added the new functions: setMaxLogLines() and
  241. maxLogLines(). Implemented insertAt() for LogText mode.
  242. - QThreadStorage [new]
  243. This new tool class provides per-thread data storage, also
  244. referred to as thread local storage or TLS.
  245. - QToolBox [new]
  246. This new widget class provides a column of tabbed widgets, one
  247. above the other, with the current page displayed below the
  248. current tab.
  249. - QVariant
  250. Added support for LongLong and ULongLong.
  251. - QWidget
  252. Added a new widget flag, WNoAutoErase, that combines the now
  253. obsolete WResizeNoErase and WRepaintNoErase flags.