dist/changes-2.2.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 
       
     2 Qt 2.2 introduces new features as well as many improvements over the
       
     3 2.1.x series. This file will only give an overview of the main changes
       
     4 since version 2.1.  A complete list would simply be too large to be
       
     5 useful.  For more detail see the online documentation which is
       
     6 included in this distribution, and also available on
       
     7 http://qt.nokia.com/doc/
       
     8 
       
     9 The Qt version 2.2 series is binary compatible with the 2.1.x and
       
    10 2.0.x series - applications compiled for 2.0 or 2.1 will continue to
       
    11 run with 2.2.
       
    12 
       
    13 As with previous Qt releases, the API and functionality of Qt is
       
    14 completely portable between Microsoft Windows and X11.  It is also
       
    15 portable between Windows 95, 98, NT and 2000.
       
    16 
       
    17 ****************************************************************************
       
    18 *			    Overview					   *
       
    19 ****************************************************************************
       
    20 
       
    21 The greatest new feature in the 2.2 release is the Qt Designer, a
       
    22 visual GUI design tool. It makes it possible to cut down on
       
    23 development time even further through WYSIWYG dialog design. The
       
    24 designer makes use of improved runtime flexibility and a revised
       
    25 property system. Please see $QTDIR/doc/html/designer.html for a
       
    26 feature overview.
       
    27 
       
    28 Qt 2.2 integrates now fully on MS-Windows 2000.  This includes fade
       
    29 and scroll effects for popup windows and title bar gradients for MDI
       
    30 document windows in the MDI module. As with all Qt features, we
       
    31 provide the same visual effects on Unix/X11.
       
    32 
       
    33 Two new classes QAction and QActionGroup make it much easier to
       
    34 create sophisticated main windows for today's applications. A QAction
       
    35 abstracts a user interface action that can appear both in menus and
       
    36 tool bars.  An action group makes it easier to deal with groups of
       
    37 actions. It allows to add, remove or activate its children with a
       
    38 single call and provides "one of many" semantics for toggle
       
    39 actions. Changing an action's properties, for example using
       
    40 setEnabled(),setOn() or setText(), immediately shows up in all
       
    41 representations.
       
    42 
       
    43 Few people consider the original OSF Motif style the most elegant or
       
    44 flashy GUI style. Therefore several attempts have been made to come up
       
    45 with a slightly improved Motif-ish look and feel. One of them is the
       
    46 thinner CDE style, that was supported by Qt since version 2.0.  In the
       
    47 2.2 release, we now added support for SGI's very own Motif version on
       
    48 IRIX workstations.  With its more elegant bevelling of 3D elements and
       
    49 mouse-under highlight effects, it is quite appealing. For Linux users,
       
    50 we added a Motif plus style, that resembles the bevelling used by the
       
    51 GIMP toolkit (GTK+). Optionally, this style also does hovering
       
    52 highlight on buttons.
       
    53 
       
    54 Last but not least we added support for multi-threaded
       
    55 applications. The classes involved are QThread to start threads,
       
    56 QMutex to serialize them and QCondition to signal the occurrence of
       
    57 events between threads ("condition variables").
       
    58 
       
    59 Another major change was done regarding distribution. In order to
       
    60 address the steady growth of functionality in the Qt library, we
       
    61 split the source code into distinct modules that can be compiled
       
    62 in (or left out) separately. This also makes it possible for us to
       
    63 keep the cost of entry into the commercial Qt world as low as possible.
       
    64 
       
    65 The modules available in Qt 2.2 are:
       
    66 
       
    67 - Tools: platform-independent Non-GUI API for I/O, encodings, containers,
       
    68     strings, time & date, and regular expressions.
       
    69 
       
    70 - Kernel: platform-independent GUI API, a complete window-system API.
       
    71 
       
    72 - Widgets: portable GUI controls.
       
    73 
       
    74 - Dialogs: ready-made common dialogs for selection of colors, files,
       
    75     printers, fonts, and basic types, plus a wizard framework, message
       
    76     boxes and progress indicator.
       
    77 
       
    78 - OpenGL 3D Graphics: integration of OpenGL with Qt, making it very
       
    79     easy to use OpenGL rendering in a Qt application.
       
    80 
       
    81 - Network: advanced socket and server-socket handling plus
       
    82     asynchronous DNS lookup.
       
    83 
       
    84 - Canvas: a highly optimized 2D graphic area.
       
    85 
       
    86 - Table:  a flexible and editable table widget
       
    87 
       
    88 - IconView: a powerful visualization widget similar to QListView and
       
    89     QListBox. It contains optionally labelled pixmap items that the user
       
    90     can select, drag around, rename, delete and more.
       
    91 
       
    92 - XML: a well-formed XML parser with SAX interface plus an
       
    93     implementation of the DOM Level1
       
    94 
       
    95 - Workspace: a workspace window that can contain decorated document
       
    96     windows for Multi Document Interfaces (MDI).
       
    97 
       
    98 
       
    99 Network, Canvas, Table and XML are entirely new modules.
       
   100 
       
   101 Below is a list of the major new features in existing classes as well
       
   102 as short descriptions of all new classes.
       
   103 
       
   104 
       
   105 ****************************************************************************
       
   106 * 		New major features in existing classes			   *
       
   107 ****************************************************************************
       
   108 
       
   109 QApplication: 	- "global strut", an adjustable minimum size for interactable
       
   110 		  control elements like the entries in a listbox, useful for
       
   111 		  touch-screens. Popup window effects ( setEffectEnabled() )
       
   112 		  and more threading support ( guiThreadTaken(), lock(),
       
   113 		  unlock(), locked() ).
       
   114 
       
   115 QCheckBox: 	- "tristate" is now a property.
       
   116 
       
   117 QClipboard: 	- text() supports subtypes.
       
   118 
       
   119 QComboBox: 	- "editable" is now a property that is changeable at runtime
       
   120 
       
   121 QDialog: 	- support for extensible dialogs ("More...") with
       
   122 		  setExtension() and setOrientation(). Optional size grip.
       
   123 
       
   124 QFont: 		- new functions styleStrategy() and  setStyleHint()
       
   125 
       
   126 QIconSet: 	- new constructor that takes both a small and a large pixmap
       
   127 
       
   128 QKeyEvent: 	- numeric keypad keys now set a Keypad flag
       
   129 
       
   130 QLabel: 	- support for scaled pixmap contents, "pixmap" as property
       
   131 
       
   132 QLayout:	- improved flexibility with setEnabled(), access to the
       
   133 		  laid out menu bar with menuBar().
       
   134 
       
   135 QListView: 	- "showSortIndicator" as property. New function
       
   136 		  QListViewItem::moveItem() to simplify drag and drop.
       
   137 
       
   138 QMovie: 	- new functions pushSpace(), pushData(), frameImage()
       
   139 
       
   140 QMultiLineEdit: - new functions pasteSubType() and copyAvailable()
       
   141 
       
   142 QObject: 	- new function normalizeSignalSlot(), tr() now supports a comment.
       
   143 
       
   144 QPicture: 	- streaming to and from QDataStream
       
   145 
       
   146 QPopupMenu: 	- new signal aboutToHide()
       
   147 
       
   148 QRegExp: 	- new functions setPattern() and find()
       
   149 
       
   150 QRegion: 	- new function setRects()
       
   151 
       
   152 QScrollView: 	- new property "staticBackground" to define a pixmap
       
   153 		  background that does not scroll with the contents.
       
   154 
       
   155 QStatusBar: 	- "sizeGripEnabled" as property
       
   156 
       
   157 QStyle: 	- themable menu bars with drawMenuBarItem(). New functions
       
   158 		  buttonMargin(), toolBarHandleExtent(), sliderThickness()
       
   159 
       
   160 QTabWidget: 	- new functions currentPageIndex(), setCurrentPage(), new
       
   161 		  signal currentChanged(). Similar extensions to QTabBar
       
   162 		  and QTabDialog
       
   163 
       
   164 QTranslator:	- new algorithmen for faster lookup. No more risk of
       
   165 		"hash collisions" when many translators are loaded.
       
   166 
       
   167 QVariant: 	- new subtype QSizePolicy. Necessary for QWidget's
       
   168 		   new sizePolicy property.
       
   169 
       
   170 QWidget: 	- new properties "sizePolicy", "ownPalette", "ownFont",
       
   171 		  "ownCursor" and "hidden". The size policy is now adjustable
       
   172 		  at runtime with setSizePolicy().  Added convenience slot
       
   173 		  setDisabled(). Fast geometry mapping functions mapTo() and
       
   174 		  mapFrom(). On X11, support for a new background mode
       
   175 		  X11ParentRelative.
       
   176 
       
   177 QWizard: 	- runtime changable titles with setTitle(), new signal
       
   178 		  selected()
       
   179 
       
   180 QWorkspace:	- support for more widget flags like WType_Tool. Titlebar
       
   181 		  blending effects on MS-Windows 98/2000.
       
   182 
       
   183 
       
   184 ****************************************************************************
       
   185 *				New classes				   *
       
   186 ****************************************************************************
       
   187 
       
   188 QAction 	- Abstracts a user interface action that can appear both in
       
   189 		  menus and tool bars. Changing an action's properties, for
       
   190 		  example using setEnabled(),setOn() or setText(),
       
   191 		  immediately shows up in all representations.
       
   192 
       
   193 QActionGroup 	- Combines actions to a group. An action group makes it easier
       
   194 		  to deal with groups of actions. It allows to add, remove or
       
   195 		  activate its children with a single call and provides
       
   196 		  "one of many" semantics for toggle actions.
       
   197 
       
   198 QDial		- A rounded rangecontrol (like a speedometer or
       
   199 		  potentiometer). Both API- and UI-wise the dial is very
       
   200 		  similar to a QSlider.
       
   201 
       
   202 QDom 		- [XML Module] DOM Level 1 Tree
       
   203 
       
   204 QMotifPlusStyle	- This class implements a Motif-ish look and feel with more
       
   205 		  sophisticated bevelling as used by the GIMP toolkit (GTK+)
       
   206 		  for Unix/X11.
       
   207 
       
   208 QMutex:		- Provides access serialization between threads.
       
   209 
       
   210 QSemaphore:	- A robust integer semaphore.  Another way of thread
       
   211 		  serialization.
       
   212 
       
   213 QThread 	- Baseclass for platform-independent threads.
       
   214 
       
   215 QWaitCondition 	- Provides signalling of the occurrence of events between
       
   216 		  threads ("condition variables")
       
   217 
       
   218 QCanvas 	- [Canvas Module] a highly optimized 2D graphic area.
       
   219 
       
   220 QTable 		- [Table Module] a flexible and editable table widget
       
   221 
       
   222 QXML 		- [XML Module] XML parser with SAX interface
       
   223