2012-06-14 00:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Enabled: by default to clear all items in the global list.
This has fixed GPF on exit under certain situations.
DemoQt.prg is now fully functional even with multiple
dialogs open at once.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
+ Added: protection against HVM is active or not.
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/qth/QApplication.qth
- Removed: unnecessary code written at early days.
* contrib/hbxbp/xbplistbox.prg
- Commented out: few signals not being used.
This commit is contained in:
@@ -16,6 +16,24 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-06-14 00:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/qtcore/hbqt_bind.cpp
|
||||
+ Enabled: by default to clear all items in the global list.
|
||||
This has fixed GPF on exit under certain situations.
|
||||
DemoQt.prg is now fully functional even with multiple
|
||||
dialogs open at once.
|
||||
|
||||
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
|
||||
+ Added: protection against HVM is active or not.
|
||||
|
||||
* contrib/hbqt/qtgui/hbqt_init.cpp
|
||||
|
||||
* contrib/hbqt/qtgui/qth/QApplication.qth
|
||||
- Removed: unnecessary code written at early days.
|
||||
|
||||
* contrib/hbxbp/xbplistbox.prg
|
||||
- Commented out: few signals not being used.
|
||||
|
||||
2012-06-13 21:03 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/tests/dbfbrowser.prg
|
||||
* contrib/hbqt/tests/dbfbrowserclass.prg
|
||||
|
||||
@@ -90,7 +90,7 @@ HBQT_BIND, * PHBQT_BIND;
|
||||
#define HBQT_BIND_LOCK do {
|
||||
#define HBQT_BIND_UNLOCK } while( 0 );
|
||||
|
||||
// #define HBQT_FORCE_RELEASE_GLL
|
||||
#define HBQT_FORCE_RELEASE_GLL
|
||||
|
||||
void hbqt_bindDelSlots( PHB_ITEM pSenderObject );
|
||||
void hbqt_bindDelEvents( PHB_ITEM pSenderObject );
|
||||
@@ -130,38 +130,36 @@ static void hbqt_bind_exit( void* cargo )
|
||||
HB_SYMBOL_UNUSED( cargo );
|
||||
|
||||
PHBQT_BIND bind;
|
||||
|
||||
QList<PHB_ITEM> deleteIt;
|
||||
|
||||
HBQT_BIND_LOCK
|
||||
|
||||
bind = s_hbqt_binds;
|
||||
while ( bind )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Item on GLL %p %s", bind->qtObject, bind->szClassName ) );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Item on GList %p %s", bind->qtObject, bind->szClassName ) );
|
||||
deleteIt << bind->hbObject;
|
||||
|
||||
bind = bind->next;
|
||||
}
|
||||
HBQT_BIND_UNLOCK
|
||||
#ifdef HBQT_FORCE_RELEASE_GLL
|
||||
|
||||
#ifdef HBQT_FORCE_RELEASE_GLL
|
||||
HB_TRACE( HB_TR_DEBUG, ( "onExit before" ) );
|
||||
while( ! deleteIt.isEmpty() )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "onExit check" ) );
|
||||
int i = deleteIt.size() - 1;
|
||||
/* check to see if PHB_ITEM is still in GLL */
|
||||
if( hbqt_bindIsHbObject( ( PHB_ITEM ) deleteIt.at( i ) ) )
|
||||
|
||||
if( hbqt_bindIsHbObject( ( PHB_ITEM ) deleteIt.at( 0 ) ) )
|
||||
{
|
||||
hbqt_bindDestroyHbObject( hb_arrayFromId( NULL, deleteIt.at( 0 ) ) );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "onExit itemRelease" ) );
|
||||
hb_itemRelease( ( PHB_ITEM ) deleteIt.at( i ) );
|
||||
hb_itemRelease( ( PHB_ITEM ) deleteIt.at( 0 ) );
|
||||
}
|
||||
deleteIt.removeAt( i );
|
||||
deleteIt.removeAt( 0 );
|
||||
}
|
||||
HB_TRACE( HB_TR_DEBUG, ( "onExit after" ) );
|
||||
#endif
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Exiting with %d items on GLL", __hbqt_bindItemsInGlobalList() ) );
|
||||
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Exiting with %d items on GList", __hbqt_bindItemsInGlobalList() ) );
|
||||
}
|
||||
|
||||
PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags )
|
||||
@@ -423,6 +421,7 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject )
|
||||
else
|
||||
fDelQtObject = true;
|
||||
}
|
||||
|
||||
HB_TRACE( HB_TR_DEBUG, ( "..............HARBOUR_DESTROY_BEGINS( %p, %i ).............. %s", bind->qtObject, bind->iFlags, bind->szClassName ) );
|
||||
* bind_ptr = bind->next;
|
||||
if( fDelQtObject )
|
||||
@@ -430,9 +429,14 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject )
|
||||
if( bind->pDelFunc != NULL )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( ".......HARBOUR_DESTROYING_ACTUAL_QT_OBJECT( %p, %i ).............. %s", bind->qtObject, bind->iFlags, bind->szClassName ) );
|
||||
bind->fDeleting = true;
|
||||
bind->pDelFunc( bind->qtObject, bind->iFlags );
|
||||
bind->fDeleting = false;
|
||||
if( hb_vmRequestReenter() )
|
||||
{
|
||||
bind->fDeleting = true;
|
||||
bind->pDelFunc( bind->qtObject, bind->iFlags );
|
||||
bind->fDeleting = false;
|
||||
|
||||
hb_vmRequestRestore();
|
||||
}
|
||||
}
|
||||
}
|
||||
hb_xfree( bind );
|
||||
@@ -448,27 +452,31 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject )
|
||||
void hbqt_bindDestroyQtObject( void * qtObject )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "....................................QT_DESTROY_BEGINS( %p )..............", qtObject ) );
|
||||
|
||||
PHBQT_BIND * bind_ptr, bind;
|
||||
|
||||
HBQT_BIND_LOCK
|
||||
bind_ptr = &s_hbqt_binds;
|
||||
while( ( bind = * bind_ptr ) != NULL )
|
||||
if( hb_vmRequestReenter() )
|
||||
{
|
||||
if( bind->qtObject == qtObject )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "........................QT_DESTROYING( %p ).....%s ... fDeleting=%s", qtObject, bind->szClassName, bind->fDeleting ? "YES" : "NO" ) );
|
||||
PHBQT_BIND * bind_ptr, bind;
|
||||
|
||||
* bind_ptr = bind->next;
|
||||
if( ! bind->fDeleting )
|
||||
HBQT_BIND_LOCK
|
||||
bind_ptr = &s_hbqt_binds;
|
||||
while( ( bind = * bind_ptr ) != NULL )
|
||||
{
|
||||
if( bind->qtObject == qtObject )
|
||||
{
|
||||
hb_xfree( bind );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "........................QT_DESTROYING( %p ).....%s ... fDeleting=%s", qtObject, bind->szClassName, bind->fDeleting ? "YES" : "NO" ) );
|
||||
|
||||
* bind_ptr = bind->next;
|
||||
if( ! bind->fDeleting )
|
||||
{
|
||||
hb_xfree( bind );
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
bind_ptr = &bind->next;
|
||||
}
|
||||
bind_ptr = &bind->next;
|
||||
HBQT_BIND_UNLOCK
|
||||
|
||||
hb_vmRequestRestore();
|
||||
}
|
||||
HBQT_BIND_UNLOCK
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -164,30 +164,36 @@ bool HBQEvents::eventFilter( QObject * object, QEvent * event )
|
||||
{
|
||||
bool stopTheEventChain = false;
|
||||
|
||||
if( object )
|
||||
if( hb_vmRequestReenter() )
|
||||
{
|
||||
QEvent::Type eventtype = event->type();
|
||||
if( ( int ) eventtype > 0 )
|
||||
if( object )
|
||||
{
|
||||
int eventId = s_lstEvent.indexOf( eventtype );
|
||||
QEvent::Type eventtype = event->type();
|
||||
if( ( int ) eventtype > 0 )
|
||||
{
|
||||
int eventId = s_lstEvent.indexOf( eventtype );
|
||||
|
||||
if( eventId > -1 && hb_vmRequestReenter() )
|
||||
{
|
||||
PHB_ITEM pArray = hbqt_bindGetEvents( hbqt_bindGetHbObjectByQtObject( object ), eventtype );
|
||||
if( pArray )
|
||||
if( eventId > -1 )
|
||||
{
|
||||
PHB_ITEM pItem = hbqt_bindGetHbObject( NULL, ( void * ) event, ( s_lstCreateObj.at( eventId ) ), NULL, HBQT_BIT_NONE );
|
||||
stopTheEventChain = ( bool ) hb_itemGetL( hb_vmEvalBlockV( hb_arrayGetItemPtr( pArray, 1 ), 1, pItem ) );
|
||||
hb_itemRelease( pItem );
|
||||
hb_itemRelease( pArray );
|
||||
PHB_ITEM pArray = hbqt_bindGetEvents( hbqt_bindGetHbObjectByQtObject( object ), eventtype );
|
||||
if( pArray )
|
||||
{
|
||||
if( hb_vmRequestQuery() == 0 )
|
||||
{
|
||||
PHB_ITEM pItem = hbqt_bindGetHbObject( NULL, ( void * ) event, ( s_lstCreateObj.at( eventId ) ), NULL, HBQT_BIT_NONE );
|
||||
stopTheEventChain = ( bool ) hb_itemGetL( hb_vmEvalBlockV( hb_arrayGetItemPtr( pArray, 1 ), 1, pItem ) );
|
||||
hb_itemRelease( pItem );
|
||||
hb_itemRelease( pArray );
|
||||
}
|
||||
}
|
||||
}
|
||||
if( eventtype == QEvent::Close )
|
||||
{
|
||||
stopTheEventChain = true;
|
||||
}
|
||||
hb_vmRequestRestore();
|
||||
}
|
||||
if( eventtype == QEvent::Close )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
hb_vmRequestRestore();
|
||||
}
|
||||
return stopTheEventChain;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ extern void hbqt_del_QTreeWidgetItem( void * pObj, int iFlags );
|
||||
extern void hbqt_del_QTableWidgetItem( void * pObj, int iFlags );
|
||||
extern void hbqt_del_QWidget( void * pObj, int iFlags );
|
||||
extern void hbqt_del_QRect( void * pObj, int iFlags );
|
||||
//
|
||||
//
|
||||
extern void hbqt_del_QActionEvent( void * pObj, int iFlags );
|
||||
extern void hbqt_del_QContextMenuEvent( void * pObj, int iFlags );
|
||||
extern void hbqt_del_QDragEnterEvent( void * pObj, int iFlags );
|
||||
@@ -146,7 +146,7 @@ static void hbqt_SlotsExecQColor( PHB_ITEM * codeBlock, void ** arguments, QStri
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QColor( ( *reinterpret_cast< QColor( * ) >( arguments[ 1 ] ) ) ), "HB_QCOLOR", hbqt_del_QColor, HBQT_BIT_OWNER );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QColor( ( *reinterpret_cast< QColor( * ) >( arguments[ 1 ] ) ) ), "HB_QCOLOR", hbqt_del_QColor, HBQT_BIT_OWNER );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -158,7 +158,7 @@ static void hbqt_SlotsExecItemSelItemSel( PHB_ITEM * codeBlock, void ** argument
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QItemSelection( ( *reinterpret_cast< QItemSelection( * ) >( arguments[ 1 ] ) ) ), "HB_QITEMSELECTION", hbqt_del_QObject, HBQT_BIT_OWNER );
|
||||
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 );
|
||||
@@ -185,7 +185,7 @@ static void hbqt_SlotsExecQFont( PHB_ITEM * codeBlock, void ** arguments, QStrin
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QFont( ( *reinterpret_cast< QFont( * ) >( arguments[ 1 ] ) ) ), "HB_QFONT", hbqt_del_QFont, HBQT_BIT_OWNER );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QFont( ( *reinterpret_cast< QFont( * ) >( arguments[ 1 ] ) ) ), "HB_QFONT", hbqt_del_QFont, HBQT_BIT_OWNER );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -209,7 +209,7 @@ static void hbqt_SlotsExecQTextBlock( PHB_ITEM * codeBlock, void ** arguments, Q
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTextBlock( ( *reinterpret_cast< QTextBlock( * ) >( arguments[ 1 ] ) ) ), "HB_QTEXTBLOCK", hbqt_del_QTextBlock, HBQT_BIT_OWNER );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QTextBlock( ( *reinterpret_cast< QTextBlock( * ) >( arguments[ 1 ] ) ) ), "HB_QTEXTBLOCK", hbqt_del_QTextBlock, HBQT_BIT_OWNER );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -221,7 +221,7 @@ static void hbqt_SlotsExecQAbstractButton( PHB_ITEM * codeBlock, void ** argumen
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QWidget( ( QAbstractButton * ) ( arguments[ 1 ] ) ), "HB_QABSTRACTBUTTON", hbqt_del_QWidget, HBQT_BIT_OWNER | HBQT_BIT_QOBJECT );
|
||||
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 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -233,7 +233,7 @@ static void hbqt_SlotsExecQAction( PHB_ITEM * codeBlock, void ** arguments, QStr
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QAction( ( QAction * ) ( arguments[ 1 ] ) ), "HB_QACTION", hbqt_del_QAction, HBQT_BIT_OWNER | HBQT_BIT_QOBJECT );
|
||||
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 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -257,7 +257,7 @@ static void hbqt_SlotsExecQTreeWidgetItem( PHB_ITEM * codeBlock, void ** argumen
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -269,7 +269,7 @@ static void hbqt_SlotsExecQTreeWidgetItemInt( PHB_ITEM * codeBlock, void ** argu
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) );
|
||||
hb_vmSend( 2 );
|
||||
@@ -282,7 +282,7 @@ static void hbqt_SlotsExecQPrinter( PHB_ITEM * codeBlock, void ** arguments, QSt
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QPRINTER", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QPRINTER", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -294,7 +294,7 @@ static void hbqt_SlotsExecQStandardItem( PHB_ITEM * codeBlock, void ** arguments
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QSTANDARDITEM", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QSTANDARDITEM", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -306,7 +306,7 @@ static void hbqt_SlotsExecQListWidgetItem( PHB_ITEM * codeBlock, void ** argumen
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QLISTWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QLISTWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -318,8 +318,8 @@ static void hbqt_SlotsExecQListWidgetItemQListWidgetItem( PHB_ITEM * codeBlock,
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
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 );
|
||||
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 );
|
||||
hb_vmSend( 2 );
|
||||
@@ -333,7 +333,7 @@ static void hbqt_SlotsExecQTableWidgetItem( PHB_ITEM * codeBlock, void ** argume
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTABLEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTABLEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -345,8 +345,8 @@ static void hbqt_SlotsExecQTableWidgetItemQTableWidgetItem( PHB_ITEM * codeBlock
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
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 );
|
||||
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 );
|
||||
hb_vmSend( 2 );
|
||||
@@ -360,7 +360,7 @@ static void hbqt_SlotsExecQTreeWidgetItemQTreeWidgetItem( PHB_ITEM * codeBlock,
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QTREEWIDGETITEM", NULL, HBQT_BIT_NONE );
|
||||
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 );
|
||||
@@ -375,7 +375,7 @@ static void hbqt_SlotsExecQWidget( PHB_ITEM * codeBlock, void ** arguments, QStr
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemRelease( p0 );
|
||||
@@ -387,7 +387,7 @@ static void hbqt_SlotsExecQWidgetQWidget( PHB_ITEM * codeBlock, void ** argument
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT );
|
||||
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 );
|
||||
@@ -402,7 +402,7 @@ static void hbqt_SlotsExecQWidgetInt( PHB_ITEM * codeBlock, void ** arguments, Q
|
||||
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, *reinterpret_cast< void*( * ) >( arguments[ 1 ] ) , "HB_QWIDGET", NULL, HBQT_BIT_QOBJECT );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) );
|
||||
hb_vmSend( 2 );
|
||||
@@ -414,7 +414,7 @@ static void hbqt_SlotsExecQRectInt( PHB_ITEM * codeBlock, void ** arguments, QSt
|
||||
Q_UNUSED( pList );
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( codeBlock );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), "HB_QRECT", hbqt_del_QRect, HBQT_BIT_OWNER );
|
||||
PHB_ITEM p0 = hbqt_bindGetHbObject( NULL, new QRect( ( *reinterpret_cast< QRect( * ) >( arguments[ 1 ] ) ) ), "HB_QRECT", hbqt_del_QRect, HBQT_BIT_OWNER );
|
||||
hb_vmPush( p0 );
|
||||
hb_vmPushInteger( *reinterpret_cast< int( * ) >( arguments[ 2 ] ) );
|
||||
hb_vmSend( 2 );
|
||||
@@ -712,6 +712,7 @@ static void hbqt_lib_exit( void * cargo )
|
||||
HB_SYMBOL_UNUSED( cargo );
|
||||
fIsQuitting = HB_TRUE;
|
||||
s_app->exit( 0 );
|
||||
delete s_app;
|
||||
}
|
||||
|
||||
HB_FUNC( HBQT_ISACTIVEAPPLICATION )
|
||||
|
||||
@@ -43,19 +43,8 @@ HB_EXTERN_END
|
||||
|
||||
HB_FUNC( QT_QAPPLICATION )
|
||||
{
|
||||
//__HB_RETPTRGC__( ( QApplication * ) __hbqtgui_app() );
|
||||
hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, ( void * ) __hbqtgui_app(), "HB_QAPPLICATION", NULL, HBQT_BIT_QOBJECT ) );
|
||||
}
|
||||
|
||||
HB_FUNC( QT_QAPPLICATION_EXECUTE )
|
||||
{
|
||||
hb_retni( __hbqtgui_app()->exec() );
|
||||
}
|
||||
|
||||
HB_FUNC( QT_QAPPLICATION_QUIT )
|
||||
{
|
||||
__hbqtgui_app()->quit();
|
||||
}
|
||||
</CODE>
|
||||
|
||||
<ENUMS>
|
||||
|
||||
@@ -192,41 +192,39 @@ METHOD XbpListBox:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
METHOD XbpListBox:connect()
|
||||
|
||||
// ::oWidget:connect( QEvent_ContextMenu, {|e| ::grabEvent( QEvent_ContextMenu, e ) } )
|
||||
|
||||
::oWidget:connect( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)", {|p,p1| ::execSlot( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)", p, p1 ) } )
|
||||
::oWidget:connect( "currentRowChanged(int)" , {|p,p1| ::execSlot( "currentRowChanged(int)" , p, p1 ) } )
|
||||
::oWidget:connect( "currentTextChanged(QString)" , {|p,p1| ::execSlot( "currentTextChanged(QString)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemActivated(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemActivated(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemChanged(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemChanged(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemClicked(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemClicked(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemDoubleClicked(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemDoubleClicked(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemEntered(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemEntered(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "customContextMenuRequested(QPoint)" , {|p1 | ::execSlot( "customContextMenuRequested(QPoint)" , p1 ) } )
|
||||
/*
|
||||
::oWidget:connect( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)", {|p,p1| ::execSlot( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)", p, p1 ) } )
|
||||
::oWidget:connect( "currentTextChanged(QString)" , {|p,p1| ::execSlot( "currentTextChanged(QString)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemActivated(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemActivated(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemChanged(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemChanged(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemPressed(QListWidgetItem*)" , {|p,p1| ::execSlot( "itemPressed(QListWidgetItem*)" , p, p1 ) } )
|
||||
::oWidget:connect( "itemSelectionChanged()" , {|p,p1| ::execSlot( "itemSelectionChanged()" , p, p1 ) } )
|
||||
|
||||
::oWidget:connect( "customContextMenuRequested(QPoint)" , {|p1 | ::execSlot( "customContextMenuRequested(QPoint)" , p1 ) } )
|
||||
|
||||
*/
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:disConnect()
|
||||
|
||||
// ::oWidget:disconnect( QEvent_ContextMenu )
|
||||
|
||||
::oWidget:disConnect( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "currentRowChanged(int)" )
|
||||
::oWidget:disConnect( "currentTextChanged(QString)" )
|
||||
::oWidget:disConnect( "itemActivated(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemChanged(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemClicked(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemDoubleClicked(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemEntered(QListWidgetItem*)" )
|
||||
::oWidget:disconnect( "customContextMenuRequested(QPoint)" )
|
||||
|
||||
/*
|
||||
::oWidget:disConnect( "currentItemChanged(QListWidgetItem*,QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "currentTextChanged(QString)" )
|
||||
::oWidget:disConnect( "itemActivated(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemChanged(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemPressed(QListWidgetItem*)" )
|
||||
::oWidget:disConnect( "itemSelectionChanged()" )
|
||||
|
||||
::oWidget:disconnect( "customContextMenuRequested(QPoint)" )
|
||||
*/
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -257,6 +255,7 @@ METHOD XbpListBox:getItemIndex( pItm )
|
||||
|
||||
METHOD XbpListBox:execSlot( cSlot, p )
|
||||
LOCAL qPos, qItm, nIndex, n, qPt
|
||||
HB_TRACE( HB_TR_ALWAYS, "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" )
|
||||
|
||||
IF cSlot == "customContextMenuRequested(QPoint)"
|
||||
IF HB_ISBLOCK( ::hb_contextMenu )
|
||||
@@ -285,8 +284,11 @@ METHOD XbpListBox:execSlot( cSlot, p )
|
||||
::nCurSelected := p + 1
|
||||
EXIT
|
||||
CASE "itemClicked(QListWidgetItem*)"
|
||||
HB_TRACE( HB_TR_ALWAYS, "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" )
|
||||
::toggleSelected( nIndex )
|
||||
HB_TRACE( HB_TR_ALWAYS, "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" )
|
||||
::itemMarked()
|
||||
HB_TRACE( HB_TR_ALWAYS, "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" )
|
||||
EXIT
|
||||
CASE "itemDoubleClicked(QListWidgetItem*)"
|
||||
::itemSelected()
|
||||
|
||||
Reference in New Issue
Block a user