| |
| Qt 2.2 introduces new features as well as many improvements over the |
| 2.1.x series. This file will only give an overview of the main changes |
| since version 2.1. A complete list would simply be too large to be |
| useful. For more detail see the online documentation which is |
| included in this distribution, and also available on |
| http://qt.nokia.com/doc/ |
| |
| The Qt version 2.2 series is binary compatible with the 2.1.x and |
| 2.0.x series - applications compiled for 2.0 or 2.1 will continue to |
| run with 2.2. |
| |
| As with previous Qt releases, the API and functionality of Qt is |
| completely portable between Microsoft Windows and X11. It is also |
| portable between Windows 95, 98, NT and 2000. |
| |
| **************************************************************************** |
| * Overview * |
| **************************************************************************** |
| |
| The greatest new feature in the 2.2 release is the Qt Designer, a |
| visual GUI design tool. It makes it possible to cut down on |
| development time even further through WYSIWYG dialog design. The |
| designer makes use of improved runtime flexibility and a revised |
| property system. Please see $QTDIR/doc/html/designer.html for a |
| feature overview. |
| |
| Qt 2.2 integrates now fully on MS-Windows 2000. This includes fade |
| and scroll effects for popup windows and title bar gradients for MDI |
| document windows in the MDI module. As with all Qt features, we |
| provide the same visual effects on Unix/X11. |
| |
| Two new classes QAction and QActionGroup make it much easier to |
| create sophisticated main windows for today's applications. A QAction |
| abstracts a user interface action that can appear both in menus and |
| tool bars. An action group makes it easier to deal with groups of |
| actions. It allows to add, remove or activate its children with a |
| single call and provides "one of many" semantics for toggle |
| actions. Changing an action's properties, for example using |
| setEnabled(),setOn() or setText(), immediately shows up in all |
| representations. |
| |
| Few people consider the original OSF Motif style the most elegant or |
| flashy GUI style. Therefore several attempts have been made to come up |
| with a slightly improved Motif-ish look and feel. One of them is the |
| thinner CDE style, that was supported by Qt since version 2.0. In the |
| 2.2 release, we now added support for SGI's very own Motif version on |
| IRIX workstations. With its more elegant bevelling of 3D elements and |
| mouse-under highlight effects, it is quite appealing. For Linux users, |
| we added a Motif plus style, that resembles the bevelling used by the |
| GIMP toolkit (GTK+). Optionally, this style also does hovering |
| highlight on buttons. |
| |
| Last but not least we added support for multi-threaded |
| applications. The classes involved are QThread to start threads, |
| QMutex to serialize them and QCondition to signal the occurrence of |
| events between threads ("condition variables"). |
| |
| Another major change was done regarding distribution. In order to |
| address the steady growth of functionality in the Qt library, we |
| split the source code into distinct modules that can be compiled |
| in (or left out) separately. This also makes it possible for us to |
| keep the cost of entry into the commercial Qt world as low as possible. |
| |
| The modules available in Qt 2.2 are: |
| |
| - Tools: platform-independent Non-GUI API for I/O, encodings, containers, |
| strings, time & date, and regular expressions. |
| |
| - Kernel: platform-independent GUI API, a complete window-system API. |
| |
| - Widgets: portable GUI controls. |
| |
| - Dialogs: ready-made common dialogs for selection of colors, files, |
| printers, fonts, and basic types, plus a wizard framework, message |
| boxes and progress indicator. |
| |
| - OpenGL 3D Graphics: integration of OpenGL with Qt, making it very |
| easy to use OpenGL rendering in a Qt application. |
| |
| - Network: advanced socket and server-socket handling plus |
| asynchronous DNS lookup. |
| |
| - Canvas: a highly optimized 2D graphic area. |
| |
| - Table: a flexible and editable table widget |
| |
| - IconView: a powerful visualization widget similar to QListView and |
| QListBox. It contains optionally labelled pixmap items that the user |
| can select, drag around, rename, delete and more. |
| |
| - XML: a well-formed XML parser with SAX interface plus an |
| implementation of the DOM Level1 |
| |
| - Workspace: a workspace window that can contain decorated document |
| windows for Multi Document Interfaces (MDI). |
| |
| |
| Network, Canvas, Table and XML are entirely new modules. |
| |
| Below is a list of the major new features in existing classes as well |
| as short descriptions of all new classes. |
| |
| |
| **************************************************************************** |
| * New major features in existing classes * |
| **************************************************************************** |
| |
| QApplication: - "global strut", an adjustable minimum size for interactable |
| control elements like the entries in a listbox, useful for |
| touch-screens. Popup window effects ( setEffectEnabled() ) |
| and more threading support ( guiThreadTaken(), lock(), |
| unlock(), locked() ). |
| |
| QCheckBox: - "tristate" is now a property. |
| |
| QClipboard: - text() supports subtypes. |
| |
| QComboBox: - "editable" is now a property that is changeable at runtime |
| |
| QDialog: - support for extensible dialogs ("More...") with |
| setExtension() and setOrientation(). Optional size grip. |
| |
| QFont: - new functions styleStrategy() and setStyleHint() |
| |
| QIconSet: - new constructor that takes both a small and a large pixmap |
| |
| QKeyEvent: - numeric keypad keys now set a Keypad flag |
| |
| QLabel: - support for scaled pixmap contents, "pixmap" as property |
| |
| QLayout: - improved flexibility with setEnabled(), access to the |
| laid out menu bar with menuBar(). |
| |
| QListView: - "showSortIndicator" as property. New function |
| QListViewItem::moveItem() to simplify drag and drop. |
| |
| QMovie: - new functions pushSpace(), pushData(), frameImage() |
| |
| QMultiLineEdit: - new functions pasteSubType() and copyAvailable() |
| |
| QObject: - new function normalizeSignalSlot(), tr() now supports a comment. |
| |
| QPicture: - streaming to and from QDataStream |
| |
| QPopupMenu: - new signal aboutToHide() |
| |
| QRegExp: - new functions setPattern() and find() |
| |
| QRegion: - new function setRects() |
| |
| QScrollView: - new property "staticBackground" to define a pixmap |
| background that does not scroll with the contents. |
| |
| QStatusBar: - "sizeGripEnabled" as property |
| |
| QStyle: - themable menu bars with drawMenuBarItem(). New functions |
| buttonMargin(), toolBarHandleExtent(), sliderThickness() |
| |
| QTabWidget: - new functions currentPageIndex(), setCurrentPage(), new |
| signal currentChanged(). Similar extensions to QTabBar |
| and QTabDialog |
| |
| QTranslator: - new algorithmen for faster lookup. No more risk of |
| "hash collisions" when many translators are loaded. |
| |
| QVariant: - new subtype QSizePolicy. Necessary for QWidget's |
| new sizePolicy property. |
| |
| QWidget: - new properties "sizePolicy", "ownPalette", "ownFont", |
| "ownCursor" and "hidden". The size policy is now adjustable |
| at runtime with setSizePolicy(). Added convenience slot |
| setDisabled(). Fast geometry mapping functions mapTo() and |
| mapFrom(). On X11, support for a new background mode |
| X11ParentRelative. |
| |
| QWizard: - runtime changable titles with setTitle(), new signal |
| selected() |
| |
| QWorkspace: - support for more widget flags like WType_Tool. Titlebar |
| blending effects on MS-Windows 98/2000. |
| |
| |
| **************************************************************************** |
| * New classes * |
| **************************************************************************** |
| |
| QAction - Abstracts a user interface action that can appear both in |
| menus and tool bars. Changing an action's properties, for |
| example using setEnabled(),setOn() or setText(), |
| immediately shows up in all representations. |
| |
| QActionGroup - Combines actions to a group. An action group makes it easier |
| to deal with groups of actions. It allows to add, remove or |
| activate its children with a single call and provides |
| "one of many" semantics for toggle actions. |
| |
| QDial - A rounded rangecontrol (like a speedometer or |
| potentiometer). Both API- and UI-wise the dial is very |
| similar to a QSlider. |
| |
| QDom - [XML Module] DOM Level 1 Tree |
| |
| QMotifPlusStyle - This class implements a Motif-ish look and feel with more |
| sophisticated bevelling as used by the GIMP toolkit (GTK+) |
| for Unix/X11. |
| |
| QMutex: - Provides access serialization between threads. |
| |
| QSemaphore: - A robust integer semaphore. Another way of thread |
| serialization. |
| |
| QThread - Baseclass for platform-independent threads. |
| |
| QWaitCondition - Provides signalling of the occurrence of events between |
| threads ("condition variables") |
| |
| QCanvas - [Canvas Module] a highly optimized 2D graphic area. |
| |
| QTable - [Table Module] a flexible and editable table widget |
| |
| QXML - [XML Module] XML parser with SAX interface |
| |