From a4e6d7fa68d022b33baa28ec6895d036af08329a Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Sun, 18 Dec 2011 08:58:20 +0000 Subject: [PATCH] 2011-12-18 12:48 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QPrinter.qth * contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth * Fixed: constructors. * contrib/hbqt/qtcore/qth/QLibraryInfo.qth * contrib/hbqt/qtgui/qth/QFileSystemModel.qth * contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth * contrib/hbqt/qtgui/qth/QGraphicsLayout.qth * contrib/hbqt/qtgui/qth/QLineEdit.qth * contrib/hbqt/qtgui/qth/QPlainTextEdit.qth * contrib/hbqt/qtgui/qth/QWizard.qth * contrib/hbqt/qtwebkit/qth/QWebFrame.qth * contrib/hbqt/qtwebkit/qth/QWebPage.qth + Added: methods introduced in later versions of Qt than 4.5.3. Please speak-out if some are missing. * contrib/hbqt/hbmk2_qt.hbs + Implemented: Qt version dependant class and methods compilations. Current implementation does not generate any error for methods which are called in application but are not present in used Qt version. It can be changed to throw run-time error. Classes are only compiled when version of Qt is what is intended. NOTE: this implemenattion opens the door to include any new classes and methods to existing classes no matter which version is current on the users system. --- harbour/ChangeLog | 27 +++++++++++++++++++ harbour/contrib/hbqt/hbmk2_qt.hbs | 17 ++++++++++++ .../contrib/hbqt/qtcore/qth/QLibraryInfo.qth | 5 ++++ .../hbqt/qtgui/qth/QFileSystemModel.qth | 2 ++ .../hbqt/qtgui/qth/QGraphicsGridLayout.qth | 3 +++ .../hbqt/qtgui/qth/QGraphicsLayout.qth | 3 +++ harbour/contrib/hbqt/qtgui/qth/QLineEdit.qth | 2 ++ .../contrib/hbqt/qtgui/qth/QPlainTextEdit.qth | 2 ++ .../hbqt/qtgui/qth/QPrintPreviewDialog.qth | 12 +++++++-- harbour/contrib/hbqt/qtgui/qth/QPrinter.qth | 4 +++ harbour/contrib/hbqt/qtgui/qth/QWizard.qth | 6 +++++ .../contrib/hbqt/qtwebkit/qth/QWebFrame.qth | 2 ++ .../contrib/hbqt/qtwebkit/qth/QWebPage.qth | 2 ++ 13 files changed, 85 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3e3290efd3..0b113e5663 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,33 @@ The license applies to all entries newer than 2009-04-28. */ +2011-12-18 12:48 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/qtgui/qth/QPrinter.qth + * contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth + * Fixed: constructors. + * contrib/hbqt/qtcore/qth/QLibraryInfo.qth + * contrib/hbqt/qtgui/qth/QFileSystemModel.qth + * contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth + * contrib/hbqt/qtgui/qth/QGraphicsLayout.qth + * contrib/hbqt/qtgui/qth/QLineEdit.qth + * contrib/hbqt/qtgui/qth/QPlainTextEdit.qth + * contrib/hbqt/qtgui/qth/QWizard.qth + * contrib/hbqt/qtwebkit/qth/QWebFrame.qth + * contrib/hbqt/qtwebkit/qth/QWebPage.qth + + Added: methods introduced in later versions of Qt than 4.5.3. + Please speak-out if some are missing. + + * contrib/hbqt/hbmk2_qt.hbs + + Implemented: Qt version dependant class and methods compilations. + Current implementation does not generate any error for methods + which are called in application but are not present in used + Qt version. It can be changed to throw run-time error. + Classes are only compiled when version of Qt is what is intended. + + NOTE: this implemenattion opens the door to include any new classes + and methods to existing classes no matter which version is + current on the users system. + 2011-12-15 16:38 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/gtwvg/wvgtoolb.prg * contrib/gtwvg/wvgwing.c diff --git a/harbour/contrib/hbqt/hbmk2_qt.hbs b/harbour/contrib/hbqt/hbmk2_qt.hbs index 377462b026..bc9d5f7054 100644 --- a/harbour/contrib/hbqt/hbmk2_qt.hbs +++ b/harbour/contrib/hbqt/hbmk2_qt.hbs @@ -1134,6 +1134,13 @@ METHOD HbQtSource:new( cQtModule, cQtVer, cQTHFileName, cCPPFileName, cDOCFileNa NEXT ENDIF + /* Reassign class level version information */ + IF ( n := AScan( ::cls_, {|e_| upper( e_[ 1 ] ) == "VERSION" } ) ) > 0 + IF ! Empty( ::cls_[ n, 2 ] ) + ::cQtVer := ::cls_[ n, 2 ] + ENDIF + ENDIF + /* Pull out SUBCLASS section */ ::subCls_ := hbqtgen_PullOutSection( @cQth, "SUBCLASS" ) @@ -1855,6 +1862,9 @@ METHOD HbQtSource:getMethodBody( oMtd, cMtdName, aMethods ) AAdd( txt_, "HB_FUNC_STATIC( " + Upper( oMtd:cHBFunc ) + " )" ) AAdd( txt_, "{" ) + IF ! empty( oMtd:cVersion ) + AAdd( txt_, " #if QT_VERSION >= " + oMtd:cVersion ) + ENDIF #ifdef _GEN_TRACE_ AAdd( txt_, ' HB_TRACE( ' + ::cTrMode + ', ( "' + ::cQtObject + ":" + oMtd:cHBFunc + '" ) );' ) //AAdd( txt_, ' HB_TRACE( HB_TR_DEBUG, ( "' + ::cQtObject + ":" + oMtd:cHBFunc + '" ) );' ) @@ -2011,6 +2021,9 @@ METHOD HbQtSource:getMethodBody( oMtd, cMtdName, aMethods ) ENDIF AAdd( txt_, " }" ) // if( p ) + IF ! empty( oMtd:cVersion ) + AAdd( txt_, " #endif" ) + ENDIF AAdd( txt_, "}" ) // HB_FUNC() AAdd( txt_, "" ) @@ -2224,6 +2237,9 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) CASE "A" oMtd:nAttach := val( cVal ) EXIT + CASE "V" + oMtd:cVersion := cVal + EXIT CASE "xxx" EXIT ENDSWITCH @@ -2720,6 +2736,7 @@ CREATE CLASS HbqtMethod VAR nDetach INIT 0 VAR nAttach INIT 0 + VAR cVersion INIT "" VAR cFun INIT "" VAR cRet INIT "" diff --git a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth index 8e9ccfdcd9..a9eb0162fb 100644 --- a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth +++ b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth @@ -45,6 +45,11 @@ enum LibraryLocation { PrefixPath, DocumentationPath, HeadersPath, LibrariesPath +QDate buildDate (){ + #if QT_VERSION >= 0x040600 + hbqt_create_objectGC( hbqt_gcAllocate_QDate( new QDate( QLibraryInfo::buildDate() ), true ) , "HB_QDATE" ); + #endif +} QString buildKey (){ hb_retstr_utf8( QLibraryInfo::buildKey().toUtf8().data() ); } diff --git a/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth b/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth index 2d506d19af..5eed18b23d 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth @@ -82,6 +82,8 @@ QString type ( const QModelIndex & index ) const void fileRenamed ( const QString & path, const QString & oldName, const QString & newName ) void rootPathChanged ( const QString & newPath ) + +void directoryLoaded ( const QString & path ) [*V=0x040700*] diff --git a/harbour/contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth b/harbour/contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth index 11b0b8820b..10f640b71d 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth @@ -16,6 +16,7 @@ QObject = no Inherit = QGraphicsLayout Type = New = +Version = @@ -85,6 +86,8 @@ void setRowStretchFactor ( int row, int stretch ) void setSpacing ( qreal spacing ) void setVerticalSpacing ( qreal spacing ) qreal verticalSpacing () const + +void removeItem ( QGraphicsLayoutItem * item ) [*V=0x040800*] diff --git a/harbour/contrib/hbqt/qtgui/qth/QGraphicsLayout.qth b/harbour/contrib/hbqt/qtgui/qth/QGraphicsLayout.qth index 889600ba63..4b3eba54df 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QGraphicsLayout.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QGraphicsLayout.qth @@ -45,6 +45,9 @@ virtual QGraphicsLayoutItem * itemAt ( int i ) const = 0 virtual void removeAt ( int index ) = 0 void setContentsMargins ( qreal left, qreal top, qreal right, qreal bottom ) virtual void widgetEvent ( QEvent * e ) + +bool instantInvalidatePropagation () [*V=0x040800*] +void setInstantInvalidatePropagation ( bool enable ) [*V=0x040800*] diff --git a/harbour/contrib/hbqt/qtgui/qth/QLineEdit.qth b/harbour/contrib/hbqt/qtgui/qth/QLineEdit.qth index 9b5416ec46..f862708da8 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QLineEdit.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QLineEdit.qth @@ -84,6 +84,8 @@ void setValidator ( const QValidator * v ) virtual QSize sizeHint () const QString text () const virtual const QValidator * validator () const + +void setPlaceholderText ( const QString & ) [*V=0x040700*] diff --git a/harbour/contrib/hbqt/qtgui/qth/QPlainTextEdit.qth b/harbour/contrib/hbqt/qtgui/qth/QPlainTextEdit.qth index 02557dabd5..1f26ce7ba1 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QPlainTextEdit.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QPlainTextEdit.qth @@ -103,6 +103,8 @@ QTextCursor textCursor () const Qt::TextInteractionFlags textInteractionFlags () const QString toPlainText () const QTextOption::WrapMode wordWrapMode () const + +QString anchorAt ( const QPoint & pos ) const [*V=0x040700*] diff --git a/harbour/contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth b/harbour/contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth index ac132ba2a1..e8fc9a679a 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth @@ -27,10 +27,18 @@ New = pParent, nFlags */ HB_FUNC( QT_QPRINTPREVIEWDIALOG ) { - if( hb_pcount() >= 2 && HB_ISOBJECT( 2 ) ) + if( hb_pcount() >= 2 && HB_ISOBJECT( 1 ) && HB_ISOBJECT( 2 ) && hbqt_isObjectType( 1, HBQT_TYPE_QPrinter ) ) + { __HB_RETPTRGC__( new QPrintPreviewDialog( hbqt_par_QPrinter( 1 ), hbqt_par_QWidget( 2 ), ( Qt::WindowFlags ) hb_parni( 3 ) ) ); - else + } + else if( hb_pcount() >= 1 && HB_ISOBJECT( 1 ) ) + { __HB_RETPTRGC__( new QPrintPreviewDialog( hbqt_par_QWidget( 1 ), ( Qt::WindowFlags ) hb_parni( 2 ) ) ); + } + else + { + __HB_RETPTRGC__( new QPrintPreviewDialog() ); + } } diff --git a/harbour/contrib/hbqt/qtgui/qth/QPrinter.qth b/harbour/contrib/hbqt/qtgui/qth/QPrinter.qth index 0822c85563..0540b06c7d 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QPrinter.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QPrinter.qth @@ -33,6 +33,10 @@ HB_FUNC( QT_QPRINTER ) { __HB_RETPTRGC__( new QPrinter( *hbqt_par_QPrinterInfo( 1 ), ( QPrinter::PrinterMode ) ( HB_ISNUM( 2 ) ? hb_parni( 2 ) : QPrinter::ScreenResolution ) ) ); } + else if( hb_pcount() == 1 && HB_ISNUM( 1 ) ) + { + __HB_RETPTRGC__( new QPrinter( ( QPrinter::PrinterMode ) hb_parni( 2 ) ) ); + } else { __HB_RETPTRGC__( new QPrinter() ); diff --git a/harbour/contrib/hbqt/qtgui/qth/QWizard.qth b/harbour/contrib/hbqt/qtgui/qth/QWizard.qth index 2d08d76641..9fdff9b750 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QWizard.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QWizard.qth @@ -73,6 +73,9 @@ Qt::TextFormat titleFormat () const virtual bool validateCurrentPage () QList visitedPages () const WizardStyle wizardStyle () const + +void setSideWidget ( QWidget * widget ) [*V=0x040700*] +QWidget * sideWidget () const [*V=0x040700*] @@ -85,4 +88,7 @@ void restart () void currentIdChanged ( int id ) void customButtonClicked ( int which ) void helpRequested () + +void pageAdded ( int id ) [*V=0x040700*] +void pageRemoved ( int id ) [*V=0x040700*] diff --git a/harbour/contrib/hbqt/qtwebkit/qth/QWebFrame.qth b/harbour/contrib/hbqt/qtwebkit/qth/QWebFrame.qth index c4db45a2e2..19f72b7103 100644 --- a/harbour/contrib/hbqt/qtwebkit/qth/QWebFrame.qth +++ b/harbour/contrib/hbqt/qtwebkit/qth/QWebFrame.qth @@ -77,6 +77,8 @@ QString toHtml () const QString toPlainText () const QUrl url () const qreal zoomFactor () const + +void scrollToAnchor ( const QString & anchor ) [*V=0x040700*] diff --git a/harbour/contrib/hbqt/qtwebkit/qth/QWebPage.qth b/harbour/contrib/hbqt/qtwebkit/qth/QWebPage.qth index a7267dd499..6bfa28df5f 100644 --- a/harbour/contrib/hbqt/qtwebkit/qth/QWebPage.qth +++ b/harbour/contrib/hbqt/qtwebkit/qth/QWebPage.qth @@ -106,4 +106,6 @@ void statusBarVisibilityChangeRequested ( bool visible ) void toolBarVisibilityChangeRequested ( bool visible ) void unsupportedContent ( QNetworkReply * reply ) void windowCloseRequested () + +void viewportChangeRequested () [*V=0x040800*]