From b90666e3645c5a234f080f9b9da8210418696b10 Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Tue, 12 Jun 2012 23:45:33 +0000 Subject: [PATCH] 2012-06-12 16:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/gtqtc/gtqtc.cpp * contrib/hbqt/hbmk2_qt.hb * contrib/hbqt/qtcore/hbqt.h * contrib/hbqt/qtcore/hbqt_bind.cpp * contrib/hbqt/qtcore/hbqt_hbqevents.cpp * contrib/hbqt/qtcore/hbqt_hbqslots.cpp * contrib/hbqt/qtcore/hbqt_init.cpp * contrib/hbqt/qtcore/hbqt_misc.prg * contrib/hbqt/qtcore/hbqt_pointer.cpp * contrib/hbqt/qtcore/qth/HBQEvents.qth * contrib/hbqt/qtcore/qth/HBQSlots.qth * contrib/hbqt/qtcore/qth/QLibraryInfo.qth * contrib/hbqt/qtcore/qth/QMimeData.qth * contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp * contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp * contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbqt/qtgui/hbqt_hbqtableview.cpp * contrib/hbqt/qtgui/hbqt_init.cpp * contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth * contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth * contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth * contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth * contrib/hbqt/qtgui/qth/HBQTableView.qth * contrib/hbqt/qtgui/qth/QApplication.qth * contrib/hbqt/qtgui/qth/QClipboard.qth * contrib/hbqt/qtgui/qth/QDirModel.qth * contrib/hbqt/qtgui/qth/QDropEvent.qth * contrib/hbqt/qtgui/qth/QFileSystemModel.qth * contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth * contrib/hbqt/qtnetwork/hbqt_init.cpp * contrib/hbqt/tests/draggable.prg * contrib/hbxbp/xbpbrowse.prg * contrib/hbide/ideedit.prg * contrib/hbide/idefindreplace.prg + Implemented: Revamped HBQT. The complete code base has been cleaned as per new API and there is no leftover is kept inside the sources. All demos and hbIDE seems TO be working fine with few exceptions here and there, but usually all seems fine. The only issue left, so far I can assess is that no object is subject to destrution if a connect is issued onto that. And I have no idea how TO handle this situation. It is the programmers responsibility to disconnect whenever an object is supposed to go out of scope. TODO: still debug tracelog entries ( under HB_TR_DEBUG ) are retained in hbqt_bind.c which are schduled TO be removed once code base stabilizes enough. --- harbour/ChangeLog | 61 +++ harbour/contrib/hbide/ideedit.prg | 6 - harbour/contrib/hbide/idefindreplace.prg | 27 +- harbour/contrib/hbqt/gtqtc/gtqtc.cpp | 9 +- harbour/contrib/hbqt/hbmk2_qt.hb | 446 +----------------- harbour/contrib/hbqt/qtcore/hbqt.h | 12 +- harbour/contrib/hbqt/qtcore/hbqt_bind.cpp | 156 +++++- .../contrib/hbqt/qtcore/hbqt_hbqevents.cpp | 144 ++---- harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp | 66 +-- harbour/contrib/hbqt/qtcore/hbqt_init.cpp | 143 +----- harbour/contrib/hbqt/qtcore/hbqt_misc.prg | 47 +- harbour/contrib/hbqt/qtcore/hbqt_pointer.cpp | 236 +-------- harbour/contrib/hbqt/qtcore/qth/HBQEvents.qth | 24 - harbour/contrib/hbqt/qtcore/qth/HBQSlots.qth | 24 - .../contrib/hbqt/qtcore/qth/QLibraryInfo.qth | 6 +- harbour/contrib/hbqt/qtcore/qth/QMimeData.qth | 6 +- .../hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp | 2 +- .../hbqt/qtgui/hbqt_hbqgraphicsitem.cpp | 29 +- .../hbqt/qtgui/hbqt_hbqgraphicsscene.cpp | 49 +- .../hbqt/qtgui/hbqt_hbqplaintextedit.cpp | 11 +- .../contrib/hbqt/qtgui/hbqt_hbqtableview.cpp | 25 +- harbour/contrib/hbqt/qtgui/hbqt_init.cpp | 440 +++++------------ .../hbqt/qtgui/qth/HBQAbstractItemModel.qth | 21 - .../hbqt/qtgui/qth/HBQGraphicsItem.qth | 21 - .../hbqt/qtgui/qth/HBQGraphicsScene.qth | 19 - .../hbqt/qtgui/qth/HBQPlainTextEdit.qth | 19 - .../contrib/hbqt/qtgui/qth/HBQTableView.qth | 20 - .../contrib/hbqt/qtgui/qth/QApplication.qth | 7 +- harbour/contrib/hbqt/qtgui/qth/QClipboard.qth | 6 +- harbour/contrib/hbqt/qtgui/qth/QDirModel.qth | 6 +- harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth | 6 +- .../hbqt/qtgui/qth/QFileSystemModel.qth | 6 +- .../qtgui/qth/QGraphicsSceneDragDropEvent.qth | 7 +- harbour/contrib/hbqt/qtnetwork/hbqt_init.cpp | 33 +- harbour/contrib/hbqt/tests/draggable.prg | 6 + harbour/contrib/hbxbp/xbpbrowse.prg | 2 +- 36 files changed, 491 insertions(+), 1657 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ea29904e2a..2ddd67b877 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,67 @@ The license applies to all entries newer than 2009-04-28. */ +2012-06-12 16:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/gtqtc/gtqtc.cpp + + * contrib/hbqt/hbmk2_qt.hb + + * contrib/hbqt/qtcore/hbqt.h + * contrib/hbqt/qtcore/hbqt_bind.cpp + * contrib/hbqt/qtcore/hbqt_hbqevents.cpp + * contrib/hbqt/qtcore/hbqt_hbqslots.cpp + * contrib/hbqt/qtcore/hbqt_init.cpp + * contrib/hbqt/qtcore/hbqt_misc.prg + * contrib/hbqt/qtcore/hbqt_pointer.cpp + + * contrib/hbqt/qtcore/qth/HBQEvents.qth + * contrib/hbqt/qtcore/qth/HBQSlots.qth + * contrib/hbqt/qtcore/qth/QLibraryInfo.qth + * contrib/hbqt/qtcore/qth/QMimeData.qth + + * contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp + * contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp + * contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp + * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp + * contrib/hbqt/qtgui/hbqt_hbqtableview.cpp + * contrib/hbqt/qtgui/hbqt_init.cpp + + * contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth + * contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth + * contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth + * contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth + * contrib/hbqt/qtgui/qth/HBQTableView.qth + * contrib/hbqt/qtgui/qth/QApplication.qth + * contrib/hbqt/qtgui/qth/QClipboard.qth + * contrib/hbqt/qtgui/qth/QDirModel.qth + * contrib/hbqt/qtgui/qth/QDropEvent.qth + * contrib/hbqt/qtgui/qth/QFileSystemModel.qth + * contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth + + * contrib/hbqt/qtnetwork/hbqt_init.cpp + + * contrib/hbqt/tests/draggable.prg + + * contrib/hbxbp/xbpbrowse.prg + + * contrib/hbide/ideedit.prg + * contrib/hbide/idefindreplace.prg + + + Implemented: Revamped HBQT. + The complete code base has been cleaned as per new API + and there is no leftover is kept inside the sources. + All demos and hbIDE seems TO be working fine with few + exceptions here and there, but usually all seems fine. + The only issue left, so far I can assess is that no object + is subject to destrution if a connect is issued onto that. + And I have no idea how TO handle this situation. It is the + programmers responsibility to disconnect whenever an object + is supposed to go out of scope. + + TODO: still debug tracelog entries ( under HB_TR_DEBUG ) are + retained in hbqt_bind.c which are schduled TO be + removed once code base stabilizes enough. + 2012-06-12 22:21 UTC+0200 Francesco Perillo (fperillo at gmail.com) * contrib/hbqt/qtgui/qth/filelist.hbm * added remark to QDeclarativeParserStatus since all other diff --git a/harbour/contrib/hbide/ideedit.prg b/harbour/contrib/hbide/ideedit.prg index f0f99dc110..be03097806 100644 --- a/harbour/contrib/hbide/ideedit.prg +++ b/harbour/contrib/hbide/ideedit.prg @@ -415,15 +415,9 @@ METHOD IdeEdit:execEvent( nMode, p, p1 ) ::oEM:aActions[ 19, 2 ]:setEnabled( len( ::oEditor:aEdits ) == 0 .OR. ::oEditor:nSplOrient == -1 .OR. ::oEditor:nSplOrient == 2 ) ::oEM:aActions[ 21, 2 ]:setEnabled( n > 0 ) -#ifdef __HBQT_REVAMP__ IF empty( qAct := ::oEM:qContextMenu:exec( ::qEdit:mapToGlobal( p ) ) ) RETURN Self ENDIF -#else - IF ! ( qAct := ::oEM:qContextMenu:exec( ::qEdit:mapToGlobal( p ) ) ):hasValidPointer() - RETURN Self - ENDIF -#endif cAct := strtran( qAct:text(), "&", "" ) SWITCH cAct CASE "Split Horizontally" diff --git a/harbour/contrib/hbide/idefindreplace.prg b/harbour/contrib/hbide/idefindreplace.prg index f62ad722b1..c8a48ef011 100644 --- a/harbour/contrib/hbide/idefindreplace.prg +++ b/harbour/contrib/hbide/idefindreplace.prg @@ -1017,9 +1017,6 @@ METHOD IdeFindInFiles:replaceAll() METHOD IdeFindInFiles:execContextMenu( p ) LOCAL nLine, qCursor, qMenu, qAct, cAct, cFind -#ifndef __HBQT_REVAMP__ - LOCAL aAct := {} -#endif qCursor := ::oUI:q_editResults:textCursor() nLine := qCursor:blockNumber() + 1 @@ -1027,7 +1024,6 @@ METHOD IdeFindInFiles:execContextMenu( p ) IF nLine <= len( ::aInfo ) qMenu := QMenu() // ::oUI:q_editResults ) -#ifdef __HBQT_REVAMP__ qMenu:addAction( "Copy" ) qMenu:addAction( "Select All" ) qMenu:addAction( "Clear" ) @@ -1046,28 +1042,7 @@ METHOD IdeFindInFiles:execContextMenu( p ) qMenu:addAction( "Zom In" ) qMenu:addAction( "Zoom Out" ) -#else - aadd( aAct, qMenu:addAction( "Copy" ) ) - aadd( aAct, qMenu:addAction( "Select All" ) ) - aadd( aAct, qMenu:addAction( "Clear" ) ) - aadd( aAct, qMenu:addAction( "Print" ) ) - aadd( aAct, qMenu:addAction( "Save as..." ) ) - aadd( aAct, qMenu:addSeparator() ) - aadd( aAct, qMenu:addAction( "Find" ) ) - aadd( aAct, qMenu:addSeparator() ) - IF ::aInfo[ nLine, 1 ] == -2 /* Found Line */ - aadd( aAct, qMenu:addAction( "Replace Line" ) ) - ELSEIF ::aInfo[ nLine, 1 ] == -1 /* Source File */ - aadd( aAct, qMenu:addAction( "Open" ) ) - aadd( aAct, qMenu:addAction( "Replace All" ) ) - ENDIF - aadd( aAct, qMenu:addSeparator() ) - aadd( aAct, qMenu:addAction( "Zoom In" ) ) - aadd( aAct, qMenu:addAction( "Zoom Out" ) ) - -#endif - - IF __objGetClsName( qAct := qMenu:exec( ::oUI:q_editResults:mapToGlobal( p ) ) ) == "QACTION" + IF ! empty( qAct := qMenu:exec( ::oUI:q_editResults:mapToGlobal( p ) ) ) IF valtype( cAct := qAct:text() ) == "C" SWITCH cAct diff --git a/harbour/contrib/hbqt/gtqtc/gtqtc.cpp b/harbour/contrib/hbqt/gtqtc/gtqtc.cpp index 9b524a954a..0b194013c6 100644 --- a/harbour/contrib/hbqt/gtqtc/gtqtc.cpp +++ b/harbour/contrib/hbqt/gtqtc/gtqtc.cpp @@ -1127,13 +1127,14 @@ static HB_BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) break; case HB_GTI_WIDGET: - //pInfo->pResult = hb_itemPutPtrGC( pInfo->pResult, hbqt_gcAllocate_QWidget( pWVT->qWnd, false ) ); - pInfo->pResult = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QMainWindow( pWVT->qWnd, false ), "HB_QMAINWINDOW" ) ); + //pInfo->pResult = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QMainWindow( pWVT->qWnd, false ), "HB_QMAINWINDOW" ) ); + pInfo->pResult = hbqt_bindSetHbObject( NULL, pWVT->qWnd, "HB_QMAINWINDOW", NULL, HBQT_BIT_QOBJECT ); + break; case HB_GTI_DRAWINGAREA: - //pInfo->pResult = hb_itemPutPtrGC( pInfo->pResult, hbqt_gcAllocate_QMainWindow( pWVT->qWnd->_drawingArea, false ) ); - pInfo->pResult = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( pWVT->qWnd->_drawingArea, false ), "HB_QWIDGET" ) ); + //pInfo->pResult = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( pWVT->qWnd->_drawingArea, false ), "HB_QWIDGET" ) ); + pInfo->pResult = hbqt_bindSetHbObject( NULL, pWVT->qWnd->_drawingArea, "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT ); break; case HB_GTI_EVENTLOOP: diff --git a/harbour/contrib/hbqt/hbmk2_qt.hb b/harbour/contrib/hbqt/hbmk2_qt.hb index 8641e5a2b7..91a3e2a294 100644 --- a/harbour/contrib/hbqt/hbmk2_qt.hb +++ b/harbour/contrib/hbqt/hbmk2_qt.hb @@ -33,8 +33,6 @@ #include "directry.ch" #include "hbclass.ch" -//#define __HBQT_REVAMP__ - #define I_( x ) hb_i18n_gettext( x ) #if defined( __HBSCRIPT__HBMK ) @@ -1089,8 +1087,6 @@ CREATE CLASS HbQtSource METHOD parseVariables( cProto ) METHOD build() METHOD exploreExtensions() - METHOD buildExtendedSource( t_ ) - METHOD buildExtendedHeader() METHOD getConstructor() METHOD getConstructorW() METHOD buildCppCode( oMtd ) @@ -1237,11 +1233,7 @@ METHOD HbQtSource:new( cQtModule, cQtVer, cQTHFileName, cCPPFileName, cDOCFileNa ::isDetached := AScan( ::cls_, {| e_ | Lower( e_[ 1 ] ) == "detached" .AND. Lower( e_[ 2 ] ) == "yes" } ) > 0 ::isConstructor := AScan( ::cls_, {| e_ | Lower( e_[ 1 ] ) == "constructor" .AND. Lower( e_[ 2 ] ) == "no" } ) == 0 ::isDestructor := AScan( ::cls_, {| e_ | Lower( e_[ 1 ] ) == "destructor" .AND. Lower( e_[ 2 ] ) == "no" } ) == 0 -#ifdef __HBQT_REVAMP__ ::isObject := qth_is_QObject( ::cQtObject ) -#else - ::isObject := AScan( ::cls_, {| e_ | Lower( e_[ 1 ] ) == "qobject" .AND. Lower( e_[ 2 ] ) == "no" } ) == 0 -#endif ::areMethodsClubbed := AScan( ::cls_, {| e_ | Lower( e_[ 1 ] ) == "clubmethods" .AND. Lower( e_[ 2 ] ) == "no" } ) == 0 /* Determine Constructor - but this is hacky a bit. What could be easiest ? */ IF ! ::isConstructor @@ -1324,7 +1316,6 @@ METHOD HbQtSource:new( cQtModule, cQtVer, cQTHFileName, cCPPFileName, cDOCFileNa METHOD HbQtSource:build() LOCAL i, s, oMtd, tmp, tmp1, n, k, aLine, uQtObject - LOCAL cObjPfx := iif( ::lBuildExtended, "Q", "" ) uQtObject := Upper( ::cQtObject ) @@ -1346,26 +1337,6 @@ METHOD HbQtSource:build() AAdd( aLine, "" ) ENDIF - /* Insert information about prototypes not converted to functions */ -#if 0 - AAdd( aLine, "/*" ) - AAdd( aLine, " * Constructed[ " + hb_ntos( ::nCnvrtd ) + "/" + hb_ntos( ::nFuncs ) + " [ " + hb_ntos( ::nCnvrtd / ::nFuncs * 100 ) + "% ] ]" ) - AAdd( aLine, " * " ) - IF ! Empty( ::dummy_ ) - AAdd( aLine, " * *** Unconvered Prototypes ***" ) - AAdd( aLine, " * " ) - AEval( ::dummy_, {| e | AAdd( aLine, " * " + e ) } ) - ENDIF - IF ! Empty( ::cmntd_ ) - AAdd( aLine, " * " ) - AAdd( aLine, " * " + "*** Commented out prototypes ***" ) - AAdd( aLine, " * " ) - AEval( ::cmntd_, {| e | AAdd( aLine, " * " + e ) } ) - ENDIF - AAdd( aLine, " */ " ) - AAdd( aLine, "" ) -#endif - IF ::isConstructor FOR i := 3 TO Len( ::new_ ) - 1 IF !( Left( LTrim( ::new_[ i ] ), 2 ) == "//" ) @@ -1381,9 +1352,6 @@ METHOD HbQtSource:build() NEXT ENDIF - /*----------------------------------------------------------------------*/ - /* Generate necessary declarations */ - AAdd( aLine, "HB_EXTERN_BEGIN" ) AAdd( aLine, "" ) AAdd( aLine, "HB_FUNC_EXTERN( __HB" + Upper( ::cQtModule ) + " );" ) @@ -1406,23 +1374,12 @@ METHOD HbQtSource:build() IF ::cQtVer > "0x040500" AAdd( aLine, "#if QT_VERSION >= " + ::cQtVer ) ENDIF - FOR EACH s IN ::hRef - AAdd( aLine, "extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_" + s:__enumKey() + " );" ) - NEXT - AAdd( aLine, "" ) - FOR EACH s IN ::hRef - AAdd( aLine, "extern HB_EXPORT void * hbqt_gcAllocate_" + s:__enumKey() + "( void * pObj, bool bNew );" ) - NEXT -#ifdef __HBQT_REVAMP__ AAdd( aLine, '' ) FOR EACH s IN ::hRef AAdd( aLine, "extern HB_EXPORT void hbqt_del_" + s:__enumKey() + "( void * pObj, int iFlags );" ) NEXT AAdd( aLine, '' ) - AAdd( aLine, "/*..........................................................*/" ) - AAdd( aLine, '' ) -#endif n := AScan( ::cls_, {| e_ | Left( Lower( e_[ 1 ] ), 7 ) == "inherit" .and. ! Empty( e_[ 2 ] ) } ) IF n > 0 @@ -1479,10 +1436,7 @@ METHOD HbQtSource:build() AAdd( aLine, "#endif" ) ENDIF AAdd( aLine, "" ) - /*----------------------------------------------------------------------*/ - /* Insert user defined code - INCLUDEs */ - AAdd( aLine, "#include " ) IF ! Empty( ::code_ ) IF ::cQtVer > "0x040500" AAdd( aLine, "#if QT_VERSION >= " + ::cQtVer ) @@ -1499,171 +1453,10 @@ METHOD HbQtSource:build() AAdd( aLine, "" ) ENDIF -#define __GCMARK__ - - ::buildExtendedSource( aLine ) /* Insert protected functions */ - IF ::cQtVer > "0x040500" AAdd( aLine, "#if QT_VERSION >= " + ::cQtVer ) ENDIF - AAdd( aLine, "typedef struct" ) - AAdd( aLine, "{" ) - IF ::isObject .AND. ::isConstructor - AAdd( aLine, " QPointer< " + cObjPfx + ::cQtObject + " > ph;" ) - ELSE - IF ::isList - AAdd( aLine, " " + cObjPfx + ::cQtObject + "< void * > * ph;" ) - ELSE - AAdd( aLine, " " + cObjPfx + ::cQtObject + " * ph;" ) - ENDIF - ENDIF - AAdd( aLine, " bool bNew;" ) - AAdd( aLine, " PHBQT_GC_FUNC func;" ) - AAdd( aLine, " PHBQT_GC_FUNC mark;" ) - AAdd( aLine, "} HBQT_GC_T_" + ::cQtObject + ";" ) - AAdd( aLine, " " ) - AAdd( aLine, " " ) - IF n > 0 - AEval( ::code_, {| e | AAdd( aLine, StrTran( e, chr( 13 ) ) ) }, n ) - ENDIF - AAdd( aLine, " " ) - AAdd( aLine, " " ) - - AAdd( aLine, "HBQT_GC_FUNC( hbqt_gcRelease_" + ::cQtObject + " )" ) - AAdd( aLine, "{" ) - IF ::isDestructor .AND. ::isConstructor - IF ::isObject - AAdd( aLine, " HBQT_GC_T_" + ::cQtObject + " * p = ( HBQT_GC_T_" + ::cQtObject + " * ) Cargo; " ) - AAdd( aLine, " " ) - AAdd( aLine, " if( p )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " if( p->bNew )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " if( p->ph )" ) - AAdd( aLine, " {" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p %p YES_rel_' + ::cQtObject + ' /.\\ ", ( void * ) p, ( void * ) p->ph ) );' ) -#endif - AAdd( aLine, " delete ( " + cObjPfx + ::cQtObject + " * )( p->ph ); " ) -#ifdef _GEN_TRACE_ - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p %p YES_rel_' + ::cQtObject + ' \\./ ", ( void * ) p, ( void * ) p->ph ) );' ) -#endif - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p DEL_rel_' + ::cQtObject + ' : already deleted!", ( void * ) p->ph ) );' ) - AAdd( aLine, " }" ) -#endif - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p PTR_rel_' + ::cQtObject + ' : not a _new_ object", ( void * ) p->ph ) );' ) - AAdd( aLine, " }" ) -#endif - AAdd( aLine, " p->ph = NULL;" ) - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "DEL_rel_' + ::cQtObject + ' : not valid GC object" ) );' ) - AAdd( aLine, " }" ) -#endif - ELSE - AAdd( aLine, " HBQT_GC_T_" + ::cQtObject + " * p = ( HBQT_GC_T_" + ::cQtObject + " * ) Cargo; " ) - AAdd( aLine, " " ) - AAdd( aLine, " if( p )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " if( p->bNew )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " if( p->ph )" ) - AAdd( aLine, " {" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p _rel_' + ::cQtObject + ' /.\\", ( void * ) p->ph ) );' ) -#endif - IF ::isList - AAdd( aLine, " int i; " ) - AAdd( aLine, " for( i = 0; i < p->ph->size(); i++ )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " if( p->ph->at( i ) != NULL )" ) - AAdd( aLine, " {" ) - AAdd( aLine, " hb_itemRelease( p->ph->at( i ) );" ) - AAdd( aLine, " }" ) - AAdd( aLine, " }" ) - ENDIF - AAdd( aLine, " delete ( ( " + cObjPfx + ::cQtObject + iif( ::isList, "< void * >", "" ) + " * ) p->ph ); " ) -#ifdef _GEN_TRACE_ - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p YES_rel_' + ::cQtObject + ' \\./", ( void * ) p->ph ) );' ) -#endif - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p DEL_rel_' + ::cQtObject + ' : object already deleted!", ( void * ) p->ph ) );' ) - AAdd( aLine, " }" ) -#endif - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p DEL_rel_' + ::cQtObject + ' : not a _new_ object!", ( void * ) p->ph ) );' ) - AAdd( aLine, " }" ) -#endif - AAdd( aLine, " p->ph = NULL;" ) - AAdd( aLine, " }" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p PTR_rel_' + ::cQtObject + ' : not a valid GC object!", ( void * ) p ) );' ) - AAdd( aLine, " }" ) -#endif - ENDIF - ELSE - AAdd( aLine, " /* CASE else */" ) - AAdd( aLine, " HBQT_GC_T * p = ( HBQT_GC_T * ) Cargo;" ) - AAdd( aLine, " " ) - AAdd( aLine, " if( p )" ) //&& p->bNew )" ) - AAdd( aLine, " p->ph = NULL;" ) - ENDIF - AAdd( aLine, "}" ) - AAdd( aLine, "" ) - - AAdd( aLine, "void * hbqt_gcAllocate_" + ::cQtObject + "( void * pObj, bool bNew )" ) - AAdd( aLine, "{ " ) - IF ::isObject - AAdd( aLine, " HBQT_GC_T_" + ::cQtObject + " * p = ( HBQT_GC_T_" + ::cQtObject + " * ) hb_gcAllocate( sizeof( HBQT_GC_T_" + ::cQtObject + " ), hbqt_gcFuncs() );" ) - ELSE - AAdd( aLine, " HBQT_GC_T_" + ::cQtObject + " * p = ( HBQT_GC_T_" + ::cQtObject + " * ) hb_gcAllocate( sizeof( HBQT_GC_T_" + ::cQtObject + " ), hbqt_gcFuncs() );" ) - ENDIF - AAdd( aLine, "" ) - - IF ::isObject .AND. ::isConstructor - AAdd( aLine, " new( & p->ph ) QPointer< "+ cObjPfx + ::cQtObject +" >( ( " + cObjPfx + ::cQtObject + " * ) pObj );" ) - ELSE - AAdd( aLine, " p->ph = ( " + cObjPfx + ::cQtObject + iif( ::isList, "< void * >", "" ) + " * ) pObj;" ) - ENDIF - AAdd( aLine, " p->bNew = bNew;" ) - AAdd( aLine, " p->func = hbqt_gcRelease_" + ::cQtObject + ";" ) - if n > 0 - AAdd( aLine, " p->mark = hbqt_gcMark_" + ::cQtObject + ";" ) - else - AAdd( aLine, " p->mark = NULL;" ) - ENDIF - - AAdd( aLine, "" ) -#ifdef _GEN_TRACE_ - AAdd( aLine, " if( bNew )" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p _new_' + ::cQtObject + iif( ::isObject, ' under p->pq', '' ) + '", ( void * ) pObj ) );' ) - AAdd( aLine, " }" ) - AAdd( aLine, " else" ) - AAdd( aLine, " {" ) - AAdd( aLine, ' HB_TRACE( ' + ::cTrMode + ', ( "ph=%p NOT_new_' + ::cQtObject + '", ( void * ) pObj ) );' ) - AAdd( aLine, " }" ) -#endif - AAdd( aLine, " return p;" ) - AAdd( aLine, "}" ) + IF ::cQtVer > "0x040500" AAdd( aLine, "#endif" ) ENDIF @@ -1672,7 +1465,6 @@ METHOD HbQtSource:build() AAdd( aLine, 'static PHB_ITEM s_oClass = NULL;' ) AAdd( aLine, "" ) -#ifdef __HBQT_REVAMP__ AAdd( aLine, '' ) AAdd( aLine, 'void hbqt_del_' + ::cQtObject + '( void * pObj, int iFlags )' ) AAdd( aLine, '{' ) @@ -1698,9 +1490,7 @@ METHOD HbQtSource:build() AAdd( aLine, ' pObj = NULL;' ) AAdd( aLine, ' }' ) AAdd( aLine, '}' ) - AAdd( aLine, "/*..........................................................*/" ) AAdd( aLine, '' ) -#endif AAdd( aLine, 'void hbqt_register_' + lower( uQtObject ) + '()' ) AAdd( aLine, "{" ) @@ -1776,9 +1566,6 @@ METHOD HbQtSource:build() /* Build Document File */ ::buildDOC() - /* Build Protected Events Implimentation */ - ::buildExtendedHeader() - /* Distribute in specific lib subfolder */ hbqtgen_CreateTarget( ::cCPPFileName, aLine ) @@ -1795,171 +1582,6 @@ METHOD HbQtSource:exploreExtensions() ENDIF ENDIF - // check other events - - // Test IF extended code is TO be built - IF ::lPaintEvent // .OR. ::lOtherEvent - ::lBuildExtended := .t. - ENDIF - - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD HbQtSource:buildExtendedHeader() - LOCAL cPath, txt_, cObj - - IF ! ::lBuildExtended - RETURN Self - ENDIF - - cObj := ::cQtObject - txt_:= {} - - aadd( txt_, '' ) - aadd( txt_, '#include "hbapiitm.h" ' ) - aadd( txt_, '' ) - aadd( txt_, 'HB_EXTERN_BEGIN' ) - IF ::lPaintEvent - AAdd( txt_, 'extern HB_EXPORT void * hbqt_gcAllocate_QPaintEvent( void * pObj, bool bNew );' ) - AAdd( txt_, 'extern HB_EXPORT void * hbqt_gcAllocate_QPainter( void * pObj, bool bNew );' ) - ENDIF - aadd( txt_, 'HB_EXTERN_END' ) - aadd( txt_, '' ) - aadd( txt_, '#include ' ) - IF ::lPaintEvent - aadd( txt_, '#include ' ) - aadd( txt_, '#include ' ) - aadd( txt_, '#include ' ) - ENDIF - aadd( txt_, '' ) - aadd( txt_, 'class Q' + cObj + ' : public ' + cObj ) - aadd( txt_, '{' ) - aadd( txt_, ' Q_OBJECT' ) - aadd( txt_, '' ) - aadd( txt_, 'public:' ) - - SWITCH cObj - CASE "QWidget" - aadd( txt_, ' Q' + cObj + '( QWidget * parent = 0, Qt::WindowFlags f = 0 );' ) - EXIT - OTHERWISE - aadd( txt_, ' Q' + cObj + '( QWidget * parent = 0 );' ) - EXIT - ENDSWITCH - - aadd( txt_, ' virtual ~Q' + cObj + '();' ) - aadd( txt_, '' ) - aadd( txt_, ' void hbSetEventBlock( int event, PHB_ITEM pBlock );' ) - aadd( txt_, '' ) - IF ::lPaintEvent - aadd( txt_, ' PHB_ITEM pPaintBlock;' ) - aadd( txt_, ' void paintEvent ( QPaintEvent * event );' ) - ENDIF - aadd( txt_, '};' ) - aadd( txt_, '' ) - - aeval( txt_, {|e,i| txt_[ i ] := trim( e ) } ) - - hb_fNameSplit( ::cCPPFileName, @cPath ) - - hbqtgen_CreateTarget( cPath + "q" + lower( ::cQtObject ) + ".h", txt_ ) - - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD HbQtSource:buildExtendedSource( t_ ) - LOCAL txt_, cObj - - IF ! ::lBuildExtended - RETURN Self - ENDIF - - cObj := ::cQtObject - txt_ := {} - - IF ::cQtVer > "0x040500" - AAdd( txt_, "#if QT_VERSION >= " + ::cQtVer ) - ENDIF - - AAdd( txt_, '' ) - AAdd( txt_, '#include "q' + Lower( cObj ) + '.h"' ) - AAdd( txt_, '' ) - - SWITCH cObj - CASE "QWidget" - AAdd( txt_, 'Q' + cObj + '::Q' + cObj + '( QWidget * parent, Qt::WindowFlags f ) : ' + cObj + '( parent, f )' ) - EXIT - OTHERWISE - AAdd( txt_, 'Q' + cObj + '::Q' + cObj + '( QWidget * parent ) : ' + cObj + '( parent )' ) - EXIT - ENDSWITCH - - AAdd( txt_, '{' ) - IF ::lPaintEvent - AAdd( txt_, ' pPaintBlock = NULL;' ) - ENDIF - AAdd( txt_, '}' ) - AAdd( txt_, 'Q' + cObj + '::~Q' + cObj + '()' ) - AAdd( txt_, '{' ) - IF ::lPaintEvent - AAdd( txt_, ' if( pPaintBlock )' ) - AAdd( txt_, ' {' ) - AAdd( txt_, ' hb_itemRelease( pPaintBlock );' ) - AAdd( txt_, ' pPaintBlock = NULL;' ) - AAdd( txt_, ' }' ) - ENDIF - AAdd( txt_, '}' ) - AAdd( txt_, 'void Q' + cObj + '::hbSetEventBlock( int event, PHB_ITEM pBlock )' ) - AAdd( txt_, '{' ) - AAdd( txt_, ' switch( event )' ) - AAdd( txt_, ' {' ) - IF ::lPaintEvent - AAdd( txt_, ' case QEvent::Paint:' ) - AAdd( txt_, ' {' ) - AAdd( txt_, ' if( pPaintBlock )' ) - AAdd( txt_, ' {' ) - AAdd( txt_, ' hb_itemRelease( pPaintBlock );' ) - AAdd( txt_, ' }' ) - AAdd( txt_, ' pPaintBlock = hb_itemNew( pBlock );' ) - AAdd( txt_, ' hb_gcUnlock( pPaintBlock );' ) - AAdd( txt_, ' break;' ) - AAdd( txt_, ' }' ) - ENDIF - AAdd( txt_, ' }' ) - AAdd( txt_, '}' ) - IF ::lPaintEvent - AAdd( txt_, 'void Q' + cObj + '::paintEvent( QPaintEvent * event )' ) - AAdd( txt_, '{' ) - AAdd( txt_, ' bool bEventHandelled = false;' ) - AAdd( txt_, ' if( pPaintBlock )' ) - AAdd( txt_, ' {' ) - AAdd( txt_, ' QPainter painter( this );' ) - AAdd( txt_, ' PHB_ITEM p0 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QPaintEvent( event, false ), "hb_QPaintEvent" ) );' ) - AAdd( txt_, ' PHB_ITEM p1 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QPainter( &painter, false ), "hb_QPainter" ) );' ) - AAdd( txt_, ' bEventHandelled = hb_itemGetL( hb_vmEvalBlockV( pPaintBlock, 2, p0, p1 ) );' ) - AAdd( txt_, ' hb_itemRelease( p0 );' ) - AAdd( txt_, ' hb_itemRelease( p1 );' ) - AAdd( txt_, ' }' ) - AAdd( txt_, ' if( ! bEventHandelled )' ) - AAdd( txt_, ' {' ) - AAdd( txt_, ' QStyleOption opt;' ) - AAdd( txt_, ' opt.init( this );' ) - AAdd( txt_, ' QPainter p( this );' ) - AAdd( txt_, ' style()->drawPrimitive( QStyle::PE_Widget, &opt, &p, this );' ) - AAdd( txt_, ' ' + cObj + '::paintEvent( event );' ) - AAdd( txt_, ' }' ) - AAdd( txt_, '}' ) - ENDIF - AAdd( txt_, '' ) - - AEval( txt_, {|e| aadd( t_, trim( e ) ) } ) - - IF ::cQtVer > "0x040500" - AAdd( txt_, "#endif" ) - ENDIF - RETURN Self /*----------------------------------------------------------------------*/ @@ -1995,11 +1617,8 @@ METHOD HbQtSource:getConstructor() ENDIF NEXT AAdd( aLine, " " ) -#ifdef __HBQT_REVAMP__ + AAdd( aLine, ' hb_itemReturnRelease( hbqt_bindSetHbObject( NULL, pObj, "' + 'HB_' + upper( ::cQtObject ) +'", hbqt_del_' + ::cQtObject + ', ' + qth_get_bits( ::cQtObject, ! ::isDetached ) + ' ) );' ) -#else - AAdd( aLine, " hbqt_itemPushReturn( hbqt_gcAllocate_" + ::cQtObject + "( ( void * ) pObj, " + iif( ::isDetached, "false", "true" ) + " ), hb_stackSelfItem() );" ) -#endif ELSE FOR i := 3 TO Len( ::new_ ) - 1 AAdd( aLine, ::new_[ i ] ) @@ -2019,8 +1638,6 @@ METHOD HbQtSource:getConstructorW() LOCAL aLine := ::getConstructor() AEval( aLine, {| e, i | aLine[ i ] := StrTran( e, "hbqt_bindSetHbObject", "hbqt_bindGetHbObject" ) } ) - AEval( aLine, {| e, i | aLine[ i ] := StrTran( e, "hbqt_itemPushReturn" , "hbqt_create_objectGC" ) } ) - AEval( aLine, {| e, i | aLine[ i ] := StrTran( e, "hb_stackSelfItem()" , '"HB_' + Upper( ::cQtObject ) + '"' ) } ) RETURN aLine @@ -2090,13 +1707,13 @@ METHOD HbQtSource:getReturnAsList( oMtd, FP, cPrefix ) AAdd( aLines, cPrefix + ' qList->append( pItem );' ) ELSE IF lFar - AAdd( aLines, cPrefix + ' qList->append( hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_' + cCast + '( ( void * ) qL.at( i ), false ) , "HB_' + Upper( cCast ) + '" ) ) );' ) + AAdd( aLines, cPrefix + ' qList->append( hbqt_bindGetHbObject( NULL, ( void * ) qL.at( i ), "HB_' + Upper( cCast ) + '", NULL, ' + qth_get_bits( cCast, .f. ) + ' ) );' ) ELSE - AAdd( aLines, cPrefix + ' qList->append( hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_' + cCast + '( new ' + cCast + '( qL.at( i ) ), true ) , "HB_' + Upper( cCast ) + '" ) ) );' ) + AAdd( aLines, cPrefix + ' qList->append( hbqt_bindGetHbObject( NULL, new ' + cCast + '( qL.at( i ) ), "HB_' + Upper( cCast ) + '", hbqt_del_' + cCast + ', ' + qth_get_bits( cCast, .t. ) + ' ) );' ) ENDIF ENDIF AAdd( aLines, cPrefix + '}' ) - AAdd( aLines, cPrefix + 'hbqt_create_objectGC( hbqt_gcAllocate_QList( qList, true ), "HB_QLIST" );' ) + AAdd( aLines, cPrefix + 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, new QList*( qList ), "HB_QLIST", hbqt_del_QList, HBQT_BIT_OWNER ) );' ) ENDIF ELSE AAdd( aLines, cPrefix + FP + ";" ) @@ -2191,9 +1808,6 @@ METHOD HbQtSource:getMethodBody( oMtd, cMtdName, aMethods ) ELSEIF ::cQtVer > "0x040500" AAdd( txt_, " #if QT_VERSION >= " + ::cQtVer ) ENDIF -#ifdef _GEN_TRACE_ - AAdd( txt_, ' HB_TRACE( ' + ::cTrMode + ', ( "' + ::cQtObject + ":" + oMtd:cHBFunc + '" ) );' ) -#endif /* If method is manually written in .qth - no more processing */ IF ! Empty( oMtd:fBody_ ) @@ -2786,12 +2400,7 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) ENDIF oArg:cDoc := "c" + oMtd:cDocNM // oArg:cCast - W R O N G oArg:cTypeHB := "C" -#if 0 - CASE oArg:cCast == "FT_Face" - oArg:cBody := "hbqt_par_FT_Face( " + cHBIdx + " )" - oArg:cDoc := "c" + oMtd:cDocNM - oArg:cTypeHB := "C" -#endif + CASE oArg:lFar cRef := oArg:cCast oArg:cBody := "hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" @@ -2888,7 +2497,7 @@ METHOD HbQtSource:buildCppCode( oMtd ) DO CASE CASE oMtd:isConstructor - oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + ::cQtObject + "( new " + oRet:cCast + "( " + cPara + " ), true )" + ', "HB_' + Upper(::cQtObject) +'")' + oMtd:cCmd := 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + 'new ' + ::cQtObject + '( ' + cPara + ' )' + ', "' + 'HB_' + Upper( ::cQtObject ) + '", hbqt_del_' + ::cQtObject + ', ' + qth_get_bits( ::cQtObject, .t. ) + ' ) )' oMtd:cPrgRet := "o" + ::cQtObject CASE "<" $ oRet:cCast @@ -2912,7 +2521,7 @@ METHOD HbQtSource:buildCppCode( oMtd ) cRefInList := StrTran( cRefInList, "*" ) cRefInList := StrTran( cRefInList, " " ) oMtd:isRetList := .T. - oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_QList( new " + oRet:cCast + "( " + oMtd:cCmn + " ), true ) " + ', "HB_' + Upper( ::cQtObject ) + '" )' + oMtd:cCmd := 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + 'new ' + oRet:cCast + '( ' + oMtd:cCmn + ' )' + ', "' + 'HB_' + 'QList' + '", hbqt_del_' + 'QList' + ', ' + qth_get_bits( 'QList', .t. ) + ' ) )' oMtd:cPrgRet := "o" + oMtd:cDocNMRet ENDCASE @@ -2979,11 +2588,8 @@ METHOD HbQtSource:buildCppCode( oMtd ) oRet:lConst .AND. ; "Abstract" $ oRet:cCast cRef := oRet:cCast -#ifdef __HBQT_REVAMP__ - oMtd:cCmd := 'hb_itemReturn( hbqt_bindGetHbObject( NULL, ' + "( void * ) " + oMtd:cCmn + ', "' + 'HB_' + Upper( oRet:cCast ) + '", hbqt_del_' + oRet:cCast + ', ' + qth_get_bits( oRet:cCast, .f. ) + ' ) )' -#else - oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmn + ", false ) " + ', "HB_' + Upper( ::cQtObject ) + '" )' -#endif + + oMtd:cCmd := 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + "( void * ) " + oMtd:cCmn + ', "' + 'HB_' + Upper( oRet:cCast ) + '", hbqt_del_' + oRet:cCast + ', ' + qth_get_bits( oRet:cCast, .f. ) + ' ) )' oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE hbqtgen_isAqtObject( oRet:cCast ) .AND. ; @@ -2991,11 +2597,8 @@ METHOD HbQtSource:buildCppCode( oMtd ) oRet:lConst .AND. ; oRet:lVirt cRef := oRet:cCast -#ifdef __HBQT_REVAMP__ - oMtd:cCmd := 'hb_itemReturn( hbqt_bindGetHbObject( NULL, ' + "( void * ) " + oMtd:cCmn + ', "' + 'HB_' + Upper( oRet:cCast ) + '", hbqt_del_' + oRet:cCast + ', ' + qth_get_bits( oRet:cCast, .f. ) + ' ) )' -#else - oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmn + ", false ) " + ', "HB_' + Upper( ::cQtObject ) + '" )' -#endif + + oMtd:cCmd := 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + "( void * ) " + oMtd:cCmn + ', "' + 'HB_' + Upper( oRet:cCast ) + '", hbqt_del_' + oRet:cCast + ', ' + qth_get_bits( oRet:cCast, .f. ) + ' ) )' oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE hbqtgen_isAqtObject( oRet:cCast ) .AND. ; @@ -3217,11 +2820,9 @@ METHOD HbqtArgument:new( cTxt, cQtObject, enum_, lConstL, lIsRetArg ) /*----------------------------------------------------------------------*/ STATIC FUNCTION hbqtgen_Get_Command_1( cWgt, cCmn ) -#ifdef __HBQT_REVAMP__ - RETURN 'hb_itemReturn( hbqt_bindGetHbObject( NULL, ' + 'new ' + cWgt + '( *( ' + cCmn + ' ) )' + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, .t. ) + ' ) )' -#else - RETURN "hbqt_create_objectGC( hbqt_gcAllocate_" + cWgt + "( new " + cWgt + "( *( " + cCmn + " ) ), true ), " + '"HB_' + Upper( cWgt ) + '")' -#endif + + RETURN 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + 'new ' + cWgt + '( *( ' + cCmn + ' ) )' + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, .t. ) + ' ) )' + /*----------------------------------------------------------------------*/ STATIC FUNCTION hbqtgen_Get_Command( cWgt, cCmn, lNew, isRetDetached ) @@ -3233,19 +2834,12 @@ STATIC FUNCTION hbqtgen_Get_Command( cWgt, cCmn, lNew, isRetDetached ) isRetDetached := .f. ENDIF -#ifdef __HBQT_REVAMP__ IF lNew - RETURN 'hb_itemReturn( hbqt_bindGetHbObject( NULL, ' + 'new ' + cWgt + '( ' + cCmn + ' )' + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, .t. ) + ' ) )' + RETURN 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + 'new ' + cWgt + '( ' + cCmn + ' )' + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, .t. ) + ' ) )' ELSE - RETURN 'hb_itemReturn( hbqt_bindGetHbObject( NULL, ' + cCmn + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, isRetDetached ) + ' ) )' + RETURN 'hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ' + cCmn + ', "' + 'HB_' + Upper( cWgt ) + '", hbqt_del_' + cWgt + ', ' + qth_get_bits( cWgt, isRetDetached ) + ' ) )' ENDIF -#else - IF lNew - RETURN "hbqt_create_objectGC( hbqt_gcAllocate_" + cWgt + "( new " + cWgt + "( " + cCmn + " ), true ), " + '"HB_' + Upper( cWgt ) +'" )' - ELSE - RETURN "hbqt_create_objectGC( hbqt_gcAllocate_" + cWgt + "( " + cCmn + ", " + iif( isRetDetached, "true", "false" ) + " ), " + '"HB_' + Upper( cWgt ) +'" )' - ENDIF -#endif + RETURN "" /*----------------------------------------------------------------------*/ @@ -3333,9 +2927,7 @@ STATIC FUNCTION hbqtgen_BuildCopyrightText() /*----------------------------------------------------------------------*/ STATIC PROCEDURE hbqtgen_BuildFooter( txt_ ) - AAdd( txt_, "#endif" ) - RETURN /*----------------------------------------------------------------------*/ @@ -3415,7 +3007,6 @@ STATIC FUNCTION qth_is_extended( cQTHFileName ) RETURN lYes /*----------------------------------------------------------------------*/ -#ifdef __HBQT_REVAMP__ STATIC FUNCTION qth_is_QObject( cWidget ) STATIC aQObjects := {} @@ -3787,5 +3378,4 @@ STATIC FUNCTION qth_get_bits( cWidget, lNew ) RETURN cBits -#endif /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/qtcore/hbqt.h b/harbour/contrib/hbqt/qtcore/hbqt.h index 5ad15f2e7e..714617c7b9 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt.h +++ b/harbour/contrib/hbqt/qtcore/hbqt.h @@ -59,8 +59,6 @@ #include "hbapistr.h" #include "hbthread.h" -//#define __HBQT_REVAMP__ - #if defined( HB_OS_OS2 ) # define OS2EMX_PLAIN_CHAR # define INCL_BASE @@ -101,7 +99,7 @@ typedef void ( * PHBQT_DEL_FUNC )( void * pObj, int iFlags ); HB_EXTERN_BEGIN -extern HB_EXPORT void hbqt_events_register_createobj( QEvent::Type eventtype, QByteArray szCreateObj, PHBQT_EVENT_FUNC pCallback ); +extern HB_EXPORT void hbqt_events_register_createobj( QEvent::Type eventtype, QByteArray szCreateObj ); extern HB_EXPORT void hbqt_events_unregister_createobj( QEvent::Type eventtype ); extern HB_EXPORT void hbqt_slots_register_callback( QByteArray sig, PHBQT_SLOT_FUNC pCallback ); extern HB_EXPORT void hbqt_slots_unregister_callback( QByteArray sig ); @@ -109,17 +107,13 @@ extern HB_EXPORT void hbqt_slots_unregister_callback( QByteArray sig ); extern HB_EXPORT void * hbqt_par_ptr( int iParam ); extern HB_EXPORT HBQT_GC_T * hbqt_par_ptrGC( int iParam ); /* returns a pointer to the HBQT_GC_T area */ extern HB_EXPORT void hbqt_par_detach_ptrGC( int iParam ); -extern HB_EXPORT void hbqt_itemPushReturn( void * ptr, PHB_ITEM pSelf ); extern HB_EXPORT HB_BOOL hbqt_par_isDerivedFrom( int iParam, const char * pszClsName ); /* check if parameter iParam is class or subclass of szClsName */ extern HB_EXPORT HB_BOOL hbqt_obj_isDerivedFrom( PHB_ITEM pItem, const char * pszClsName ); /* check if parameter iParam is class or subclass of szClsName */ extern HB_EXPORT void * hbqt_get_ptr( PHB_ITEM pObj ); -extern HB_EXPORT const HB_GC_FUNCS * hbqt_gcFuncs( void ); extern HB_EXPORT void hbqt_errRT_ARG( void ); extern HB_EXPORT PHB_ITEM hbqt_defineClassBegin( const char * pszClsName, PHB_ITEM s_oClass, const char * pszParentClsStr ); extern HB_EXPORT void hbqt_defineClassEnd( PHB_ITEM s_oClass, PHB_ITEM oClass ); -extern HB_EXPORT PHB_ITEM hbqt_create_object( void * pObject, const char * pszObjectName ); -extern HB_EXPORT PHB_ITEM hbqt_create_objectGC( void * pObject, const char * pszObjectName ); extern HB_EXPORT void hbqt_addDeleteList( PHB_ITEM item ); /* populate a list of PHB_ITEM to delete at exit time */ HB_EXPORT PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassFunc, PHBQT_DEL_FUNC pDelete, int iFlags ); @@ -137,6 +131,10 @@ HB_EXPORT void hbqt_bindAddSlot( PHB_ITEM pSenderObject, int iSignalid, PH HB_EXPORT void hbqt_bindDelSlot( PHB_ITEM pSenderObject, int iSignalid, PHB_ITEM pCode ); HB_EXPORT PHB_ITEM hbqt_bindGetSlots( PHB_ITEM pSenderObject, int iSignalid ); +HB_EXPORT void hbqt_bindAddEvent( PHB_ITEM pSenderObject, int iEventId, PHB_ITEM pCode ); +HB_EXPORT void hbqt_bindDelEvent( PHB_ITEM pSenderObject, int iEventId, PHB_ITEM pCode ); +HB_EXPORT PHB_ITEM hbqt_bindGetEvents( PHB_ITEM pSenderObject, int iEventId ); + HB_EXTERN_END #define hbqt_par_uchar( n ) ( ( uchar * ) hb_parcx( n ) ) diff --git a/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp b/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp index bedba65623..64706bc45f 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp @@ -89,28 +89,33 @@ HBQT_BIND, * PHBQT_BIND; #define HBQT_BIND_UNLOCK } while( 0 ); void hbqt_bindDelSlots( PHB_ITEM pSenderObject ); +void hbqt_bindDelEvents( PHB_ITEM pSenderObject ); static PHBQT_BIND s_hbqt_binds = NULL; static HBQDestroyer * s_destroyer = NULL; -static PHB_DYNS s_dynsym_NEW = NULL; -static PHB_DYNS s_dynsym___CHILDS = NULL; -static PHB_DYNS s_dynsym___SLOTS = NULL; -static PHB_DYNS s_dynsym_SETSLOTS = NULL; +static PHB_DYNS s_dynsym_NEW = NULL; +static PHB_DYNS s_dynsym___CHILDS = NULL; +static PHB_DYNS s_dynsym___SLOTS = NULL; +static PHB_DYNS s_dynsym_SETSLOTS = NULL; +static PHB_DYNS s_dynsym___EVENTS = NULL; +static PHB_DYNS s_dynsym_SETEVENTS = NULL; static void hbqt_bind_init( void* cargo ) { HB_SYMBOL_UNUSED( cargo ); - s_dynsym_NEW = hb_dynsymGetCase( "NEW" ); - s_dynsym___CHILDS = hb_dynsymGetCase( "__CHILDS" ); - s_dynsym___SLOTS = hb_dynsymGetCase( "__SLOTS" ); - s_dynsym_SETSLOTS = hb_dynsymGetCase( "SETSLOTS" ); + s_dynsym_NEW = hb_dynsymGetCase( "NEW" ); + s_dynsym___CHILDS = hb_dynsymGetCase( "__CHILDS" ); + s_dynsym___SLOTS = hb_dynsymGetCase( "__SLOTS" ); + s_dynsym_SETSLOTS = hb_dynsymGetCase( "SETSLOTS" ); + s_dynsym___EVENTS = hb_dynsymGetCase( "__EVENTS" ); + s_dynsym_SETEVENTS = hb_dynsymGetCase( "SETEVENTS" ); } PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags ) { - #if 0 + #if 1 char * pname = ( char* ) hb_xgrab( 200 ); char * pname1 = ( char* ) hb_xgrab( 200 ); HB_TRACE( HB_TR_DEBUG, ( ".................HARBOUR_REQUEST_BIND_OBJECT( %p, %i, %s, %s, %s ).................", qtObject, iFlags, szClassName, hb_procname( 0, pname, HB_TRUE ), hb_procname( 1, pname1, HB_TRUE ) ) ); @@ -179,11 +184,15 @@ PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szC s_destroyer = new HBQDestroyer(); if( pDelFunc != NULL ) QObject::connect( ( QObject * ) qtObject, SIGNAL(destroyed(QObject*)), s_destroyer, SLOT(destroyer()) ); - HB_TRACE( HB_TR_DEBUG, ( "hbqt_bindGetHbObject( %p )...%s", qtObject, ( ( QObject * ) qtObject )->metaObject()->className() ) ); + HB_TRACE( HB_TR_DEBUG, ( "hbqt_bindGetHbObject( %p )...%s", qtObject, szClassName ) ); hb_vmPushDynSym( s_dynsym_SETSLOTS ); /* initializes __Slots hash */ hb_vmPush( pObject ); hb_vmSend( 0 ); + + hb_vmPushDynSym( s_dynsym_SETEVENTS ); /* initializes __Events hash */ + hb_vmPush( pObject ); + hb_vmSend( 0 ); } else { @@ -316,7 +325,6 @@ void * hbqt_bindGetQtObject( PHB_ITEM pObject ) void hbqt_bindDestroyHbObject( PHB_ITEM pObject ) { void * hbObject = hb_arrayId( pObject ); - bool found = HB_FALSE; if( hbObject ) { @@ -330,7 +338,6 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject ) { HB_TRACE( HB_TR_DEBUG, ( "..............HARBOUR_DESTROY_BEGINS( %p, %i ).............. %s", bind->qtObject, bind->iFlags, bind->szClassName ) ); - found = HB_TRUE; bool fObject = bind->iFlags & HBQT_BIT_QOBJECT; QObject * obj = NULL; const char * classname = NULL; @@ -344,7 +351,7 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject ) { if( fObject ) { - HB_TRACE( HB_TR_DEBUG, ( "..............HARBOUR_ABOUT_TO_DESTROY_%s( %p )", classname, obj ) ); + HB_TRACE( HB_TR_DEBUG, ( "..............HARBOUR_ABOUT_TO_DESTROY_%s( %p )..... %s", classname, obj, bind->szClassName ) ); if( obj ) { if( classname != ( const char * ) "QAction" ) @@ -359,7 +366,7 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject ) bind->fDeleting = false; } hb_xfree( bind ); - HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROYED_%s( %p )", classname, obj ) ); + HB_TRACE( HB_TR_DEBUG, ( " HARBOUR_DESTROYED_NO_PARENTED_%s( %p )", classname, obj ) ); } } } @@ -397,11 +404,6 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject ) bind_ptr = &bind->next; } HBQT_BIND_UNLOCK - - if( ! found ) - { - HB_TRACE( HB_TR_DEBUG, ( "..............HARBOUR_DESTROYING_NOT_FOUND_ARRAYID( %p )", hbObject ) ); - } } } @@ -422,7 +424,10 @@ void hbqt_bindDestroyQtObject( void * qtObject ) * bind_ptr = bind->next; if( ! bind->fDeleting ) { - hbqt_bindDelSlots( hbqt_bindGetHbObjectBYqtObject( bind->qtObject ) ); + PHB_ITEM pObj = hbqt_bindGetHbObjectBYqtObject( bind->qtObject ); + hbqt_bindDelSlots( pObj ); + hbqt_bindDelEvents( pObj ); + hb_itemRelease( pObj ); hb_xfree( bind ); } break; @@ -685,6 +690,117 @@ PHB_ITEM hbqt_bindGetSlots( PHB_ITEM pSenderObject, int iSignalid ) return pSlots; } +void hbqt_bindAddEvent( PHB_ITEM pSenderObject, int iEventId, PHB_ITEM pCode ) +{ + if( HB_IS_BLOCK( pCode ) && hb_vmRequestReenter() ) + { + hb_vmPushDynSym( s_dynsym___EVENTS ); + hb_vmPush( pSenderObject ); + hb_vmSend( 0 ); + if( hb_vmRequestQuery() == 0 ) + { + PHB_ITEM pArray, pIndex; + + pIndex = hb_itemPutNI( hb_stackAllocItem(), iEventId ); + pArray = hb_hashGetItemPtr( hb_stackReturnItem(), pIndex, HB_HASH_AUTOADD_ASSIGN ); + hb_stackPop(); + + if( pArray && HB_IS_ARRAY( pArray ) ) + hb_arrayAdd( pArray, pCode ); + else + hb_errRT_BASE( EG_BOUND, 4005, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); + } + hb_vmRequestRestore(); + } +} + +void hbqt_bindDelEvent( PHB_ITEM pSenderObject, int iEventId, PHB_ITEM pCode ) +{ + if( hb_vmRequestReenter() ) + { + hb_vmPushDynSym( s_dynsym___EVENTS ); + hb_vmPush( pSenderObject ); + hb_vmSend( 0 ); + if( hb_vmRequestQuery() == 0 ) + { + PHB_ITEM pArray, pIndex; + + pIndex = hb_itemPutNI( hb_stackAllocItem(), iEventId ); + pArray = hb_hashGetItemPtr( hb_stackReturnItem(), pIndex, 0 ); + hb_stackPop(); + + if( pArray && HB_IS_ARRAY( pArray ) ) + { + if( pCode == NULL ) + { + HB_TRACE( HB_TR_DEBUG, ( "hbqt_bindDelEvent( %i )", iEventId ) ); + hb_arraySize( pArray, 0 ); + } + else + { + void * id = hb_codeblockId( pCode ); + HB_SIZE nPos; + for( nPos = hb_arrayLen( pArray ); nPos; --nPos ) + { + if( id == hb_codeblockId( hb_arrayGetItemPtr( pArray, nPos ) ) ) + { + hb_arrayDel( pArray, nPos ); + hb_arraySize( pArray, hb_arrayLen( pArray ) - 1 ); + break; + } + } + } + } + } + hb_vmRequestRestore(); + } +} + +void hbqt_bindDelEvents( PHB_ITEM pSenderObject ) +{ + if( pSenderObject ) + { + if( hb_vmRequestReenter() ) + { + HB_TRACE( HB_TR_DEBUG, ( "hbqt_bindDelEvents( PHB_ITEM pSenderObject 0 %p )", pSenderObject ) ); + hb_vmPushDynSym( s_dynsym___EVENTS ); + hb_vmPush( pSenderObject ); + hb_vmSend( 0 ); + if( hb_vmRequestQuery() == 0 ) + { + HB_TRACE( HB_TR_DEBUG, ( "hbqt_bindDelEvents( PHB_ITEM pSenderObject )" ) ); + hb_hashClear( hb_stackReturnItem() ); + } + hb_vmRequestRestore(); + } + } +} + +PHB_ITEM hbqt_bindGetEvents( PHB_ITEM pSenderObject, int iEventId ) +{ + PHB_ITEM pSlots = NULL; + + if( hb_vmRequestReenter() ) + { + hb_vmPushDynSym( s_dynsym___EVENTS ); + hb_vmPush( pSenderObject ); + hb_vmSend( 0 ); + if( hb_vmRequestQuery() == 0 ) + { + PHB_ITEM pArray, pIndex; + + pIndex = hb_itemPutNI( hb_stackAllocItem(), iEventId ); + pArray = hb_hashGetItemPtr( hb_stackReturnItem(), pIndex, 0 ); + hb_stackPop(); + + if( pArray && HB_IS_ARRAY( pArray ) && hb_arrayLen( pArray ) > 0 ) + pSlots = hb_itemNew( pArray ); + } + hb_vmRequestRestore(); + } + return pSlots; +} + HB_CALL_ON_STARTUP_BEGIN( _hbqt_bind_init_ ) hb_vmAtInit( hbqt_bind_init, NULL ); HB_CALL_ON_STARTUP_END( _hbqt_bind_init_ ) diff --git a/harbour/contrib/hbqt/qtcore/hbqt_hbqevents.cpp b/harbour/contrib/hbqt/qtcore/hbqt_hbqevents.cpp index b11f6ddf88..c511fd5f61 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_hbqevents.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_hbqevents.cpp @@ -66,6 +66,13 @@ #include #include +HB_FUNC_EXTERN( HB_QCLOSEEVENT ); + +void _hb_force_link_HBQevents( void ) +{ + HB_FUNC_EXEC( HB_QCLOSEEVENT ); +} + /*----------------------------------------------------------------------*/ #include @@ -74,23 +81,16 @@ static QList s_lstEvent; static QList s_lstCreateObj; -static QList s_pEventAllocateCallback; -void hbqt_events_register_createobj( QEvent::Type eventtype, QByteArray szCreateObj, PHBQT_EVENT_FUNC pCallback ) -{ +void hbqt_events_register_createobj( QEvent::Type eventtype, QByteArray szCreateObj ) +{ int iIndex = s_lstEvent.indexOf( eventtype ); if( iIndex == -1 ) { s_lstEvent << eventtype; s_lstCreateObj << szCreateObj.toUpper(); - s_pEventAllocateCallback << pCallback; - } - else - { - s_lstCreateObj[ iIndex ] = szCreateObj.toUpper(); - s_pEventAllocateCallback[ iIndex ] = pCallback; } } @@ -102,7 +102,6 @@ void hbqt_events_unregister_createobj( QEvent::Type eventtype ) { s_lstEvent.removeAt( iIndex ); s_lstCreateObj.removeAt( iIndex ); - s_pEventAllocateCallback.removeAt( iIndex ); } } @@ -122,67 +121,23 @@ HBQEvents::HBQEvents( PHB_ITEM pObj ) : QObject() HBQEvents::~HBQEvents() { - if( hb_vmRequestReenter() ) - { - HB_TRACE( HB_TR_DEBUG, ( "HBQEvents::~HBQEvents() Size = %i", listBlock.size() ) ); - - int i; - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - HB_TRACE( HB_TR_DEBUG, ( "HBQEvents::~HBQEvents() item %d", i + 1 ) ); - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - } - } - hb_vmRequestRestore(); - } - listBlock.clear(); } int HBQEvents::hbConnect( PHB_ITEM pObj, int event, PHB_ITEM bBlock ) { + HB_TRACE( HB_TR_DEBUG, ( "HBQEvents::hbConnect( %i )", event ) ); + int nResult = -1; - if( true ) + if( hb_itemType( bBlock ) & HB_IT_BLOCK ) { QObject * object = ( QObject * ) hbqt_get_ptr( pObj ); if( object ) { - PHB_ITEM pBlock = hb_itemNew( bBlock ); - if( pBlock ) - { - hb_gcUnlock( pBlock ); - - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "P%iP", event ); /* Make it a unique identifier */ - - int i = object->property( prop ).toInt(); - if( i == 0 ) - { - listBlock << pBlock; - object->setProperty( prop, ( int ) listBlock.size() ); - } - else - { - if( listBlock.at( i - 1 ) != NULL ) - { - hb_itemRelease( listBlock.at( i - 1 ) ); - } - listBlock[ i - 1 ] = pBlock; - } - nResult = 0; - } - else - nResult = -3; + hbqt_bindAddEvent( pObj, event, bBlock ); + nResult = 0; } - else - nResult = -2; - } - else - nResult = -1; - + } return nResult; } @@ -195,27 +150,9 @@ int HBQEvents::hbDisconnect( PHB_ITEM pObj, int event ) QObject * object = ( QObject * ) hbqt_get_ptr( pObj ); if( object ) { - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "P%iP", event ); /* Make it a unique identifier */ - - int i = object->property( prop ).toInt(); - if( i > 0 && i <= listBlock.size() ) - { - object->setProperty( prop, 0 ); - - if( listBlock[ i - 1 ] != NULL ) - { - hb_itemRelease( listBlock.at( i - 1 ) ); - listBlock[ i - 1 ] = NULL; - } - nResult = 0; - } - else - nResult = -3; - } - else - nResult = -2; - + hbqt_bindDelEvent( pObj, event, NULL ); + nResult = 0; + } return nResult; } @@ -228,42 +165,26 @@ bool HBQEvents::eventFilter( QObject * object, QEvent * event ) QEvent::Type eventtype = event->type(); if( ( int ) eventtype > 0 ) { - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", eventtype, "P" ); - - int found = object->property( prop ).toInt(); - if( found > 0 ) + int eventId = s_lstEvent.indexOf( eventtype ); + + if( eventId > -1 && hb_vmRequestReenter() ) { - if( found <= listBlock.size() && listBlock.at( found - 1 ) != NULL ) + PHB_ITEM p = hbqt_bindGetEvents( hbqt_bindGetHbObjectBYqtObject( object ), eventtype ); + if( p ) { - int eventId = s_lstEvent.indexOf( eventtype ); - if( eventId > -1 ) - { - PHBQT_EVENT_FUNC pCallback = s_pEventAllocateCallback.at( eventId ); - if( pCallback ) - { - if( hb_vmRequestReenter() ) - { -#ifdef __HBQT_REVAMP__ - PHB_ITEM pItem = hbqt_bindGetHbObject( NULL, ( void * ) event, ( s_lstCreateObj.at( eventId ) ), NULL, 0 ); -#else - PHB_ITEM pItem = hb_itemNew( hbqt_create_objectGC( ( * pCallback )( event, false ), s_lstCreateObj.at( eventId ) ) ); -#endif - stopTheEventChain = ( bool ) hb_itemGetL( hb_vmEvalBlockV( ( PHB_ITEM ) listBlock.at( found - 1 ), 1, pItem ) ); - - hb_itemRelease( pItem ); - hb_vmRequestRestore(); - } - } - } - } - } - + PHB_ITEM pItem = hbqt_bindGetHbObject( NULL, ( void * ) event, ( s_lstCreateObj.at( eventId ) ), NULL, HBQT_BIT_NONE ); + stopTheEventChain = ( bool ) hb_itemGetL( hb_vmEvalBlockV( hb_arrayGetItemPtr( p, 1 ), 1, pItem ) ); + hb_itemRelease( pItem ); + } + hb_itemRelease( p ); + hb_vmRequestRestore(); + } if( eventtype == QEvent::Close ) + { return true; + } } } - return stopTheEventChain; } @@ -283,7 +204,6 @@ static void hbqt_events_exit( void * cargo ) HB_TRACE( HB_TR_DEBUG, ( "hbqt_events_exit, deleting item %d", i )); s_lstEvent.removeAt( 0 ); s_lstCreateObj.removeAt( 0 ); - s_pEventAllocateCallback.removeAt( 0 ); } HB_TRACE( HB_TR_DEBUG, ( "EXITING hbqt_events_exit, len=%d", s_lstCreateObj.size() ) ); diff --git a/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp b/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp index 881ea4c941..821c35a15d 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp @@ -116,23 +116,6 @@ HBQSlots::HBQSlots( PHB_ITEM pObj ) : QObject() HBQSlots::~HBQSlots() { - if( hb_vmRequestReenter() ) - { - HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::~HBQSlots() Size = %i", listBlock.size() ) ); - - int i; - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::~HBQSlots() Item %d", i + 1 ) ); - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - } - } - hb_vmRequestRestore(); - } - listBlock.clear(); } int HBQSlots::hbConnect( PHB_ITEM pObj, char * pszSignal, PHB_ITEM bBlock ) @@ -146,11 +129,8 @@ int HBQSlots::hbConnect( PHB_ITEM pObj, char * pszSignal, PHB_ITEM bBlock ) QObject * object = ( QObject * ) hbqt_get_ptr( pObj ); if( object ) { - PHB_ITEM pBlock = hb_itemNew( bBlock ); - if( pBlock ) + if( hb_itemType( bBlock ) & HB_IT_BLOCK ) { - hb_gcUnlock( pBlock ); - int i = object->property( pszSignal ).toInt(); if( i == 0 ) { @@ -168,23 +148,17 @@ int HBQSlots::hbConnect( PHB_ITEM pObj, char * pszSignal, PHB_ITEM bBlock ) if( QMetaObject::connect( object, signalId, this, slotId + QObject::staticMetaObject.methodCount(), Qt::AutoConnection ) ) { nResult = 0; -#ifdef __HBQT_REVAMP__ - hb_itemRelease( pBlock ); + listBlock << NULL; -#else - listBlock << pBlock; -#endif + char szSlotName[ 20 ]; hb_snprintf( szSlotName, sizeof( szSlotName ), "SLOT_%d", slotId ); object->setProperty( szSlotName, ( int ) listBlock.size() ); object->setProperty( pszSignal, ( int ) listBlock.size() ); - HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::hbConnect( %s ) %i", pszSignal, listBlock.size() ) ); -#ifdef __HBQT_REVAMP__ HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::hbConnect( %s ) signalId=%i, %p", pszSignal, signalId, object ) ); hbqt_bindAddSlot( pObj, signalId, bBlock ); -#endif } else nResult = 8; @@ -198,23 +172,6 @@ int HBQSlots::hbConnect( PHB_ITEM pObj, char * pszSignal, PHB_ITEM bBlock ) else nResult = 5; } - else - { -#ifndef __HBQT_REVAMP__ - if( listBlock.at( i - 1 ) != NULL ) - { - HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::hbConnect( %s ) Already Exists : %i", pszSignal, i ) ); - hb_itemRelease( listBlock.at( i - 1 ) ); - } - listBlock[ i - 1 ] = pBlock; - nResult = 0; -#endif - } - - if( nResult > 0 ) - { - hb_itemRelease( pBlock ); - } } else { @@ -261,17 +218,8 @@ int HBQSlots::hbDisconnect( PHB_ITEM pObj, char * pszSignal ) if( nResult == 0 ) { -#ifdef __HBQT_REVAMP__ HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::hbDisConnect( %s ) signalId=%i, %p", pszSignal, signalId, object ) ); hbqt_bindDelSlot( pObj, signalId, NULL ); -#else - if( listBlock.at( i - 1 ) != NULL ) - { - hb_itemRelease( listBlock.at( i - 1 ) ); - listBlock[ i - 1 ] = NULL; - HB_TRACE( HB_TR_DEBUG, ( "HBQSlots::hbDisconnect( %s ) hb_itemReleased( %i )", pszSignal, i ) ); - } -#endif } } else @@ -346,13 +294,9 @@ int HBQSlots::qt_metacall( QMetaObject::Call c, int id, void ** arguments ) { if( parameterCount == 0 ) { -#ifdef __HBQT_REVAMP__ PHB_ITEM p = hbqt_bindGetSlots( hbqt_bindGetHbObjectBYqtObject( object ), id ); hb_evalBlock0( hb_arrayGetItemPtr( p, 1 ) ); hb_itemRelease( p ); -#else - hb_evalBlock0( this->listBlock.at( i - 1 ) ); -#endif } else { @@ -362,13 +306,9 @@ int HBQSlots::qt_metacall( QMetaObject::Call c, int id, void ** arguments ) pCallback = s_pCallback.at( paramId ); if( pCallback ) { -#ifdef __HBQT_REVAMP__ PHB_ITEM p = hbqt_bindGetSlots( hbqt_bindGetHbObjectBYqtObject( object ), id ); pCallback( ( PHB_ITEM * ) hb_arrayGetItemPtr( p, 1 ), arguments, pList ); hb_itemRelease( p ); -#else - pCallback( ( PHB_ITEM * ) this->listBlock.at( i - 1 ), arguments, pList ); -#endif } } hb_vmRequestRestore(); diff --git a/harbour/contrib/hbqt/qtcore/hbqt_init.cpp b/harbour/contrib/hbqt/qtcore/hbqt_init.cpp index 6fe61a4f0c..3663a8f21e 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_init.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_init.cpp @@ -79,26 +79,6 @@ #include -HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QObject( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTime( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QSize( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QSizeF( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QPoint( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QRect( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QRectF( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QUrl( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QDate( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QDateTime( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTime( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QModelIndex( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QStringList( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QList( void * pObj, bool bNew ); - -extern void * hbqt_gcAllocate_QEvent( void * pObj, bool bNew ); -HB_EXTERN_END - -#ifdef __HBQT_REVAMP__ HB_EXTERN_BEGIN extern void hbqt_del_QObject( void * pObj, int iFlags ); @@ -119,7 +99,6 @@ extern void hbqt_del_QList( void * pObj, int iFlags ); extern void hbqt_del_QEvent( void * pObj, int iFlags ); HB_EXTERN_END -#endif /*----------------------------------------------------------------------*/ @@ -129,12 +108,10 @@ static void hbqt_SlotsExecPointer( PHB_ITEM * codeBlock, void ** arguments, QStr hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ - hb_vmPush( hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( ( const char * ) pList.at( 0 ).data() ), NULL, HBQT_BIT_QOBJECT ) ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), ( const char * ) pList.at( 0 ).data() ) ); -#endif + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( const char * ) pList.at( 0 ).data(), NULL, HBQT_BIT_QOBJECT ); + hb_vmPush( p0 ); hb_vmSend( 1 ); + hb_itemRelease( p0 ); } static void hbqt_SlotsExecPointerPointer( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -143,14 +120,13 @@ static void hbqt_SlotsExecPointerPointer( PHB_ITEM * codeBlock, void ** argument hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ - hb_vmPush( hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( ( const char * ) pList.at( 0 ).data() ), NULL, HBQT_BIT_QOBJECT ) ); - hb_vmPush( hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , ( ( const char * ) pList.at( 0 ).data() ), NULL, HBQT_BIT_QOBJECT ) ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), ( const char * ) pList.at( 0 ).data() ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) ), false ), ( const char * ) pList.at( 1 ).data() ) ); -#endif + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( const char * ) pList.at( 0 ).data(), NULL, HBQT_BIT_QOBJECT ); + PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , ( const char * ) pList.at( 0 ).data(), NULL, HBQT_BIT_QOBJECT ); + hb_vmPush( p0 ); + hb_vmPush( p1 ); hb_vmSend( 2 ); + hb_itemRelease( p0 ); + hb_itemRelease( p1 ); } static void hbqt_SlotsExecPointerInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -159,13 +135,11 @@ static void hbqt_SlotsExecPointerInt( PHB_ITEM * codeBlock, void ** arguments, Q hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ - hb_vmPush( hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( ( const char * ) pList.at( 0 ).data() ), NULL, HBQT_BIT_QOBJECT ) ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), ( const char * ) pList.at( 0 ).data() ) ); -#endif + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , ( const char * ) pList.at( 0 ).data(), NULL, HBQT_BIT_QOBJECT ); + hb_vmPush( p0 ); hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmSend( 2 ); + hb_itemRelease( p0 ); } static void hbqt_SlotsExecBool( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -251,16 +225,10 @@ static void hbqt_SlotsExecModel( PHB_ITEM * codeBlock, void ** arguments, QStrin hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), "HB_QMODELINDEX", hbqt_del_QModelIndex, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QModelIndex( new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QModelIndex" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecModelModel( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -269,20 +237,13 @@ static void hbqt_SlotsExecModelModel( PHB_ITEM * codeBlock, void ** arguments, Q hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), "HB_QMODELINDEX", hbqt_del_QModelIndex, HBQT_BIT_OWNER ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), "HB_QMODELINDEX", hbqt_del_QModelIndex, HBQT_BIT_OWNER ); hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QModelIndex( new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QModelIndex" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QModelIndex( new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 2 ] ) ) ), true ), "hb_QModelIndex" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecStringList( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -291,16 +252,10 @@ static void hbqt_SlotsExecStringList( PHB_ITEM * codeBlock, void ** arguments, Q hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QStringList( ( *reinterpret_cast< QStringList( * ) >( arguments[ 1 ] ) ) ), "HB_QSTRINGLIST", hbqt_del_QStringList, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QStringList( new QStringList( ( *reinterpret_cast< QStringList( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QStringList" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQPoint( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -309,16 +264,10 @@ static void hbqt_SlotsExecQPoint( PHB_ITEM * codeBlock, void ** arguments, QStri hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QPoint( ( *reinterpret_cast< QPoint( * ) >( arguments[ 1 ] ) ) ), "HB_QPOINT", hbqt_del_QPoint, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QPoint( new QPoint( ( *reinterpret_cast< QPoint( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QPoint" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQUrl( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -327,16 +276,10 @@ static void hbqt_SlotsExecQUrl( PHB_ITEM * codeBlock, void ** arguments, QString hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QUrl( ( *reinterpret_cast< QUrl( * ) >( arguments[ 1 ] ) ) ), "HB_QURL", hbqt_del_QUrl, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QUrl( new QUrl( ( *reinterpret_cast< QUrl( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QUrl" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQDate( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -345,16 +288,10 @@ static void hbqt_SlotsExecQDate( PHB_ITEM * codeBlock, void ** arguments, QStrin hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QDate( ( *reinterpret_cast< QDate( * ) >( arguments[ 1 ] ) ) ), "HB_QDATE", hbqt_del_QDate, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QDate( new QDate( ( *reinterpret_cast< QDate( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QDate" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQDateTime( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -363,16 +300,10 @@ static void hbqt_SlotsExecQDateTime( PHB_ITEM * codeBlock, void ** arguments, QS hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QDateTime( ( *reinterpret_cast< QDateTime( * ) >( arguments[ 1 ] ) ) ), "HB_QDATETIME", hbqt_del_QDateTime, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QDateTime( new QDateTime( ( *reinterpret_cast< QDateTime( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QDateTime" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTime( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -381,16 +312,10 @@ static void hbqt_SlotsExecQTime( PHB_ITEM * codeBlock, void ** arguments, QStrin hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTime( ( *reinterpret_cast< QTime( * ) >( arguments[ 1 ] ) ) ), "HB_QTIME", hbqt_del_QTime, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTime( new QTime( ( *reinterpret_cast< QTime( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QTime" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQRectF( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -399,16 +324,10 @@ static void hbqt_SlotsExecQRectF( PHB_ITEM * codeBlock, void ** arguments, QStri hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRectF( ( *reinterpret_cast< QRectF( * ) >( arguments[ 1 ] ) ) ), "HB_QRECTF", hbqt_del_QRectF, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QRectF( new QRectF( ( *reinterpret_cast< QRectF( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QRectF" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQRectInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -417,17 +336,11 @@ static void hbqt_SlotsExecQRectInt( PHB_ITEM * codeBlock, void ** arguments, QSt hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), "HB_QRECT", hbqt_del_QRect, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QRect( new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QRect" ) ); -#endif hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQRect( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -436,16 +349,10 @@ static void hbqt_SlotsExecQRect( PHB_ITEM * codeBlock, void ** arguments, QStrin hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), "HB_QRECT", hbqt_del_QRect, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QRect( new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QRect" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQSizeF( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -454,16 +361,10 @@ static void hbqt_SlotsExecQSizeF( PHB_ITEM * codeBlock, void ** arguments, QStri hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QSizeF( ( *reinterpret_cast< QSizeF( * ) >( arguments[ 1 ] ) ) ), "HB_QSIZEF", hbqt_del_QSizeF, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QSizeF( new QSizeF( ( *reinterpret_cast< QSizeF( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QSizeF" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecModelIndexIntInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -472,18 +373,12 @@ static void hbqt_SlotsExecModelIndexIntInt( PHB_ITEM * codeBlock, void ** argume hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), "HB_QMODELINDEX", hbqt_del_QModelIndex, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QModelIndex( new QModelIndex( ( *reinterpret_cast< QModelIndex( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QModelIndex" ) ); -#endif hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 3 ] ) ); hb_vmSend( 3 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecModelIndexList( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -492,16 +387,10 @@ static void hbqt_SlotsExecModelIndexList( PHB_ITEM * codeBlock, void ** argument hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QList< QModelIndex *>( ( *reinterpret_cast< QList< QModelIndex *> *>( arguments[ 1 ] ) ) ), "HB_QMODELINDEXLIST", hbqt_del_QList, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QList( new QList< QModelIndex *>( ( *reinterpret_cast< QList< QModelIndex *> *>( arguments[ 1 ] ) ) ), true ), "hb_QModelIndexList" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQObject( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -510,16 +399,10 @@ static void hbqt_SlotsExecQObject( PHB_ITEM * codeBlock, void ** arguments, QStr hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QOBJECT", NULL, HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QObject" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } /*----------------------------------------------------------------------*/ @@ -561,7 +444,7 @@ static void hbqt_registerCallbacks( void ) hbqt_slots_register_callback( "QUrl" , hbqt_SlotsExecQUrl ); hbqt_slots_register_callback( "QObject*" , hbqt_SlotsExecQObject ); - hbqt_events_register_createobj( QEvent::Timer , "hb_QEvent" , hbqt_gcAllocate_QEvent ); + hbqt_events_register_createobj( QEvent::Timer , "hb_QEvent" ); } /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/qtcore/hbqt_misc.prg b/harbour/contrib/hbqt/qtcore/hbqt_misc.prg index 1371d3da8c..74c64ebc3e 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_misc.prg +++ b/harbour/contrib/hbqt/qtcore/hbqt_misc.prg @@ -56,8 +56,6 @@ #define QEvent_Paint 12 -//#define __HBQT_REVAMP__ - /*----------------------------------------------------------------------*/ CREATE CLASS HbQtObjectHandler @@ -68,24 +66,24 @@ CREATE CLASS HbQtObjectHandler VAR __pEvents PROTECTED VAR hEvents INIT {=>} -#ifdef __HBQT_REVAMP__ + VAR __Slots -#endif + VAR __Events METHOD hasValidPointer() METHOD connect( cnEvent, bBlock ) METHOD disconnect( cnEvent ) -#ifdef __HBQT_REVAMP__ METHOD setSlots() -#endif + METHOD setEvents() + DESTRUCTOR _destroy() ERROR HANDLER onError() ENDCLASS /*----------------------------------------------------------------------*/ -#ifdef __HBQT_REVAMP__ + METHOD HbQtObjectHandler:setSlots() IF empty( ::__Slots ) @@ -94,9 +92,20 @@ METHOD HbQtObjectHandler:setSlots() ENDIF RETURN Self -#endif + /*----------------------------------------------------------------------*/ + +METHOD HbQtObjectHandler:setEvents() + + IF empty( ::__Events ) + ::__Events := {=>} + hb_hDefault( ::__Events, {} ) + ENDIF + RETURN Self + +/*----------------------------------------------------------------------*/ +/* TOBE: deleted */ METHOD HbQtObjectHandler:hasValidPointer() RETURN __hbqt_isPointer( ::pPtr ) @@ -256,14 +265,12 @@ METHOD HbQtObjectHandler:disconnect( cnEvent ) /*----------------------------------------------------------------------*/ METHOD HbQtObjectHandler:_destroy() - LOCAL cnEvent -#ifdef __HBQT_REVAMP__ HB_TRACE( HB_TR_DEBUG, " _destroy()", __objDerivedFrom( Self, "QOBJECT" ), __objGetClsName( Self ) ) - __hbqt_destroy( Self ) -#endif + __hbqt_destroy( Self ) +#if 0 IF ! __objDerivedFrom( Self, "QOBJECT" ) RETURN NIL ENDIF @@ -271,14 +278,10 @@ METHOD HbQtObjectHandler:_destroy() RETURN NIL ENDIF - HB_TRACE( HB_TR_DEBUG, " _destroy()", __objDerivedFrom( Self, "QOBJECT" ), "pSlots", valtype( ::__pSlots ), "pEvents", valtype( ::__pEvents ) ) - FOR EACH cnEvent IN ::hEvents IF HB_ISNUMERIC( cnEvent ) .AND. ! empty( ::__pEvents ) - HB_TRACE( HB_TR_DEBUG, " _destroy()", ".....N.....", cnEvent ) ::__pEvents:hbDisconnect( Self, cnEvent ) ELSEIF HB_ISSTRING( cnEvent ) .AND. ! empty( ::__pSlots ) - HB_TRACE( HB_TR_DEBUG, " _destroy()", ".....C.....", cnEvent ) ::__pSlots:hbDisconnect( Self, cnEvent ) ENDIF NEXT @@ -287,18 +290,8 @@ METHOD HbQtObjectHandler:_destroy() ::__pSlots := NIL ::__pEvents := NIL - - HB_TRACE( HB_TR_DEBUG, " _destroy()", "Exiting..." ) - +#endif RETURN NIL /*----------------------------------------------------------------------*/ -FUNCTION hbqt_promoteWidget( oWidget, cWidgetTo ) - LOCAL oObj := Eval( hb_macroBlock( "HB_" + cWidgetTo + "()" ) ) - - oObj:pPtr := oWidget:pPtr - - RETURN oObj - -/*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/qtcore/hbqt_pointer.cpp b/harbour/contrib/hbqt/qtcore/hbqt_pointer.cpp index 70fe8292ba..ac475b587f 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_pointer.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_pointer.cpp @@ -69,175 +69,16 @@ /*----------------------------------------------------------------------*/ -static HB_GARBAGE_FUNC( Q_release ) -{ - HBQT_GC_T * p = ( HBQT_GC_T * ) Cargo; - - if( p && p->ph ) - p->func( p ); -} - -static HB_GARBAGE_FUNC( Q_mark ) -{ - HBQT_GC_T * p = ( HBQT_GC_T * ) Cargo; - - HB_TRACE( HB_TR_DEBUG, ( "HB_GARBAGE_FUNC( Q_mark ) p=%p p->ph=%p p->mark=%p", p, p->ph, p->mark ) ); - if( p && p->ph && p->mark ) - p->mark( p ); -} - -static const HB_GC_FUNCS QT_gcFuncs = -{ - Q_release, - Q_mark -}; - -const HB_GC_FUNCS * hbqt_gcFuncs( void ) -{ - return &QT_gcFuncs; -} - -static void * s_hbqt_GCPointerFromItem( PHB_ITEM pObj ) -{ - static PHB_DYNS s_pDyns_hPPtrAssign = NULL; - - if( hb_itemType( pObj ) == HB_IT_OBJECT ) - { - if( ! s_pDyns_hPPtrAssign ) - s_pDyns_hPPtrAssign = hb_dynsymGetCase( "PPTR" ); - - hb_vmPushDynSym( s_pDyns_hPPtrAssign ); - hb_vmPush( pObj ); - hb_vmSend( 0 ); - - HBQT_GC_T * p = ( HBQT_GC_T * ) hb_itemGetPtrGC( hb_param( -1, HB_IT_POINTER ), hbqt_gcFuncs() ); - if( p && p->ph ) - return p->ph; - } - return NULL; -} - void * hbqt_par_ptr( int iParam ) { HB_TRACE( HB_TR_DEBUG, ( "hbqt_par_ptr( %d )", iParam ) ); -#ifdef __HBQT_REVAMP__ + return hbqt_bindGetQtObject( hb_param( iParam, HB_IT_OBJECT ) ); -#else - return s_hbqt_GCPointerFromItem( hb_param( iParam, HB_IT_ANY ) ); -#endif } void * hbqt_get_ptr( PHB_ITEM pObj ) { -#ifdef __HBQT_REVAMP__ return hbqt_bindGetQtObject( pObj ); -#else - return s_hbqt_GCPointerFromItem( pObj ); -#endif -} - -static void s_hbqt_set_ptr( PHB_ITEM pSelf, void * ptr ) -{ - static PHB_DYNS s_pDyns_hPPtrAssign = NULL; - - HB_TRACE( HB_TR_DEBUG, ( "s_hbqt_set_ptr( pSelf=%p, ptr=%p )", pSelf, ptr ) ); - - /* get the position of _PPTR member, the - leading underscore because I want to write to it */ - - if( pSelf ) - { - if( ! s_pDyns_hPPtrAssign ) - s_pDyns_hPPtrAssign = hb_dynsymGetCase( "_PPTR" ); - - /* push the _PPTR address */ - hb_vmPushDynSym( s_pDyns_hPPtrAssign ); - - /* push the instance we want change _PPTR value - it was already on the stack, but we push a pointer to it */ - hb_vmPush( pSelf ); - - /* push the actual value */ - hb_vmPushPointerGC( ptr ); - - /* run the command with 1 parameter */ - hb_vmSend( 1 ); - } - else - { - HB_TRACE( HB_TR_DEBUG, ( "s_hbqt_set_ptr(): returns NULL" ) ); - return; /* TODO: Still better if RTE. */ - } -} - -void hbqt_itemPushReturn( void* ptr, PHB_ITEM pSelf ) -{ - HB_TRACE( HB_TR_DEBUG, ( "itemPushReturn( ptr =%p, pSelf=%p )", ptr, pSelf ) ); - - /* get the position of _PPTR member, the - leading underscore because I want to write to it */ - - if( ! pSelf ) - pSelf = hb_stackSelfItem(); - - s_hbqt_set_ptr( pSelf, ptr ); - - if( hb_stackReturnItem() != pSelf ) - hb_itemReturn( pSelf ); -} -#if 0 -HBQT_GC_T * hbqt_par_ptrGC( int iParam ) -{ - static PHB_DYNS s_pDyns_hPPtr = NULL; - - PHB_ITEM pItem = hb_param( iParam, HB_IT_OBJECT ); - if( pItem ) - { - if( ! s_pDyns_hPPtr ) - s_pDyns_hPPtr = hb_dynsymGetCase( "PPTR" ); - - hb_vmPushDynSym( s_pDyns_hPPtr ); - hb_vmPush( pItem ); - hb_vmSend( 0 ); - - return ( HBQT_GC_T * ) hb_itemGetPtrGC( hb_param( -1, HB_IT_POINTER ), hbqt_gcFuncs() ); - } - return NULL; -} -#endif -HB_FUNC( HBQT_ISOBJECT ) -{ - PHB_ITEM pItem; - - if( ( pItem = hb_param( 1, HB_IT_OBJECT ) ) != NULL ) - { - hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( "PPTR" ) ) ); - hb_vmPush( pItem ); - hb_vmSend( 0 ); - - hb_retl( hb_param( -1, HB_IT_POINTER ) != NULL ); - } - else - hb_retl( HB_FALSE ); -} - -HB_FUNC( __HBQT_PTR ) -{ - PHB_ITEM pParam = hb_param( 1, HB_IT_ANY ); - - if( hb_itemType( pParam ) & HB_IT_OBJECT ) - { - PHB_ITEM pRetVal; - - hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( "PPTR" ) ) ); - hb_vmPush( pParam ); - hb_vmSend( 0 ); - - if( ( pRetVal = hb_param( -1, HB_IT_POINTER ) ) != NULL ) - return; - } - - hb_itemReturn( pParam ); } void hbqt_errRT_ARG( void ) @@ -248,32 +89,14 @@ void hbqt_errRT_ARG( void ) void hbqt_par_detach_ptrGC( int iParam ) { HB_TRACE( HB_TR_DEBUG, ( "hbqt_par_detach_ptrGC( %d )", iParam ) ); -#ifdef __HBQT_REVAMP__ if( HB_ISOBJECT( iParam ) ) { hbqt_bindSetOwner( hbqt_bindGetQtObject( hb_param( iParam, HB_IT_OBJECT ) ), HB_FALSE ); } -#else - if( HB_ISOBJECT( iParam ) ) - { - PHB_ITEM pObj = hb_param( iParam, HB_IT_ANY ); - HBQT_GC_T * p; - - hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( "PPTR" ) ) ); - hb_vmPush( pObj ); - hb_vmSend( 0 ); - - p = ( HBQT_GC_T * ) hb_parptrGC( hbqt_gcFuncs(), -1 ); - - if( p && p->ph ) - p->bNew = false; - } -#endif } HB_FUNC( __HBQT_ISPOINTER ) { -#ifdef __HBQT_REVAMP__ PHB_ITEM pObject = hb_stackSelfItem(); if( pObject == NULL ) pObject = hb_param( 1, HB_IT_OBJECT ); @@ -281,10 +104,6 @@ HB_FUNC( __HBQT_ISPOINTER ) hb_retl( ! ( hbqt_bindGetQtObject( pObject ) == NULL ) ); else hb_retl( HB_FALSE ); -#else - HBQT_GC_T * p = ( HBQT_GC_T * ) hb_parptrGC( hbqt_gcFuncs(), 1 ); - hb_retl( p && p->ph ); -#endif } HB_FUNC( HBQT_ISEQUAL ) @@ -301,9 +120,10 @@ HB_FUNC( __HBQT_ERROR ) HB_FUNC( __HBQT_SETUTF8 ) { PHB_CODEPAGE cdp = hb_cdpFindExt( "UTF8" ); - if( cdp ) + { hb_vmSetCDP( cdp ); + } } PHB_ITEM hbqt_defineClassBegin( const char * pszClsName, PHB_ITEM s_oClass, const char * pszParentClsStr ) @@ -409,49 +229,6 @@ void hbqt_defineClassEnd( PHB_ITEM s_oClass, PHB_ITEM oClass ) } } -PHB_ITEM hbqt_create_object( void * pObject, const char * pszObjectName ) -{ - PHB_ITEM pRetVal; - PHB_ITEM pItem; - - HB_TRACE( HB_TR_DEBUG, ( "create_object %s", pszObjectName ) ); - - hb_vmPushDynSym( hb_dynsymGet( pszObjectName ) ); - hb_vmPushNil(); - hb_vmDo( 0 ); - - pItem = hb_itemPutPtr( NULL, pObject ); - pRetVal = hb_itemNew( hb_stackReturnItem() ); - hb_objSendMsg( pRetVal, "_PPTR", 1, pItem ); - hb_itemReturnRelease( pRetVal ); - hb_itemRelease( pItem ); - - return hb_stackReturnItem(); -} - -PHB_ITEM hbqt_create_objectGC( void * pObject, const char * pszObjectName ) -{ - PHB_ITEM pItem, pRetVal; - - //HB_TRACE( HB_TR_DEBUG, ( "create_object_GC %s", pszObjectName ) ); - - hb_vmPushDynSym( hb_dynsymGet( pszObjectName ) ); - hb_vmPushNil(); - hb_vmDo( 0 ); - - pRetVal = hb_itemNew( hb_stackReturnItem() ); - - pItem = hb_itemPutPtrGC( NULL, pObject ); - hb_objSendMsg( pRetVal, "_PPTR", 1, pItem ); - hb_itemReturnRelease( pRetVal ); - //hb_itemReturn( pRetVal ); - hb_itemRelease( pItem ); - - //HB_TRACE( HB_TR_DEBUG, ( ".............................create_object_GC %s", pszObjectName ) ); - - return hb_stackReturnItem(); -} - HB_BOOL hbqt_obj_isDerivedFrom( PHB_ITEM pItem, const char * pszClsName ) { return hb_clsIsParent( hb_objGetClass( pItem ), pszClsName ); @@ -466,17 +243,10 @@ HB_BOOL hbqt_par_isDerivedFrom( int iParam, const char * pszClsName ) if( ( pItem = hb_param( iParam, HB_IT_OBJECT ) ) != NULL ) { -#ifdef __HBQT_REVAMP__ if( hbqt_bindGetQtObject( pItem ) == NULL ) hb_errRT_BASE( EG_ARG, 9999, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); else return hbqt_obj_isDerivedFrom( pItem, pszClsName ); -#else - if( s_hbqt_GCPointerFromItem( pItem ) == NULL ) - hb_errRT_BASE( EG_ARG, 9999, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); - else - return hbqt_obj_isDerivedFrom( pItem, pszClsName ); -#endif } return HB_FALSE; } diff --git a/harbour/contrib/hbqt/qtcore/qth/HBQEvents.qth b/harbour/contrib/hbqt/qtcore/qth/HBQEvents.qth index 6c735ed97e..a997a34c7e 100644 --- a/harbour/contrib/hbqt/qtcore/qth/HBQEvents.qth +++ b/harbour/contrib/hbqt/qtcore/qth/HBQEvents.qth @@ -39,30 +39,6 @@ HB_FUNC( QT_HBQEVENTS ) __HB_RETPTRGC__( new HBQEvents( hb_param( 1, HB_IT_OBJECT ) ) ); } -static HB_GARBAGE_FUNC( hbqt_gcMark_HBQEvents ) -{ - HBQT_GC_T_HBQEvents * p = ( HBQT_GC_T_HBQEvents * ) Cargo; - //HB_TRACE( HB_TR_DEBUG, ( "hbqt_gcMark_HBQEvents cargo=%p", (void*)Cargo ) ); - if( p ) - { - if( p->ph ) - { - HBQEvents * t_slots = p->ph; - int i; - - for( i = t_slots->listBlock.size() - 1; i >= 0 ; i-- ) - { - //HB_TRACE( HB_TR_DEBUG, ( "hbqt_gcMark_HBQEvents marking %d", i ) ); - if( t_slots->listBlock[ i ] != NULL ) - { - hb_gcMark( t_slots->listBlock[ i ] ); - //HB_TRACE( HB_TR_DEBUG, ( " MARKED %d ptr=%p", i, (void *)t_slots->listBlock.at( i ) ) ); - } - } - } - } -} - diff --git a/harbour/contrib/hbqt/qtcore/qth/HBQSlots.qth b/harbour/contrib/hbqt/qtcore/qth/HBQSlots.qth index 9d164da8d7..cbc95126ff 100644 --- a/harbour/contrib/hbqt/qtcore/qth/HBQSlots.qth +++ b/harbour/contrib/hbqt/qtcore/qth/HBQSlots.qth @@ -28,30 +28,6 @@ New = #include #include "hbqt_hbqslots.h" -HB_GARBAGE_FUNC( hbqt_gcMark_HBQSlots ) -{ - HBQT_GC_T_HBQSlots * p = ( HBQT_GC_T_HBQSlots * ) Cargo; - //HB_TRACE( HB_TR_DEBUG, ( "hbqt_gcMark_HBQSlots cargo=%p", Cargo ) ); - if( p ) - { - if( p->ph ) - { - HBQSlots * t_slots = p->ph; - int i; - - for( i = t_slots->listBlock.size() - 1; i >= 0 ; i-- ) - { - //HB_TRACE( HB_TR_DEBUG, ( "hbqt_gcMark_HBQSlots marking %d", i ) ); - if( t_slots->listBlock[ i ] != NULL ) - { - hb_gcMark( t_slots->listBlock[ i ] ); - //HB_TRACE( HB_TR_DEBUG, ( " MARKED %d ptr=%p", i, (void *)t_slots->listBlock.at( i ) ) ); - } - } - } - } -} - /* * HBQSlots () * ~HBQSlots () diff --git a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth index 52bfa9b57d..4b2ca1a7db 100644 --- a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth +++ b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth @@ -47,11 +47,7 @@ enum LibraryLocation { PrefixPath, DocumentationPath, HeadersPath, LibrariesPath QDate buildDate (){ #if QT_VERSION >= 0x040600 -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, new QDate( QLibraryInfo::buildDate() ), ( "HB_QDATE" ), NULL, 1 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QDate( new QDate( QLibraryInfo::buildDate() ), true ) , "HB_QDATE" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, new QDate( QLibraryInfo::buildDate() ), "HB_QDATE", hbqt_del_QDate, HBQT_BIT_OWNER ) ); #endif } QString buildKey (){ diff --git a/harbour/contrib/hbqt/qtcore/qth/QMimeData.qth b/harbour/contrib/hbqt/qtcore/qth/QMimeData.qth index efa39e7900..95c1ff2e3f 100644 --- a/harbour/contrib/hbqt/qtcore/qth/QMimeData.qth +++ b/harbour/contrib/hbqt/qtcore/qth/QMimeData.qth @@ -70,11 +70,7 @@ QStringList * hbUrlList() const{ { strList << ( QString ) url.toString().toAscii().data(); } -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, new QStringList( strList ), ( "HB_QSTRINGLIST" ), NULL, 1 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QStringList( new QStringList( strList ), true ), "hb_QStringList" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, new QStringList( strList ), "HB_QSTRINGLIST", hbqt_del_QStringList, HBQT_BIT_OWNER ) ); } } diff --git a/harbour/contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp b/harbour/contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp index 6ac087947c..5417fa49ef 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp @@ -138,7 +138,7 @@ HBQAbstractItemModel::HBQAbstractItemModel( PHB_ITEM pBlock ) : QAbstractItemMod if( pBlock ) { block = hb_itemNew( pBlock ); - hb_gcUnlock( block ); + // hb_gcUnlock( block ); } } diff --git a/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp b/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp index d89fa6669b..896315123d 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp @@ -65,12 +65,6 @@ #include -HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QPainter( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QRectF( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneContextMenuEvent( void * pObj, bool bNew ); -HB_EXTERN_END - HBQGraphicsItem::HBQGraphicsItem( int type, QGraphicsItem * parent ) : QGraphicsItem( parent ) { iType = type; @@ -125,7 +119,8 @@ HBQGraphicsItem::HBQGraphicsItem( int type, QGraphicsItem * parent ) : QGraphics HBQGraphicsItem::~HBQGraphicsItem() { - if( block ){ + if( block ) + { hb_itemRelease( block ); block = NULL; } @@ -133,9 +128,10 @@ HBQGraphicsItem::~HBQGraphicsItem() void HBQGraphicsItem::hbSetBlock( PHB_ITEM b ) { - if( b ){ + if( b ) + { block = hb_itemNew( b ); - hb_gcUnlock( block ); + // hb_gcUnlock( block ); } } @@ -490,11 +486,7 @@ void HBQGraphicsItem::contextMenuEvent( QGraphicsSceneContextMenuEvent * event ) { if( block ){ PHB_ITEM p1 = hb_itemPutNI( NULL, QEvent::GraphicsSceneContextMenu ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENECONTEXTMENUEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneContextMenuEvent( event, false ), "hb_QGraphicsSceneContextMenuEvent" ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENECONTEXTMENUEVENT", NULL, 0 ); PHB_ITEM p3 = hb_itemPutC( NULL, objectName().toLatin1().data() ); hb_vmEvalBlockV( block, 3, p1, p2, p3 ); hb_itemRelease( p1 ); @@ -783,13 +775,8 @@ void HBQGraphicsItem::paint( QPainter * painter, const QStyleOptionGraphicsItem QRectF rect = ( option->type == QStyleOption::SO_GraphicsItem ) ? boundingRect() : option->exposedRect; PHB_ITEM p1 = hb_itemPutNI( NULL, 21017 ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) painter, ( "HB_QPAINTER" ), NULL, 0 ); - PHB_ITEM p3 = hbqt_bindGetHbObject( NULL, ( void * ) &rect, ( "HB_QRECTF" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QPainter( painter, false ), "hb_QPainter" ) ); - PHB_ITEM p3 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QRectF( &rect, false ), "hb_QRectF" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) painter, "HB_QPAINTER", NULL, 0 ); + PHB_ITEM p3 = hbqt_bindGetHbObject( NULL, ( void * ) &rect, "HB_QRECTF", NULL, 0 ); hb_vmEvalBlockV( block, 3, p1, p2, p3 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); diff --git a/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp b/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp index 7a26acf7fd..22b8593cf0 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp @@ -64,11 +64,6 @@ #include "hbqt_hbqgraphicsscene.h" -HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QGraphicsSceneContextMenuEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneDragDropEvent( void * pObj, bool bNew ); -HB_EXTERN_END - HBQGraphicsScene::HBQGraphicsScene( QObject * parent ) : QGraphicsScene( parent ) { block = 0; @@ -93,7 +88,8 @@ HBQGraphicsScene::HBQGraphicsScene( QObject * parent ) : QGraphicsScene( parent HBQGraphicsScene::~HBQGraphicsScene() { - if( block ){ + if( block ) + { hb_itemRelease( block ); block = NULL; } @@ -101,9 +97,10 @@ HBQGraphicsScene::~HBQGraphicsScene() void HBQGraphicsScene::hbSetBlock( PHB_ITEM b ) { - if( b ){ + if( b ) + { block = hb_itemNew( b ); - hb_gcUnlock( block ); + // hb_gcUnlock( block ); QDesktopWidget * qWid = new QDesktopWidget(); @@ -414,11 +411,7 @@ void HBQGraphicsScene::contextMenuEvent( QGraphicsSceneContextMenuEvent * event if( ! item ){ if( block ){ PHB_ITEM p1 = hb_itemPutNI( NULL, QEvent::GraphicsSceneContextMenu ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENECONTEXTMENUEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneContextMenuEvent( event, false ), "hb_QGraphicsSceneContextMenuEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENECONTEXTMENUEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p1, p2 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); @@ -432,11 +425,7 @@ void HBQGraphicsScene::dragEnterEvent( QGraphicsSceneDragDropEvent * event ) if( block ) { PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragEnter ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENEDRAGDROPEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneDragDropEvent( event, false ), "hb_QGraphicsSceneDragDropEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENEDRAGDROPEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p1, p2 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); @@ -451,11 +440,7 @@ void HBQGraphicsScene::dragLeaveEvent( QGraphicsSceneDragDropEvent * event ) if( block ) { PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragLeave ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENEDRAGDROPEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneDragDropEvent( event, false ), "hb_QGraphicsSceneDragDropEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENEDRAGDROPEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p1, p2 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); @@ -470,11 +455,7 @@ void HBQGraphicsScene::dragMoveEvent( QGraphicsSceneDragDropEvent * event ) if( block ) { PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragMove ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENEDRAGDROPEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneDragDropEvent( event, false ), "hb_QGraphicsSceneDragDropEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENEDRAGDROPEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p1, p2 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); @@ -493,11 +474,7 @@ void HBQGraphicsScene::dropEvent( QGraphicsSceneDragDropEvent * event ) if( mime->hasFormat( ( QString ) "application/x-qabstractitemmodeldatalist" ) ) { PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENEDRAGDROPEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneDragDropEvent( event, false ), "hb_QGraphicsSceneDragDropEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENEDRAGDROPEVENT", NULL, 0 ); PHB_ITEM p3 = hb_itemNew( NULL ); QTreeWidget * tree = dynamic_cast< QTreeWidget * >( event->source() ); @@ -524,11 +501,7 @@ void HBQGraphicsScene::dropEvent( QGraphicsSceneDragDropEvent * event ) else { PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QGRAPHICSSCENEDRAGDROPEVENT" ), NULL, 0 ); -#else - PHB_ITEM p2 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QGraphicsSceneDragDropEvent( event, false ), "hb_QGraphicsSceneDragDropEvent" ) ); -#endif + PHB_ITEM p2 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QGRAPHICSSCENEDRAGDROPEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p1, p2 ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); diff --git a/harbour/contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp b/harbour/contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp index ddb9aa6d83..c3fce6051c 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp @@ -271,7 +271,7 @@ void HBQPlainTextEdit::hbSetEventBlock( PHB_ITEM pBlock ) if( pBlock ) { block = hb_itemNew( pBlock ); - hb_gcUnlock( block ); + // hb_gcUnlock( block ); } } @@ -1377,6 +1377,8 @@ bool HBQPlainTextEdit::hbKeyPressSelection( QKeyEvent * event ) { PHB_ITEM p1 = hb_itemPutNI( NULL, 21013 ); PHB_ITEM p2 = hb_itemNew( NULL ); + PHB_ITEM pObj = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QKEYEVENT", NULL, 0 ) ; + hb_arrayNew( p2, 7 ); hb_arraySetNI( p2, 1, rowBegins ); hb_arraySetNI( p2, 2, columnBegins ); @@ -1384,12 +1386,9 @@ bool HBQPlainTextEdit::hbKeyPressSelection( QKeyEvent * event ) hb_arraySetNI( p2, 4, columnEnds ); hb_arraySetNI( p2, 5, selectionMode ); hb_arraySetNI( p2, 6, selectionState ); -#ifdef __HBQT_REVAMP__ - hb_arraySet( p2, 7, hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QKEYEVENT" ), NULL, 0 ) ); -#else - hb_arraySet( p2, 7, hbqt_create_objectGC( hbqt_gcAllocate_QKeyEvent( event, false ), "hb_QKeyEvent" ) ); -#endif + hb_arraySet( p2, 7, pObj ); hb_vmEvalBlockV( block, 2, p1, p2 ); + hb_itemRelease( pObj ); hb_itemRelease( p1 ); hb_itemRelease( p2 ); diff --git a/harbour/contrib/hbqt/qtgui/hbqt_hbqtableview.cpp b/harbour/contrib/hbqt/qtgui/hbqt_hbqtableview.cpp index e981db40ec..e31030a55c 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_hbqtableview.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_hbqtableview.cpp @@ -61,11 +61,6 @@ #include -HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QMouseEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QWheelEvent( void * pObj, bool bNew ); -HB_EXTERN_END - HBQTableView::HBQTableView( QWidget * parent ) : QTableView( parent ) { @@ -90,7 +85,7 @@ void HBQTableView::hbSetBlock( PHB_ITEM b ) hb_itemRelease( block ); } block = hb_itemNew( b ); - hb_gcUnlock( block ); + // hb_gcUnlock( block ); } } @@ -99,11 +94,7 @@ void HBQTableView::mousePressEvent( QMouseEvent * event ) if( block ) { PHB_ITEM p0 = hb_itemPutNI( NULL, QEvent::MouseButtonPress ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QMOUSEEVENT" ), NULL, 0 ); -#else - PHB_ITEM p1 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QMouseEvent( event, false ), "hb_QMouseEvent" ) ); -#endif + PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QMOUSEEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p0, p1 ); hb_itemRelease( p0 ); hb_itemRelease( p1 ); @@ -116,11 +107,7 @@ void HBQTableView::mouseDoubleClickEvent( QMouseEvent * event ) if( block ) { PHB_ITEM p0 = hb_itemPutNI( NULL, QEvent::MouseButtonDblClick ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QMOUSEEVENT" ), NULL, 0 ); -#else - PHB_ITEM p1 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QMouseEvent( event, false ), "hb_QMouseEvent" ) ); -#endif + PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QMOUSEEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p0, p1 ); hb_itemRelease( p0 ); hb_itemRelease( p1 ); @@ -133,11 +120,7 @@ void HBQTableView::wheelEvent( QWheelEvent * event ) if( block ) { PHB_ITEM p0 = hb_itemPutNI( NULL, QEvent::Wheel ); -#ifdef __HBQT_REVAMP__ - PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, ( "HB_QWHEELEVENT" ), NULL, 0 ); -#else - PHB_ITEM p1 = hb_itemNew( hbqt_create_objectGC( hbqt_gcAllocate_QWheelEvent( event, false ), "hb_QWheelEvent" ) ); -#endif + PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, ( void * ) event, "HB_QWHEELEVENT", NULL, 0 ); hb_vmEvalBlockV( block, 2, p0, p1 ); hb_itemRelease( p0 ); hb_itemRelease( p1 ); diff --git a/harbour/contrib/hbqt/qtgui/hbqt_init.cpp b/harbour/contrib/hbqt/qtgui/hbqt_init.cpp index 9eff0e254a..0f9f9dd2c8 100644 --- a/harbour/contrib/hbqt/qtgui/hbqt_init.cpp +++ b/harbour/contrib/hbqt/qtgui/hbqt_init.cpp @@ -81,60 +81,12 @@ #include #include #include +#include #include #include -HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QColor( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QItemSelection( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTextCharFormat( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QFont( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTextCursor( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTextBlock( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QAbstractButton( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QAction( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QMdiSubWindow( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QPrinter( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QStandardItem( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QListWidgetItem( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTreeWidgetItem( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QTableWidgetItem( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QWidget( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QRect( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QActionEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QContextMenuEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QDragEnterEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QDragLeaveEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QDropEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QFocusEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneContextMenuEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneMouseEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneDragDropEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneHoverEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneMoveEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneResizeEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QGraphicsSceneWheelEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QHelpEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QHideEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QHoverEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QInputMethodEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QKeyEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QMouseEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QMoveEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QPaintEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QResizeEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QShortcutEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QShowEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QWheelEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QWindowStateChangeEvent( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QCloseEvent( void * pObj, bool bNew ); - -HB_EXTERN_END - -#ifdef __HBQT_REVAMP__ HB_EXTERN_BEGIN extern void hbqt_del_QObject( void * pObj, int iFlags ); @@ -185,7 +137,6 @@ extern void hbqt_del_QWindowStateChangeEvent( void * pObj, int iFlags ); extern void hbqt_del_QCloseEvent( void * pObj, int iFlags ); HB_EXTERN_END -#endif /*----------------------------------------------------------------------*/ @@ -195,16 +146,10 @@ static void hbqt_SlotsExecQColor( PHB_ITEM * codeBlock, void ** arguments, QStri hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QColor( ( *reinterpret_cast< QColor( * ) >( arguments[ 1 ] ) ) ), "HB_QCOLOR", hbqt_del_QColor, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QColor( new QColor( ( *reinterpret_cast< QColor( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QColor" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecItemSelItemSel( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -213,20 +158,13 @@ static void hbqt_SlotsExecItemSelItemSel( PHB_ITEM * codeBlock, void ** argument hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QItemSelection( ( *reinterpret_cast< QItemSelection( * ) >( arguments[ 1 ] ) ) ), "HB_QITEMSELECTION", hbqt_del_QObject, HBQT_BIT_OWNER ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, new QItemSelection( ( *reinterpret_cast< QItemSelection( * ) >( arguments[ 2 ] ) ) ), "HB_QITEMSELECTION", hbqt_del_QObject, HBQT_BIT_OWNER ) ; hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QItemSelection( new QItemSelection( ( *reinterpret_cast< QItemSelection( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QItemSelection" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QItemSelection( new QItemSelection( ( *reinterpret_cast< QItemSelection( * ) >( arguments[ 2 ] ) ) ), true ), "hb_QItemSelection" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecQTextCharFormat( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -235,16 +173,10 @@ static void hbqt_SlotsExecQTextCharFormat( PHB_ITEM * codeBlock, void ** argumen hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTextCharFormat( ( *reinterpret_cast< QTextCharFormat( * ) >( arguments[ 1 ] ) ) ), "HB_QTEXTCHARFORMAT", hbqt_del_QTextCharFormat, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTextCharFormat( new QTextCharFormat( ( *reinterpret_cast< QTextCharFormat( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QTextCharFormat" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQFont( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -253,16 +185,10 @@ static void hbqt_SlotsExecQFont( PHB_ITEM * codeBlock, void ** arguments, QStrin hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QFont( ( *reinterpret_cast< QFont( * ) >( arguments[ 1 ] ) ) ), "HB_QFONT", hbqt_del_QFont, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QFont( new QFont( ( *reinterpret_cast< QFont( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QFont" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTextCursor( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -271,16 +197,10 @@ static void hbqt_SlotsExecQTextCursor( PHB_ITEM * codeBlock, void ** arguments, hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTextCursor( ( *reinterpret_cast< QTextCursor( * ) >( arguments[ 1 ] ) ) ), "HB_QTEXTCURSOR", hbqt_del_QTextCursor, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTextCursor( new QTextCursor( ( *reinterpret_cast< QTextCursor( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QTextCursor" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTextBlock( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -289,16 +209,10 @@ static void hbqt_SlotsExecQTextBlock( PHB_ITEM * codeBlock, void ** arguments, Q hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTextBlock( ( *reinterpret_cast< QTextBlock( * ) >( arguments[ 1 ] ) ) ), "HB_QTEXTBLOCK", hbqt_del_QTextBlock, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTextBlock( new QTextBlock( ( *reinterpret_cast< QTextBlock( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QTextBlock" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQAbstractButton( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -307,16 +221,10 @@ static void hbqt_SlotsExecQAbstractButton( PHB_ITEM * codeBlock, void ** argumen hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QWidget( ( QAbstractButton * ) ( arguments[ 1 ] ) ), "HB_QABSTRACTBUTTON", hbqt_del_QWidget, HBQT_BIT_OWNER | HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QAbstractButton( new QWidget( ( QAbstractButton * ) ( arguments[ 1 ] ) ) , true ), "hb_QAbstractButton" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQAction( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -325,16 +233,10 @@ static void hbqt_SlotsExecQAction( PHB_ITEM * codeBlock, void ** arguments, QStr hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QAction( ( QAction * ) ( arguments[ 1 ] ) ), "HB_QACTION", hbqt_del_QAction, HBQT_BIT_OWNER | HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QAction( new QAction( ( QAction * ) ( arguments[ 1 ] ) ), true ), "hb_QAction" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQMdiSubWindow( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -343,16 +245,10 @@ static void hbqt_SlotsExecQMdiSubWindow( PHB_ITEM * codeBlock, void ** arguments hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QMDISUBWINDOW", NULL, HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QMdiSubWindow( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QMdiSubWindow" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTreeWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -361,16 +257,10 @@ static void hbqt_SlotsExecQTreeWidgetItem( PHB_ITEM * codeBlock, void ** argumen hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTreeWidgetItem( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QTreeWidgetItem" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTreeWidgetItemInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -379,17 +269,11 @@ static void hbqt_SlotsExecQTreeWidgetItemInt( PHB_ITEM * codeBlock, void ** argu hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTreeWidgetItem( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QTreeWidgetItem" ) ); -#endif hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQPrinter( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -398,16 +282,10 @@ static void hbqt_SlotsExecQPrinter( PHB_ITEM * codeBlock, void ** arguments, QSt hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QPRINTER", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QPrinter( ( *reinterpret_cast< void*(*)> ( arguments[ 1 ] ) ), false ), "hb_QPrinter" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQStandardItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -416,16 +294,10 @@ static void hbqt_SlotsExecQStandardItem( PHB_ITEM * codeBlock, void ** arguments hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QSTANDARDITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QStandardItem( ( *reinterpret_cast< void*( * )>( arguments[ 1 ] ) ), false ), "hb_QStandardItem" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQListWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -434,16 +306,10 @@ static void hbqt_SlotsExecQListWidgetItem( PHB_ITEM * codeBlock, void ** argumen hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QLISTWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QListWidgetItem( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QListWidgetItem" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQListWidgetItemQListWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -452,20 +318,13 @@ static void hbqt_SlotsExecQListWidgetItemQListWidgetItem( PHB_ITEM * codeBlock, hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QLISTWIDGETITEM", NULL, HBQT_BIT_NONE ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , "HB_QLISTWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QListWidgetItem( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QListWidgetItem" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QListWidgetItem( ( *reinterpret_cast( arguments[ 2 ] ) ), false ), "hb_QListWidgetItem" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecQTableWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -474,16 +333,10 @@ static void hbqt_SlotsExecQTableWidgetItem( PHB_ITEM * codeBlock, void ** argume hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTABLEWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTableWidgetItem( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QTableWidgetItem" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQTableWidgetItemQTableWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -492,20 +345,13 @@ static void hbqt_SlotsExecQTableWidgetItemQTableWidgetItem( PHB_ITEM * codeBlock hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTABLEWIDGETITEM", NULL, HBQT_BIT_NONE ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , "HB_QTABLEWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTableWidgetItem( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QTableWidgetItem" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTableWidgetItem( ( *reinterpret_cast( arguments[ 2 ] ) ), false ), "hb_QTableWidgetItem" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecQTreeWidgetItemQTreeWidgetItem( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -514,20 +360,13 @@ static void hbqt_SlotsExecQTreeWidgetItemQTreeWidgetItem( PHB_ITEM * codeBlock, hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE ); hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTreeWidgetItem( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QTreeWidgetItem" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QTreeWidgetItem( ( *reinterpret_cast( arguments[ 2 ] ) ), false ), "hb_QTreeWidgetItem" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecQWidget( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -536,16 +375,10 @@ static void hbqt_SlotsExecQWidget( PHB_ITEM * codeBlock, void ** arguments, QStr hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QWidget" ) ); -#endif hb_vmSend( 1 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQWidgetQWidget( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -554,20 +387,13 @@ static void hbqt_SlotsExecQWidgetQWidget( PHB_ITEM * codeBlock, void ** argument hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT ); PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); hb_vmPush( p1 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( ( *reinterpret_cast( arguments[ 1 ] ) ), false ), "hb_QWidget" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( ( *reinterpret_cast( arguments[ 2 ] ) ), false ), "hb_QWidget" ) ); -#endif hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); hb_itemRelease( p1 ); -#endif } static void hbqt_SlotsExecQWidgetInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -576,17 +402,11 @@ static void hbqt_SlotsExecQWidgetInt( PHB_ITEM * codeBlock, void ** arguments, Q hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QWidget( ( *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) ), false ), "hb_QWidget" ) ); -#endif hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } static void hbqt_SlotsExecQRectInt( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -594,17 +414,11 @@ static void hbqt_SlotsExecQRectInt( PHB_ITEM * codeBlock, void ** arguments, QSt Q_UNUSED( pList ); hb_vmPushEvalSym(); hb_vmPush( codeBlock ); -#ifdef __HBQT_REVAMP__ PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), "HB_QRECT", hbqt_del_QRect, HBQT_BIT_OWNER ); hb_vmPush( p0 ); -#else - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QRect( new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QRect" ) ); -#endif hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) ); hb_vmSend( 2 ); -#ifdef __HBQT_REVAMP__ hb_itemRelease( p0 ); -#endif } @@ -717,134 +531,134 @@ static void hbqt_registerCallbacks( void ) hbqt_slots_register_callback( "QWidget*" , hbqt_SlotsExecQWidget ); hbqt_slots_register_callback( "QRect$int" , hbqt_SlotsExecQRectInt ); - hbqt_events_register_createobj( QEvent::MouseButtonPress , "hb_QMouseEvent" , hbqt_gcAllocate_QMouseEvent ); - hbqt_events_register_createobj( QEvent::MouseButtonRelease , "hb_QMouseEvent" , hbqt_gcAllocate_QMouseEvent ); - hbqt_events_register_createobj( QEvent::MouseButtonDblClick , "hb_QMouseEvent" , hbqt_gcAllocate_QMouseEvent ); - hbqt_events_register_createobj( QEvent::MouseMove , "hb_QMouseEvent" , hbqt_gcAllocate_QMouseEvent ); - hbqt_events_register_createobj( QEvent::KeyPress , "hb_QKeyEvent" , hbqt_gcAllocate_QKeyEvent ); - hbqt_events_register_createobj( QEvent::KeyRelease , "hb_QKeyEvent" , hbqt_gcAllocate_QKeyEvent ); - hbqt_events_register_createobj( QEvent::FocusIn , "hb_QFocusEvent" , hbqt_gcAllocate_QFocusEvent ); - hbqt_events_register_createobj( QEvent::FocusOut , "hb_QFocusEvent" , hbqt_gcAllocate_QFocusEvent ); - hbqt_events_register_createobj( QEvent::Enter , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Leave , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Paint , "hb_QPaintEvent" , hbqt_gcAllocate_QPaintEvent ); - hbqt_events_register_createobj( QEvent::Move , "hb_QMoveEvent" , hbqt_gcAllocate_QMoveEvent ); - hbqt_events_register_createobj( QEvent::Resize , "hb_QResizeEvent" , hbqt_gcAllocate_QResizeEvent ); - hbqt_events_register_createobj( QEvent::Show , "hb_QShowEvent" , hbqt_gcAllocate_QShowEvent ); - hbqt_events_register_createobj( QEvent::Hide , "hb_QHideEvent" , hbqt_gcAllocate_QHideEvent ); - hbqt_events_register_createobj( QEvent::Close , "hb_QCloseEvent" , hbqt_gcAllocate_QCloseEvent ); - hbqt_events_register_createobj( QEvent::ParentChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowActivate , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowDeactivate , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ShowToParent , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::HideToParent , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Wheel , "hb_QWheelEvent" , hbqt_gcAllocate_QWheelEvent ); - hbqt_events_register_createobj( QEvent::WindowTitleChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowIconChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationWindowIconChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationFontChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationLayoutDirectionChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationPaletteChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::PaletteChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Clipboard , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::MetaCall , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::SockAct , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ShortcutOverride , "hb_QKeyEvent" , hbqt_gcAllocate_QKeyEvent ); - hbqt_events_register_createobj( QEvent::DeferredDelete , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::DragEnter , "hb_QDragEnterEvent" , hbqt_gcAllocate_QDragEnterEvent ); - hbqt_events_register_createobj( QEvent::DragLeave , "hb_QDragLeaveEvent" , hbqt_gcAllocate_QDragLeaveEvent ); - hbqt_events_register_createobj( QEvent::DragMove , "hb_QDragMoveEvent" , hbqt_gcAllocate_QMoveEvent ); - hbqt_events_register_createobj( QEvent::Drop , "hb_QDropEvent" , hbqt_gcAllocate_QDropEvent ); - hbqt_events_register_createobj( QEvent::ChildAdded , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ChildPolished , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ChildRemoved , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::PolishRequest , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Polish , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LayoutRequest , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::UpdateRequest , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::UpdateLater , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ContextMenu , "hb_QContextMenuEvent" , hbqt_gcAllocate_QContextMenuEvent ); - hbqt_events_register_createobj( QEvent::InputMethod , "hb_QInputMethodEvent" , hbqt_gcAllocate_QInputMethodEvent ); - hbqt_events_register_createobj( QEvent::AccessibilityPrepare , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::TabletMove , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LocaleChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LanguageChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LayoutDirectionChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::TabletPress , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::TabletRelease , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::OkRequest , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::IconDrag , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::FontChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::EnabledChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ActivationChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::StyleChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::IconTextChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ModifiedChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowBlocked , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowUnblocked , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WindowStateChange , "hb_QWindowStateChangeEvent" , hbqt_gcAllocate_QWindowStateChangeEvent ); - hbqt_events_register_createobj( QEvent::MouseTrackingChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ToolTip , "hb_QHelpEvent" , hbqt_gcAllocate_QHelpEvent ); - hbqt_events_register_createobj( QEvent::WhatsThis , "hb_QHelpEvent" , hbqt_gcAllocate_QHelpEvent ); - hbqt_events_register_createobj( QEvent::StatusTip , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ActionChanged , "hb_QActionEvent" , hbqt_gcAllocate_QActionEvent ); - hbqt_events_register_createobj( QEvent::ActionAdded , "hb_QActionEvent" , hbqt_gcAllocate_QActionEvent ); - hbqt_events_register_createobj( QEvent::ActionRemoved , "hb_QActionEvent" , hbqt_gcAllocate_QActionEvent ); - hbqt_events_register_createobj( QEvent::FileOpen , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::Shortcut , "hb_QShortcutEvent" , hbqt_gcAllocate_QShortcutEvent ); - hbqt_events_register_createobj( QEvent::WhatsThisClicked , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::AccessibilityHelp , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ToolBarChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationActivate , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationActivated , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ApplicationDeactivate , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::QueryWhatsThis , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::EnterWhatsThisMode , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LeaveWhatsThisMode , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ZOrderChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::HoverEnter , "hb_QHoverEvent" , hbqt_gcAllocate_QHoverEvent ); - hbqt_events_register_createobj( QEvent::HoverLeave , "hb_QHoverEvent" , hbqt_gcAllocate_QHoverEvent ); - hbqt_events_register_createobj( QEvent::HoverMove , "hb_QHoverEvent" , hbqt_gcAllocate_QHoverEvent ); - hbqt_events_register_createobj( QEvent::AccessibilityDescription , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ParentAboutToChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::WinEventAct , "hb_QEvent" , hbqt_gcAllocate_QEvent ); + hbqt_events_register_createobj( QEvent::MouseButtonPress , "hb_QMouseEvent" ); + hbqt_events_register_createobj( QEvent::MouseButtonRelease , "hb_QMouseEvent" ); + hbqt_events_register_createobj( QEvent::MouseButtonDblClick , "hb_QMouseEvent" ); + hbqt_events_register_createobj( QEvent::MouseMove , "hb_QMouseEvent" ); + hbqt_events_register_createobj( QEvent::KeyPress , "hb_QKeyEvent" ); + hbqt_events_register_createobj( QEvent::KeyRelease , "hb_QKeyEvent" ); + hbqt_events_register_createobj( QEvent::FocusIn , "hb_QFocusEvent" ); + hbqt_events_register_createobj( QEvent::FocusOut , "hb_QFocusEvent" ); + hbqt_events_register_createobj( QEvent::Enter , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Leave , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Paint , "hb_QPaintEvent" ); + hbqt_events_register_createobj( QEvent::Move , "hb_QMoveEvent" ); + hbqt_events_register_createobj( QEvent::Resize , "hb_QResizeEvent" ); + hbqt_events_register_createobj( QEvent::Show , "hb_QShowEvent" ); + hbqt_events_register_createobj( QEvent::Hide , "hb_QHideEvent" ); + hbqt_events_register_createobj( QEvent::Close , "hb_QCloseEvent" ); + hbqt_events_register_createobj( QEvent::ParentChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowActivate , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowDeactivate , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ShowToParent , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::HideToParent , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Wheel , "hb_QWheelEvent" ); + hbqt_events_register_createobj( QEvent::WindowTitleChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowIconChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationWindowIconChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationFontChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationLayoutDirectionChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationPaletteChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::PaletteChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Clipboard , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::MetaCall , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::SockAct , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ShortcutOverride , "hb_QKeyEvent" ); + hbqt_events_register_createobj( QEvent::DeferredDelete , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::DragEnter , "hb_QDragEnterEvent" ); + hbqt_events_register_createobj( QEvent::DragLeave , "hb_QDragLeaveEvent" ); + hbqt_events_register_createobj( QEvent::DragMove , "hb_QDragMoveEvent" ); + hbqt_events_register_createobj( QEvent::Drop , "hb_QDropEvent" ); + hbqt_events_register_createobj( QEvent::ChildAdded , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ChildPolished , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ChildRemoved , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::PolishRequest , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Polish , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LayoutRequest , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::UpdateRequest , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::UpdateLater , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ContextMenu , "hb_QContextMenuEvent" ); + hbqt_events_register_createobj( QEvent::InputMethod , "hb_QInputMethodEvent" ); + hbqt_events_register_createobj( QEvent::AccessibilityPrepare , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::TabletMove , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LocaleChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LanguageChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LayoutDirectionChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::TabletPress , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::TabletRelease , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::OkRequest , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::IconDrag , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::FontChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::EnabledChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ActivationChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::StyleChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::IconTextChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ModifiedChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowBlocked , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowUnblocked , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WindowStateChange , "hb_QWindowStateChangeEvent" ); + hbqt_events_register_createobj( QEvent::MouseTrackingChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ToolTip , "hb_QHelpEvent" ); + hbqt_events_register_createobj( QEvent::WhatsThis , "hb_QHelpEvent" ); + hbqt_events_register_createobj( QEvent::StatusTip , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ActionChanged , "hb_QActionEvent" ); + hbqt_events_register_createobj( QEvent::ActionAdded , "hb_QActionEvent" ); + hbqt_events_register_createobj( QEvent::ActionRemoved , "hb_QActionEvent" ); + hbqt_events_register_createobj( QEvent::FileOpen , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::Shortcut , "hb_QShortcutEvent" ); + hbqt_events_register_createobj( QEvent::WhatsThisClicked , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::AccessibilityHelp , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ToolBarChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationActivate , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationActivated , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ApplicationDeactivate , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::QueryWhatsThis , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::EnterWhatsThisMode , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LeaveWhatsThisMode , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ZOrderChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::HoverEnter , "hb_QHoverEvent" ); + hbqt_events_register_createobj( QEvent::HoverLeave , "hb_QHoverEvent" ); + hbqt_events_register_createobj( QEvent::HoverMove , "hb_QHoverEvent" ); + hbqt_events_register_createobj( QEvent::AccessibilityDescription , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ParentAboutToChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::WinEventAct , "hb_QEvent" ); #if defined( QT_KEYPAD_NAVIGATION ) - hbqt_events_register_createobj( QEvent::EnterEditFocus , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::LeaveEditFocus , "hb_QEvent" , hbqt_gcAllocate_QEvent ); + hbqt_events_register_createobj( QEvent::EnterEditFocus , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::LeaveEditFocus , "hb_QEvent" ); #endif - hbqt_events_register_createobj( QEvent::MenubarUpdated , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneMouseMove , "hb_QGraphicsSceneMouseEvent" , hbqt_gcAllocate_QGraphicsSceneMouseEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneMousePress , "hb_QGraphicsSceneMouseEvent" , hbqt_gcAllocate_QGraphicsSceneMouseEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneMouseRelease , "hb_QGraphicsSceneMouseEvent" , hbqt_gcAllocate_QGraphicsSceneMouseEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneMouseDoubleClick , "hb_QGraphicsSceneMouseEvent" , hbqt_gcAllocate_QGraphicsSceneMouseEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneContextMenu , "hb_QGraphicsSceneContextMenuEvent" , hbqt_gcAllocate_QGraphicsSceneContextMenuEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneHoverEnter , "hb_QGraphicsSceneHoverEvent" , hbqt_gcAllocate_QGraphicsSceneHoverEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneHoverMove , "hb_QGraphicsSceneHoverEvent" , hbqt_gcAllocate_QGraphicsSceneHoverEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneHoverLeave , "hb_QGraphicsSceneHoverEvent" , hbqt_gcAllocate_QGraphicsSceneHoverEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneHelp , "hb_QHelpEvent" , hbqt_gcAllocate_QHelpEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneDragEnter , "hb_QGraphicsSceneDragDropEvent" , hbqt_gcAllocate_QGraphicsSceneDragDropEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneDragMove , "hb_QGraphicsSceneDragDropEvent" , hbqt_gcAllocate_QGraphicsSceneDragDropEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneDragLeave , "hb_QGraphicsSceneDragDropEvent" , hbqt_gcAllocate_QGraphicsSceneDragDropEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneDrop , "hb_QGraphicsSceneDragDropEvent" , hbqt_gcAllocate_QGraphicsSceneDragDropEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneWheel , "hb_QGraphicsSceneWheelEvent" , hbqt_gcAllocate_QGraphicsSceneWheelEvent ); - hbqt_events_register_createobj( QEvent::KeyboardLayoutChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::DynamicPropertyChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::TabletEnterProximity , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::TabletLeaveProximity , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::NonClientAreaMouseMove , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonPress , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonRelease , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonDblClick , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::MacSizeChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ContentsRectChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneResize , "hb_QGraphicsSceneResizeEvent" , hbqt_gcAllocate_QGraphicsSceneResizeEvent ); - hbqt_events_register_createobj( QEvent::GraphicsSceneMove , "hb_QGraphicsSceneMoveEvent" , hbqt_gcAllocate_QGraphicsSceneMoveEvent ); - hbqt_events_register_createobj( QEvent::CursorChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::ToolTipChange , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::GrabMouse , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::UngrabMouse , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::GrabKeyboard , "hb_QEvent" , hbqt_gcAllocate_QEvent ); - hbqt_events_register_createobj( QEvent::UngrabKeyboard , "hb_QEvent" , hbqt_gcAllocate_QEvent ); + hbqt_events_register_createobj( QEvent::MenubarUpdated , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneMouseMove , "hb_QGraphicsSceneMouseEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneMousePress , "hb_QGraphicsSceneMouseEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneMouseRelease , "hb_QGraphicsSceneMouseEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneMouseDoubleClick , "hb_QGraphicsSceneMouseEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneContextMenu , "hb_QGraphicsSceneContextMenuEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneHoverEnter , "hb_QGraphicsSceneHoverEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneHoverMove , "hb_QGraphicsSceneHoverEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneHoverLeave , "hb_QGraphicsSceneHoverEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneHelp , "hb_QHelpEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneDragEnter , "hb_QGraphicsSceneDragDropEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneDragMove , "hb_QGraphicsSceneDragDropEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneDragLeave , "hb_QGraphicsSceneDragDropEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneDrop , "hb_QGraphicsSceneDragDropEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneWheel , "hb_QGraphicsSceneWheelEvent" ); + hbqt_events_register_createobj( QEvent::KeyboardLayoutChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::DynamicPropertyChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::TabletEnterProximity , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::TabletLeaveProximity , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::NonClientAreaMouseMove , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonPress , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonRelease , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::NonClientAreaMouseButtonDblClick , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::MacSizeChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ContentsRectChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneResize , "hb_QGraphicsSceneResizeEvent" ); + hbqt_events_register_createobj( QEvent::GraphicsSceneMove , "hb_QGraphicsSceneMoveEvent" ); + hbqt_events_register_createobj( QEvent::CursorChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::ToolTipChange , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::GrabMouse , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::UngrabMouse , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::GrabKeyboard , "hb_QEvent" ); + hbqt_events_register_createobj( QEvent::UngrabKeyboard , "hb_QEvent" ); } /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth b/harbour/contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth index c443c9d5a1..63aa0ca080 100644 --- a/harbour/contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth +++ b/harbour/contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth @@ -28,27 +28,6 @@ New = #include #include "hbqt_hbqabstractitemmodel.h" -HBQT_GC_FUNC( hbqt_gcMark_HBQAbstractItemModel ) -{ - HBQT_GC_T_HBQAbstractItemModel * p = ( HBQT_GC_T_HBQAbstractItemModel * ) Cargo; - - HB_TRACE( HB_TR_DEBUG, ( "gcMark_HBQAbstractItemModel" ) ); - if( p ) - { - if( p->ph ) - { - HBQAbstractItemModel * ip = ( HBQAbstractItemModel * ) p->ph; - if( ip ) - { - if( ip->block ) - { - hb_gcMark( ip->block ); - } - } - } - } -} - /* * HBQAbstractItemModel ( ( PHB_ITEM ) hb_param( 1, HB_IT_BLOCK ) ) diff --git a/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth b/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth index ffff3f1b71..2474208a5e 100644 --- a/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth +++ b/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth @@ -22,27 +22,6 @@ New = #include #include "hbqt_hbqgraphicsitem.h" -HBQT_GC_FUNC( hbqt_gcMark_HBQGraphicsItem ) -{ - HBQT_GC_T_HBQGraphicsItem * p = ( HBQT_GC_T_HBQGraphicsItem * ) Cargo; - - HB_TRACE( HB_TR_DEBUG, ( "gcMark_HBQGraphicsItem" ) ); - if( p ) - { - if( p->ph ) - { - HBQGraphicsItem * ip = ( HBQGraphicsItem * ) p->ph; - if( ip ) - { - if (ip->block) - { - hb_gcMark( ip->block ); - } - } - } - } -} - /* * HBQGraphicsItem () * HBQGraphicsItem ( int type ) diff --git a/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth b/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth index ca7b05badd..ed1e6e12aa 100644 --- a/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth +++ b/harbour/contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth @@ -22,25 +22,6 @@ New = #include #include "hbqt_hbqgraphicsscene.h" -HBQT_GC_FUNC( hbqt_gcMark_HBQGraphicsScene ) -{ - HBQT_GC_T_HBQGraphicsScene * p = ( HBQT_GC_T_HBQGraphicsScene * ) Cargo; - - if( p ) - { - if( p->ph ) - { - HBQGraphicsScene * ip = ( HBQGraphicsScene * ) p->ph; - if( ip ) - { - if (ip->block) - { - hb_gcMark( ip->block ); - } - } - } - } -} /* * HBQGraphicsScene () diff --git a/harbour/contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth b/harbour/contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth index eb56421d05..4af48e5ccf 100644 --- a/harbour/contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth +++ b/harbour/contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth @@ -27,25 +27,6 @@ New = #include "hbqt_hbqplaintextedit.h" #include "hbqt_hbqsyntaxhighlighter.h" -HBQT_GC_FUNC( hbqt_gcMark_HBQPlainTextEdit ) -{ - HBQT_GC_T_HBQPlainTextEdit * p = ( HBQT_GC_T_HBQPlainTextEdit * ) Cargo; - - if( p ) - { - if( p->ph ) - { - HBQPlainTextEdit * ip = ( HBQPlainTextEdit * ) p->ph; - if( ip ) - { - if( ip->block ) - { - hb_gcMark( ip->block ); - } - } - } - } -} /* * HBQPlainTextEdit ( QWidget * parent = 0 ) diff --git a/harbour/contrib/hbqt/qtgui/qth/HBQTableView.qth b/harbour/contrib/hbqt/qtgui/qth/HBQTableView.qth index 354c2aa968..191690853f 100644 --- a/harbour/contrib/hbqt/qtgui/qth/HBQTableView.qth +++ b/harbour/contrib/hbqt/qtgui/qth/HBQTableView.qth @@ -28,26 +28,6 @@ New = #include #include "hbqt_hbqtableview.h" -HBQT_GC_FUNC( hbqt_gcMark_HBQTableView ) -{ - HBQT_GC_T_HBQTableView * p = ( HBQT_GC_T_HBQTableView * ) Cargo; - - if( p ) - { - if( p->ph ) - { - HBQTableView * ip = ( HBQTableView * ) p->ph; - if( ip ) - { - if( ip->block ) - { - hb_gcMark( ip->block ); - } - } - } - } -} - /* * HBQTableView ( QWidget * parent = 0 ) diff --git a/harbour/contrib/hbqt/qtgui/qth/QApplication.qth b/harbour/contrib/hbqt/qtgui/qth/QApplication.qth index 0f8ee76926..9d16706948 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QApplication.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QApplication.qth @@ -44,12 +44,7 @@ HB_EXTERN_END HB_FUNC( QT_QAPPLICATION ) { //__HB_RETPTRGC__( ( QApplication * ) __hbqtgui_app() ); - -#ifdef __HBQT_REVAMP__ - hb_itemReturn( hbqt_bindGetHbObject( NULL, ( void * ) __hbqtgui_app(), ( "HB_QAPPLICATION" ), hbqt_del_QApplication, 2 ) ); -#else - hbqt_itemPushReturn( hbqt_gcAllocate_QApplication( (void *) __hbqtgui_app(), false) , hb_stackSelfItem() ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void * ) __hbqtgui_app(), "HB_QAPPLICATION", NULL, HBQT_BIT_QOBJECT ) ); } HB_FUNC( QT_QAPPLICATION_EXECUTE ) diff --git a/harbour/contrib/hbqt/qtgui/qth/QClipboard.qth b/harbour/contrib/hbqt/qtgui/qth/QClipboard.qth index d541b85ac5..ee02c2a570 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QClipboard.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QClipboard.qth @@ -47,11 +47,7 @@ const QMimeData * mimeData ( Mode mode = Clipboard ) const{ QClipboard * p = ( QClipboard * ) hbqt_par_ptr( 0 ); if( p ) { -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( ( QClipboard::Mode ) hb_parni( 1 ) ), ( "HB_QMIMEDATA" ), NULL, 0 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData( ( QClipboard::Mode ) hb_parni( 1 ) ), false ), "hb_QMimeData" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( ( QClipboard::Mode ) hb_parni( 1 ) ), "HB_QMIMEDATA", NULL, HBQT_BIT_NONE ) ); } } bool ownsClipboard () const diff --git a/harbour/contrib/hbqt/qtgui/qth/QDirModel.qth b/harbour/contrib/hbqt/qtgui/qth/QDirModel.qth index 33ee023a8c..ab9e9ab309 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QDirModel.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QDirModel.qth @@ -65,11 +65,7 @@ virtual QMimeData * mimeData ( const QModelIndexList & indexes ) const{ QDirModel * p = ( QDirModel * ) hbqt_par_ptr( 0 ); if( p ) { -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), ( "HB_QMIMEDATA" ), NULL, 0 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), false ), "hb_QMimeData" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), "HB_QMIMEDATA", NULL, HBQT_BIT_NONE ) ); } } virtual QStringList mimeTypes () const diff --git a/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth b/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth index 071d0377b9..e47485b572 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth @@ -59,11 +59,7 @@ const QMimeData * mimeData () const{ QDropEvent * p = ( QDropEvent * ) hbqt_par_ptr( 0 ); if( p ) { -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData(), ( "HB_QMIMEDATA" ), NULL, 0 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData(), false ), "hb_QMimeData" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData(), "HB_QMIMEDATA", NULL, HBQT_BIT_NONE ) ); } } # diff --git a/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth b/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth index 8da7f87862..3a16b1f6b8 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QFileSystemModel.qth @@ -58,11 +58,7 @@ virtual QMimeData * mimeData ( const QModelIndexList & indexes ) const{ QFileSystemModel * p = ( QFileSystemModel * ) hbqt_par_ptr( 0 ); if( p ) { -#ifdef __HBQT_REVAMP__ - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), ( "HB_QMIMEDATA" ), NULL, 0 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), false ), "hb_QMimeData" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData( *hbqt_par_QModelIndexList( 1 ) ), "HB_QMIMEDATA", NULL, HBQT_BIT_NONE ) ); } } virtual QStringList mimeTypes () const diff --git a/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth b/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth index 6873043306..19a2e3d5e4 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth @@ -48,12 +48,7 @@ const QMimeData * mimeData () const{ QGraphicsSceneDragDropEvent * p = ( QGraphicsSceneDragDropEvent * ) hbqt_par_ptr( 0 ); if( p ) { -#ifdef __HBQT_REVAMP__ - //hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData(), hb_dynsymGetSymbol( "HB_QMIMEDATA" ), NULL, 0 ) ); - hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData(), ( "HB_QMIMEDATA" ), NULL, 0 ) ); -#else - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData(), false ), "hb_QMimeData" ); -#endif + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void* ) p->mimeData(), "HB_QMIMEDATA", NULL, HBQT_BIT_NONE ) ); } } Qt::KeyboardModifiers modifiers () const diff --git a/harbour/contrib/hbqt/qtnetwork/hbqt_init.cpp b/harbour/contrib/hbqt/qtnetwork/hbqt_init.cpp index 0ec9a3cb55..abd069525a 100644 --- a/harbour/contrib/hbqt/qtnetwork/hbqt_init.cpp +++ b/harbour/contrib/hbqt/qtnetwork/hbqt_init.cpp @@ -58,6 +58,7 @@ #include "hbqtinit.h" #include "hbvm.h" +#include "hbapiitm.h" #include "hbinit.h" #if QT_VERSION >= 0x040500 @@ -68,11 +69,13 @@ #include HB_EXTERN_BEGIN -extern void * hbqt_gcAllocate_QObject( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QHttpResponseHeader( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QNetworkRequest( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QNetworkProxy( void * pObj, bool bNew ); -extern void * hbqt_gcAllocate_QUrlInfo( void * pObj, bool bNew ); + +extern void hbqt_del_QObject( void * pObj, int iFlags ); +extern void hbqt_del_QHttpResponseHeader( void * pObj, int iFlags ); +extern void hbqt_del_QNetworkRequest( void * pObj, int iFlags ); +extern void hbqt_del_QNetworkProxy( void * pObj, int iFlags ); +extern void hbqt_del_QUrlInfo( void * pObj, int iFlags ); + HB_EXTERN_END /*----------------------------------------------------------------------*/ @@ -83,8 +86,10 @@ static void hbqt_SlotsExecQHttpResponseHeader( PHB_ITEM * codeBlock, void ** arg hb_vmPushEvalSym(); hb_vmPush( codeBlock ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QHttpResponseHeader( new QHttpResponseHeader( ( *reinterpret_cast< QHttpResponseHeader( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QHttpResponseHeader" ) ); + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QHttpResponseHeader( ( *reinterpret_cast< QHttpResponseHeader( * ) >( arguments[ 1 ] ) ) ), "HB_QHTTPRESPONSEHEADER", hbqt_del_QHttpResponseHeader, HBQT_BIT_OWNER ); + hb_vmPush( p0 ); hb_vmSend( 1 ); + hb_itemRelease( p0 ); } static void hbqt_SlotsExecQNetworkProxyPointer( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -93,9 +98,13 @@ static void hbqt_SlotsExecQNetworkProxyPointer( PHB_ITEM * codeBlock, void ** ar hb_vmPushEvalSym(); hb_vmPush( codeBlock ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QNetworkProxy( new QNetworkProxy( ( *reinterpret_cast< QNetworkProxy( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QNetworkProxy" ) ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QObject( ( *reinterpret_cast< void*( * ) >( arguments[ 2 ] ) ), false ), ( const char * ) pList.at( 1 ).data() ) ); + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QNetworkProxy( ( *reinterpret_cast< QNetworkProxy( * ) >( arguments[ 1 ] ) ) ), "HB_QNETWORKPROXY", hbqt_del_QNetworkProxy, HBQT_BIT_OWNER ); + PHB_ITEM p1 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 2 ] ), ( const char * ) pList.at( 1 ).data(), NULL, HBQT_BIT_QOBJECT ); + hb_vmPush( p0 ); + hb_vmPush( p1 ); hb_vmSend( 2 ); + hb_itemRelease( p0 ); + hb_itemRelease( p1 ); } static void hbqt_SlotsExecQNetworkRequest( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -104,8 +113,10 @@ static void hbqt_SlotsExecQNetworkRequest( PHB_ITEM * codeBlock, void ** argumen hb_vmPushEvalSym(); hb_vmPush( codeBlock ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QNetworkRequest( new QNetworkRequest( ( *reinterpret_cast< QNetworkRequest( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QNetworkRequest" ) ); + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QNetworkRequest( ( *reinterpret_cast< QNetworkRequest( * ) >( arguments[ 1 ] ) ) ), "HB_QNETWORKREQUEST", hbqt_del_QNetworkRequest, HBQT_BIT_OWNER ); + hb_vmPush( p0 ); hb_vmSend( 1 ); + hb_itemRelease( p0 ); } static void hbqt_SlotsExecQUrlInfo( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) @@ -114,8 +125,10 @@ static void hbqt_SlotsExecQUrlInfo( PHB_ITEM * codeBlock, void ** arguments, QSt hb_vmPushEvalSym(); hb_vmPush( codeBlock ); - hb_vmPush( hbqt_create_objectGC( hbqt_gcAllocate_QUrlInfo( new QUrlInfo( ( *reinterpret_cast< QUrlInfo( * ) >( arguments[ 1 ] ) ) ), true ), "hb_QUrlInfo" ) ); + PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QUrlInfo( ( *reinterpret_cast< QUrlInfo( * ) >( arguments[ 1 ] ) ) ), "HB_QURLINFO", hbqt_del_QUrlInfo, HBQT_BIT_OWNER ); + hb_vmPush( p0 ); hb_vmSend( 1 ); + hb_itemRelease( p0 ); } /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/tests/draggable.prg b/harbour/contrib/hbqt/tests/draggable.prg index b8aafdbf9c..5c7f7ec012 100644 --- a/harbour/contrib/hbqt/tests/draggable.prg +++ b/harbour/contrib/hbqt/tests/draggable.prg @@ -42,6 +42,12 @@ PROCEDURE Main() oWid:show() QApplication():exec() + oWid:disconnect( QEvent_MouseButtonPress , {| oMouseEvent | WinDrag( oMouseEvent, oWid ) } ) + oWid:disconnect( QEvent_MouseButtonRelease, {| oMouseEvent | WinDrag( oMouseEvent, oWid ) } ) + oWid:disconnect( QEvent_MouseMove, {| oMouseEvent | WinDrag( oMouseEvent, oWid ) } ) + + oWid:disconnect( QEvent_MouseButtonDblClick, {|| oWid:close() } ) + RETURN PROCEDURE WinDrag( oMouseEvent, oWid ) diff --git a/harbour/contrib/hbxbp/xbpbrowse.prg b/harbour/contrib/hbxbp/xbpbrowse.prg index a0bdf70818..d578c3e99b 100644 --- a/harbour/contrib/hbxbp/xbpbrowse.prg +++ b/harbour/contrib/hbxbp/xbpbrowse.prg @@ -971,7 +971,7 @@ METHOD XbpBrowse:manageFrameResized() /*----------------------------------------------------------------------*/ METHOD XbpBrowse:manageCommitData( qWidget ) - LOCAL cTxt := hbqt_promoteWidget( qWidget, "QLineEdit" ):text() + LOCAL cTxt := qWidget:property( "text" ):toString() LOCAL oCol := ::columns[ ::colPos ] LOCAL cTyp := valtype( eval( oCol:block ) )