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