2011-02-27 12:19 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbqt/qtcore/hbqt.h
    + Added HBQT_SLOT_CALLBACK_OBJ_1() macro to easily create
      slot callbacks passing 1 object.
    ; TODO: Use it.
This commit is contained in:
Viktor Szakats
2011-02-27 11:20:52 +00:00
parent 0d3abd6bdd
commit 740f28325a
2 changed files with 18 additions and 5 deletions

View File

@@ -16,14 +16,16 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-02-27 12:19 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt.h
+ Added HBQT_SLOT_CALLBACK_OBJ_1() macro to easily create
slot callbacks passing 1 object.
; TODO: Use it.
2011-02-27 11:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! Patch from Francesco.
2011-02-27 11:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* examples/hbqt_tut/win11.prg
% Optimized to use embedded .ui. Noted by Rafal.
2011-02-27 11:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
@@ -164,7 +166,7 @@
which means _ALL_ HBQT apps now require to pull and link
every existing QT symbols to work reliably, which is
unacceptable for all apps (except HBIDE which pulls all
these anyway)
these anyway) [DONE]
We should move to full C++ wrappers to solve this
cleanly.
; TOFIX: Clean code to never use the unsafe hbqt_create_objectFromEventType(). [DONE]

View File

@@ -111,4 +111,15 @@ HB_EXTERN_END
#define hbqt_par_Bool( n ) ( hb_parl( n ) )
#define hbqt_par_char( n ) ( hb_parcx( n ) )
#define HBQT_SLOT_CALLBACK_OBJ_1( _name_ ) \
static void hbqt_SlotsExec##_name_( PHB_ITEM * codeBlock, void ** arguments, QStringList pList ) \
{ \
Q_UNUSED( pList ); \
\
hb_vmPushEvalSym(); \
hb_vmPush( codeBlock ); \
hb_vmPush( hbqt_create_object( hbqt_gcAllocate_##_name_( new _name_( ( *reinterpret_cast< _name_( * ) >( arguments[ 1 ] ) ) ), true ), HB_MACRO2STRING( _name_ ) ) ); \
hb_vmSend( 1 ); \
}
#endif /* __HBQT_H */