diff -r 000000000000 -r 1918ee327afb dist/changes-3.0.0-beta2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/changes-3.0.0-beta2 Mon Jan 11 14:00:40 2010 +0000 @@ -0,0 +1,363 @@ +Qt 3.0 Beta2 is not binary compatible with Beta1, this means that any +programs linked with Beta1 must be recompiled. + +Below you'll find a description of general changes in the Qt Library +and Qt Designer followed by a detailed list of changes in the +programming API. + + +The Qt Library +======================================== + +Wacom Tablet Support +-------------------- + +Support for Wacom brand tablets has been introduced on Irix and +Windows. These devices generate a QTabletEvent that can be handled by +QWidget::tabletEvent(). The QTabletEvent holds information about +pressure, X and Y tilt, and which device is being used (e.g. stylus or +eraser). Note: at present, there are known issues with the Windows +version. + +Documentation +------------- + +Overall enhancements including fixed typos and the addition of several +images and code examples. + +QStyle (and derived classes) +---------------------------- + +The style API has been completely rewritten in Qt 3.0. The main reason +for doing this was because it was getting inconsistent, hard to +maintain and extend. Most of the old 2.x functions have been replaced +by a small set of more general functions. The new API is: + + - much more consistent + - less work have to be done to create custom styles + - easier to extend and maintain binary compatibility + +The old API relied upon a host of virtual functions that were +re-implemented in the different styles. These functions were used to +draw parts of, or entire widgets. The new API uses a small set of more +general functions. Enumerated values are passed as parameters to these +functions to specify which parts of a control or widget is to be drawn +(e.g drawPrimitive( PE_ArrowUp, ...)). + +To create custom styles with the new API, simply subclass from the +preferred base style and re-implement the function that draws the part +of the widget you want to change. If you for example want to change +the look of the arrows that are used in QWindowsStyle, subclass from +it and re-implement the drawPrimitive() function. Your drawPrimitive() +function may look something like this: + +void QMyStyle::drawPrimitive( PrimitiveElement pe, ... ) +{ + switch( pe ) { + case PE_ArrowUp: + // draw up arrow + break; + case PE_ArrowDown: + // draw down arrow + break; + default: + // let the base class handle the rest of the drawing + QWindowsStyle::drawPrimitive( ... ); + break; + } +} + +For more information about the new style API, please read the QStyle +documentation. + + +Qt Designer +======================================== + + - Improved indentation algorithm for the code editor. + - Allow multiple code editors to be open. This makes copy and paste + much easier. + + +Qt Functions +======================================== + +QCanvas +------- + + - QCanvas does not react on windowActivationChange() anymore. + - 64 bit cleanup. + +QChar +----- + + - The Unicode character is stored host ordered now. Main advantage is + that you can directly cast a QChar array to an array of unsigned shorts. + +QCom +---- + + - Introduced QS_OK, QS_FALSE, QE_NOINTERFACE, QE_INVALIDARG and + QE_NOIMPL as possible QRESULT return values. + +QDate, QTime and QDateTime +-------------------------- + + - New function for outputting free form strings and new DateFormat + enum Qt::LocalDate. + +New functions: + QString toString( const QString& format ); + +QDir +---- + + - entryInfoList() returns 0 for non-existing directories on Windows + as the documentation claims and the Unix version already does. + - On Windows, QDir tries a more failsafe way to determine the home + directory. + +QDom +---- + + - QDomNode::hasChildNodes() now works as documented. + - QDomDocument::toString() includes now namespaces in its output. + - QDomDocument::QDomDocument() constructor now allows adding children + to the document. + +QFileDialog +----------- + + - Various fixes in file type filter and handling of file names and + directories. + +QEvent +------ + + - New event type DeferredDelete. See QObject changes below. + +QGL +--- + + - Fix for Irix in respect of installing colormaps. + - Swapped arguments of QGLColormap::setEntries() in order to be able + to use a meaningful default argument. + +New class: + QGLColormap - class for manipulating colormaps in GL index mode. + +QGridView +--------- + +A new class that provides an abstract base for fixed-size grids. + +QIconSet +-------- + +New function: + void clearGenerated(); + +QImage +------ + + - Handlers for image formats can be dynamically loaded as a plug-in by + using the QImageFormatInterface. + +QLabel +------ + + - setIndent() behaves like documented. + +QLineEdit +--------- + +New function: + int characterAt( int xpos, QChar *chr ) const; + +QLibrary +-------- + +Enabled plug-in loading with static Qt library (Windows). + +QMovie +------ + + - Does pixmap caching now. Reduces load e.g. on the X Server in the + case of animated gifs. + +QObject +------- + + - Added a deferredDelete() function that will cause the object to + delete itself once the event loop is entered again. + + - A second type of destroyed signal - one that passes a pointer to + the destroyed object as a parameter - will be emitted in QObject's + destructor. + +New signal: + void destroyed( QObject* obj ); + +New slot: + void deferredDelete(); + +QPainter +-------- + + - So far clipping had always been done in the device coordinate + system. The newly introduced ClipMode allows clipping regions to be + set via setClipRect() and setClipRegion() in painter coordinates. + +New enum: + enum ClipMode { ClipDevice, ClipPainter }; + +Extended functions: + QRegion clipRegion( ClipMode = ClipDevice ) const; + void setClipRect( const QRect &, ClipMode = ClipDevice ) + void setClipRect( int x, int y, int w, int h, ClipMode = ClipDevice ); + void setClipRegion( const QRegion &, ClipMode = ClipDevice ); + +QPrintDialog +------------ + + - Allow overriding the default print dialog. This way it's possible + to better cope with the variety of existing print systems (API not + finalized, yet). + - The dialog reads current QPrinter on every invocation now. + +New functions: + static void setGlobalPrintDialog( QPrintDialog * ); + virtual bool setupPrinters ( QListView *printers ); + +QPrinter +-------- + + - X11 version only: Introduced Qt settings switch 'embedFonts' that + allows disabling font embedding to reduce size of PostScript output. + +QProcess +-------- + + - Added function to retrieve the pid (Unix) or PROCESS_INFORMATION + (Windows) from a running process. + - Extra parameter for environment settings in start() and launch() + functions. + +New/extended functions: + PID processIdentifier(); + virtual bool start( QStringList *env=0 ); + virtual bool launch( const QString& buf, QStringList *env=0 ); + virtual bool launch( const QByteArray& buf, QStringList *env=0 ); + +New signal: + void launchFinished(); + +QServerSocket +------------- + + - Set the SO_REUSEADDR option so that the server can be restarted. + +QSocket +------- + + - Make deletion of QSocket instances safe if it is in response to a + signal emitted by the object itself. + +SocketDevice +------------ + + - Optional boolean parameter to be able to distinguish between + timeout and connection closed by peer when waitForMore() returns. + +Extended functions: + int waitForMore( int msecs, bool *timeout=0 ) const; + +QStyleSheet +----------- + + - Added helper function that escapes HTML meta-characters. + +New function: + QString escape( const QString& plain); + +QSql +---- + + - The source of the SQL driver plug-ins have been moved to + $QTDIR/plugins/src/sqldrivers/. + - The postgres driver checks the version number of the server. So there is + no need for different drivers: QPSQL6 no longer exists -- use QPSQL7 + instead. + - Postgres driver supports now 3 PostgreSQL back ends: 6.x, 7.0.x and 7.1.x + - Better handling of errors coming from the database. + - SQL driver for Microsoft SQL Server and Sybase Adaptive Server (TDS). + - Added caching for forward-only cursors. + - Avoid crashes on the unloading of SQL plugins that occurred on some + platforms. + - QSqlResults can be forward only to improve performance + (QSqlResult::setForwardOnly()). + - QSqlDatabase passes the port number to the SQL driver. + +QTable +------ + + - No longer calls processEvents() in columnWidthChanged() and + rowHeightChanged() in order to avoid any side effects. + - Ensure that mousePressEvent doesn't emit contextMenuRequested(), + unless it is called from the contextMenu event handler. + - For more useful subclassing the new functions listed below have + been added. + +New functions: + bool isEditing() const; + EditMode editMode() const; + int currEditRow() const; + int currEditCol() const; + +QTextCodec +---------- + + - Fixes for characters in the 0x80..0xff range. + +QTextEdit +--------- + + - The rich text engine has seen many internal improvements and + additions to the QTextEdit class. + +New functions: + virtual void scrollToBottom(); + virtual void removeSelection( int selNum = 0 ); + virtual bool getParagraphFormat(...); + virtual void insertParagraph( const QString &text, int para ); + virtual void removeParagraph( int para ); + virtual void insertAt( const QString &text, int para, int index ); + QRect paragraphRect( int para ) const; + int paragraphAt( const QPoint &pos ) const; + int charAt( const QPoint &pos, int *para ) const; + +QUrlOperator +------------ + + - More precise error messages. + +QWidget +------- + + - Added a read-only property containing the widget's background brush. + +New function: + virtual const QBrush& backgroundBrush() const; + +QWMatrix +-------- + + - New functions for mapping of geometric elements via matrix + multiplication semantics. + +New functions: + QRect mapRect( const QRect & ); + QPoint operator * (const QPoint & ) const; + QRegion operator * (const QRect & ) const; + QRegion operator * (const QRegion & ) const; + QPointArray operator * ( const QPointArray &a ) const;