Revision control

++
++ 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
++
++ 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
++