From bd69c68625d2e98557779ac6613a9760403d4948 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 13 Jun 2009 18:44:56 +0000 Subject: [PATCH] 2009-06-13 20:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) - contrib/hbxbp/hbqt.ch * contrib/hbqt/Makefile + contrib/hbqt/hbqt.ch * Moved hbqt.ch under hbqt library. * contrib/hbxbp/Makefile - contrib/hbxbp/apigeneric.cpp + contrib/hbxbp/xbp_temp.prg ! Converted stub functions from C++ to .prg code. Functionality unchanged. ! This also fixed reference in old .cpp file, so now hbxbp can be built on non-Windows systems. * contrib/hbwin/wapi_winbase.c + Added new API wrapper: WAPI_OUTPUTDEBUGSTRING() NOTE: If "outdebug" functionality is needed temporarly to debug any Harbour code, above call can be used and it's enough to add hbwin to the liblist. It's very important however, to only enable these calls in _local Windows environment_, firstly to not create any Windows dependence for portable libs, secondly to not create an unwanted hbwin lib dependence even on Windows-only libs. I suggest using something like this: --- #if defined( __HB_OUTDEBUG__ ) #xtranslate HB_OUTDEBUG( [] ) => WAPI_OUTPUTDEBUGSTRING( ) #else #xtranslate HB_OUTDEBUG( [] ) => #endif [...] HB_OUTDEBUG( "my Windows-only trace call" ) --- And simply use 'set HB_USER_PRGFLAGS=-D__HB_OUTDEBUG__' in local Windows environment to enable it. Probably similar can be added for .c level. ****************************************************** Anyhow, I'd *strongly* suggest to use portable tracing techniques like our existing HB_TRACE(). ****************************************************** --- harbour/ChangeLog | 45 +++- harbour/contrib/hbqt/Makefile | 3 + harbour/contrib/{hbxbp => hbqt}/hbqt.ch | 0 harbour/contrib/hbwin/wapi_winbase.c | 10 + harbour/contrib/hbxbp/Makefile | 4 +- .../hbxbp/{apigeneric.cpp => xbp_temp.prg} | 248 +++--------------- 6 files changed, 100 insertions(+), 210 deletions(-) rename harbour/contrib/{hbxbp => hbqt}/hbqt.ch (100%) rename harbour/contrib/hbxbp/{apigeneric.cpp => xbp_temp.prg} (66%) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ad580535c1..c4c40c76c7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,49 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-06-13 20:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + - contrib/hbxbp/hbqt.ch + * contrib/hbqt/Makefile + + contrib/hbqt/hbqt.ch + * Moved hbqt.ch under hbqt library. + + * contrib/hbxbp/Makefile + - contrib/hbxbp/apigeneric.cpp + + contrib/hbxbp/xbp_temp.prg + ! Converted stub functions from C++ to .prg code. + Functionality unchanged. + ! This also fixed reference in old .cpp file, + so now hbxbp can be built on non-Windows systems. + + * contrib/hbwin/wapi_winbase.c + + Added new API wrapper: + WAPI_OUTPUTDEBUGSTRING() + NOTE: If "outdebug" functionality is needed temporarly + to debug any Harbour code, above call can be used + and it's enough to add hbwin to the liblist. It's + very important however, to only enable these calls + in _local Windows environment_, firstly to not create + any Windows dependence for portable libs, secondly + to not create an unwanted hbwin lib dependence + even on Windows-only libs. + I suggest using something like this: + --- + #if defined( __HB_OUTDEBUG__ ) + #xtranslate HB_OUTDEBUG( [] ) => WAPI_OUTPUTDEBUGSTRING( ) + #else + #xtranslate HB_OUTDEBUG( [] ) => + #endif + [...] + HB_OUTDEBUG( "my Windows-only trace call" ) + --- + And simply use 'set HB_USER_PRGFLAGS=-D__HB_OUTDEBUG__' + in local Windows environment to enable it. + Probably similar can be added for .c level. + ****************************************************** + Anyhow, I'd *strongly* suggest to use portable tracing + techniques like our existing HB_TRACE(). + ****************************************************** + 2009-06-13 13:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/achoice.prg ! Partially reverted this commit: @@ -288,7 +331,7 @@ * contrib/hbxbp/appevent.ch ! SVN header. - ; TOFIX: There is a windows.h reference in apigeneric.cpp. + ; TOFIX: There is a windows.h reference in apigeneric.cpp. [DONE] 2009-06-11 00:51 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + harbour/contrib/hbxbp diff --git a/harbour/contrib/hbqt/Makefile b/harbour/contrib/hbqt/Makefile index 8833fe1ec1..eb14729492 100644 --- a/harbour/contrib/hbqt/Makefile +++ b/harbour/contrib/hbqt/Makefile @@ -68,6 +68,9 @@ endif include $(TOP)$(ROOT)contrib/hbqt/Makefile_gen +PRG_HEADERS=\ + hbqt.ch \ + include $(TOP)$(ROOT)config/header.cf INSTALL_RULE_HEADERS := $(INSTALL_RULE) include $(TOP)$(ROOT)config/lib.cf diff --git a/harbour/contrib/hbxbp/hbqt.ch b/harbour/contrib/hbqt/hbqt.ch similarity index 100% rename from harbour/contrib/hbxbp/hbqt.ch rename to harbour/contrib/hbqt/hbqt.ch diff --git a/harbour/contrib/hbwin/wapi_winbase.c b/harbour/contrib/hbwin/wapi_winbase.c index 617ee0c3d4..e611452807 100644 --- a/harbour/contrib/hbwin/wapi_winbase.c +++ b/harbour/contrib/hbwin/wapi_winbase.c @@ -150,3 +150,13 @@ HB_FUNC( WAPI_SLEEP ) { Sleep( ( DWORD ) hb_parnl( 1 ) ); } + +HB_FUNC( WAPI_OUTPUTDEBUGSTRING ) +{ + LPTSTR lpOutputString = ISCHAR( 1 ) ? ( LPTSTR ) HB_TCHAR_CONVTO( hb_parc( 1 ) ) : ( LPTSTR ) NULL; + + OutputDebugString( lpOutputString ); + + if( lpOutputString ) + HB_TCHAR_FREE( lpOutputString ); +} diff --git a/harbour/contrib/hbxbp/Makefile b/harbour/contrib/hbxbp/Makefile index 0647ff0052..7df3d72a17 100644 --- a/harbour/contrib/hbxbp/Makefile +++ b/harbour/contrib/hbxbp/Makefile @@ -38,10 +38,8 @@ endif ifeq ($(HB_WITH_QT),yes) -CPP_SOURCES=\ - apigeneric.cpp \ - PRG_SOURCES=\ + xbp_temp.prg \ xbpgeneric.prg \ xbpdialog.prg \ xbpwindow.prg \ diff --git a/harbour/contrib/hbxbp/apigeneric.cpp b/harbour/contrib/hbxbp/xbp_temp.prg similarity index 66% rename from harbour/contrib/hbxbp/apigeneric.cpp rename to harbour/contrib/hbxbp/xbp_temp.prg index dab87843e7..a23c49784e 100644 --- a/harbour/contrib/hbxbp/apigeneric.cpp +++ b/harbour/contrib/hbxbp/xbp_temp.prg @@ -49,6 +49,7 @@ * If you do not wish that, delete this exception notice. * */ + /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ @@ -63,217 +64,52 @@ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ -#include -#include "hbapi.h" - /*----------------------------------------------------------------------*/ -HB_FUNC( QTC_SHOWWINDOW ) -{ - -} - -HB_FUNC( QTC_ISICONIC ) -{ - -} - -HB_FUNC( QTC_ISWINDOW ) -{ - -} - -HB_FUNC( QTC_DESTROYWINDOW ) -{ - -} - -HB_FUNC( QTC_GETWINDOWRECT ) -{ - -} - -HB_FUNC( QTC_GETCLIENTRECT ) -{ - -} - -HB_FUNC( QTC_ENABLEWINDOW ) -{ - -} - -HB_FUNC( QTC_INVALIDATERECT ) -{ - -} - -HB_FUNC( QTC_DELETEOBJECT ) -{ - -} - -HB_FUNC( QTC_CREATEBRUSH ) -{ - -} - -HB_FUNC( QTC_SETWINDOWPOSITION ) -{ - -} - -HB_FUNC( QTC_SETWINDOWPOSANDSIZE ) -{ - -} - -HB_FUNC( QTC_SETWINDOWSIZE ) -{ - -} - -HB_FUNC( QTC_SETWINDOWPOSTOBACK ) -{ - -} - -HB_FUNC( QTC_SETWINDOWPOSTOTOP ) -{ - -} - -HB_FUNC( QTC_SENDMESSAGE ) -{ - -} - -HB_FUNC( QTC_CREATEWINDOWEX ) -{ - -} - -HB_FUNC( QTC_GETSTOCKOBJECT ) -{ - -} - -HB_FUNC( QTC_CALLWINDOWPROC ) -{ - -} - -HB_FUNC( QTC_LOWORD ) -{ - -} - -HB_FUNC( QTC_HIWORD ) -{ - -} - -HB_FUNC( QTG_RELEASEWINDOWPROCBLOCK ) -{ - -} - -HB_FUNC( QTG_SETWINDOWPROCBLOCK ) -{ - -} - -HB_FUNC( QTC_N2P ) -{ - -} - -HB_FUNC( QTC_P2N ) -{ - -} - -HB_FUNC( QTG_SETCURRENTBRUSH ) -{ - -} - - -HB_FUNC( QTC_SETTEXTCOLOR ) -{ - -} - -HB_FUNC( QTC_SETBKCOLOR ) -{ - -} - -HB_FUNC( QTC_SETBKMODE ) -{ - -} - -HB_FUNC( QTC_ISZOOMED ) -{ - -} -HB_FUNC( QTC_FILLRECT ) -{ - -} -HB_FUNC( HB_TOOUTDEBUG ) -{ - -} -HB_FUNC( QTC_OUTPUTDEBUGSTRING ) -{ - OutputDebugString( hb_parc( 1 ) ); -} +PROCEDURE QTC_SHOWWINDOW() ; RETURN +PROCEDURE QTC_ISICONIC() ; RETURN +PROCEDURE QTC_ISWINDOW() ; RETURN +PROCEDURE QTC_DESTROYWINDOW() ; RETURN +PROCEDURE QTC_GETWINDOWRECT() ; RETURN +PROCEDURE QTC_GETCLIENTRECT() ; RETURN +PROCEDURE QTC_ENABLEWINDOW() ; RETURN +PROCEDURE QTC_INVALIDATERECT() ; RETURN +PROCEDURE QTC_DELETEOBJECT() ; RETURN +PROCEDURE QTC_CREATEBRUSH() ; RETURN +PROCEDURE QTC_SETWINDOWPOSITION() ; RETURN +PROCEDURE QTC_SETWINDOWPOSANDSIZE() ; RETURN +PROCEDURE QTC_SETWINDOWSIZE() ; RETURN +PROCEDURE QTC_SETWINDOWPOSTOBACK() ; RETURN +PROCEDURE QTC_SETWINDOWPOSTOTOP() ; RETURN +PROCEDURE QTC_SENDMESSAGE() ; RETURN +PROCEDURE QTC_CREATEWINDOWEX() ; RETURN +PROCEDURE QTC_GETSTOCKOBJECT() ; RETURN +PROCEDURE QTC_CALLWINDOWPROC() ; RETURN +PROCEDURE QTC_LOWORD() ; RETURN +PROCEDURE QTC_HIWORD() ; RETURN +PROCEDURE QTG_RELEASEWINDOWPROCBLOCK() ; RETURN +PROCEDURE QTG_SETWINDOWPROCBLOCK() ; RETURN +PROCEDURE QTC_N2P() ; RETURN +PROCEDURE QTC_P2N() ; RETURN +PROCEDURE QTG_SETCURRENTBRUSH() ; RETURN +PROCEDURE QTC_SETTEXTCOLOR() ; RETURN +PROCEDURE QTC_SETBKCOLOR() ; RETURN +PROCEDURE QTC_SETBKMODE() ; RETURN +PROCEDURE QTC_ISZOOMED() ; RETURN +PROCEDURE QTC_FILLRECT() ; RETURN +PROCEDURE HB_TOOUTDEBUG() ; RETURN +PROCEDURE QTC_OUTPUTDEBUGSTRING() ; RETURN #if 0 -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - -HB_FUNC( QTC_ ) -{ - -} - +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN +PROCEDURE QTC_() ; RETURN #endif -