diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2436e95fd4..392d35e59e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,16 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-04-06 14:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbole/Makefile + * contrib/hbole/olecore.c + + contrib/hbole/hbwinole.h + + Added C header. + + Exported hb_oleVariantToItem(). + + * contrib/hbqt/hbqt_qfont.cpp + ! Fixed HB_IS_STRING() -> HB_ISCHAR(). + 2009-04-06 13:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg ! Fixed finding shared libs since /lib// lib path diff --git a/harbour/contrib/hbole/Makefile b/harbour/contrib/hbole/Makefile index 1855de81ca..7608104e7f 100644 --- a/harbour/contrib/hbole/Makefile +++ b/harbour/contrib/hbole/Makefile @@ -21,11 +21,19 @@ C_SOURCES=\ oleinit.c \ olecore.c \ +C_HEADERS = \ + hbwinole.h \ + PRG_SOURCES=\ oleauto.prg \ +include $(TOP)$(ROOT)config/header.cf +INSTALL_RULE_HEADERS := $(INSTALL_RULE) include $(TOP)$(ROOT)config/lib.cf +install:: + $(INSTALL_RULE_HEADERS) + else include $(TOP)$(ROOT)config/none.cf endif diff --git a/harbour/contrib/hbole/hbwinole.h b/harbour/contrib/hbole/hbwinole.h new file mode 100644 index 0000000000..1047421d9f --- /dev/null +++ b/harbour/contrib/hbole/hbwinole.h @@ -0,0 +1,98 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * OLE library C header + * + * Copyright 2009 Viktor Szakats + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" +#include "hbapiitm.h" +#include "hbapicls.h" +#include "hbapierr.h" +#include "hbvm.h" +#include "hbstack.h" +#include "hbdate.h" +#include "hbinit.h" + +HB_EXTERN_BEGIN + +/* This option can resolve compilation problems in C++ mode for some + * compilers like OpenWatcom but not for all, f.e. it will not help + * BCC when used with -P (C++ mode) switch. + */ +/* +#if defined( __cplusplus ) && !defined( CINTERFACE ) + #define CINTERFACE 1 +#endif +*/ + +/* This code uses named union so this declaration is necessary for + * compilers where nameless unions are default + */ +#if !defined( NONAMELESSUNION ) + #define NONAMELESSUNION +#endif + +/* macros used to hide type of interface: C or C++ + */ +#if defined( __cplusplus ) && !defined( CINTERFACE ) && \ + ( defined( __BORLANDC__ ) || defined( _MSC_VER ) || \ + ( defined(__WATCOMC__) && ( __WATCOMC__ >= 1270 ) ) ) +# define HB_OLE_C_API 0 +# define HB_ID_REF( id ) ( id ) +#else +# define HB_OLE_C_API 1 +# define HB_ID_REF( id ) ( &id ) +#endif + +#include + +HB_EXPORT void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant ); +HB_EXPORT void hb_oleInit( void ); + +HB_EXTERN_END diff --git a/harbour/contrib/hbole/olecore.c b/harbour/contrib/hbole/olecore.c index 5ce246e6dd..8f2f009740 100644 --- a/harbour/contrib/hbole/olecore.c +++ b/harbour/contrib/hbole/olecore.c @@ -51,47 +51,7 @@ * */ - -/* This option can resolve compilation problems in C++ mode for some - * compilers like OpenWatcom but not for all, f.e. it will not help - * BCC when used with -P (C++ mode) switch. - */ -/* -#if defined( __cplusplus ) && !defined( CINTERFACE ) - #define CINTERFACE 1 -#endif -*/ - -/* This code uses named union so this declaration is necessary for - * compilers where nameless unions are default - */ -#if !defined( NONAMELESSUNION ) - #define NONAMELESSUNION -#endif - -/* macros used to hide type of interface: C or C++ - */ -#if defined( __cplusplus ) && !defined( CINTERFACE ) && \ - ( defined( __BORLANDC__ ) || defined( _MSC_VER ) || \ - ( defined(__WATCOMC__) && ( __WATCOMC__ >= 1270 ) ) ) -# define HB_OLE_C_API 0 -# define HB_ID_REF( id ) ( id ) -#else -# define HB_OLE_C_API 1 -# define HB_ID_REF( id ) ( &id ) -#endif - - -#include "hbapi.h" -#include "hbapiitm.h" -#include "hbapicls.h" -#include "hbapierr.h" -#include "hbvm.h" -#include "hbstack.h" -#include "hbdate.h" -#include "hbinit.h" - -#include +#include "hbwinole.h" static PHB_DYNS s_pDyns_hb_oleauto; static PHB_DYNS s_pDyns_hObjAccess; @@ -105,9 +65,7 @@ typedef struct static HB_TSD_NEW( s_oleData, sizeof( HB_OLEDATA ), NULL, NULL ); #define hb_getOleData() ( ( PHB_OLEDATA ) hb_stackGetTSD( &s_oleData ) ) #define hb_getOleError() ( hb_getOleData()->lOleError ) -#define hb_setOleError(e) do { hb_getOleData()->lOleError = (e); } while( 0 ) - -HB_EXPORT void hb_oleInit( void ); /* TODO: move to some hbole.h */ +#define hb_setOleError( e ) do { hb_getOleData()->lOleError = ( e ); } while( 0 ) HB_FUNC_EXTERN( HB_OLEAUTO ); @@ -221,7 +179,7 @@ static void hb_oleItemToVariant( VARIANT* pVariant, PHB_ITEM pItem ) } -static void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant ) +void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant ) { switch( pVariant->n1.n2.vt ) { diff --git a/harbour/contrib/hbqt/hbqt_qfont.cpp b/harbour/contrib/hbqt/hbqt_qfont.cpp index 2f831f1303..9a7de27c73 100644 --- a/harbour/contrib/hbqt/hbqt_qfont.cpp +++ b/harbour/contrib/hbqt/hbqt_qfont.cpp @@ -1,42 +1,42 @@ /* * $Id$ */ - -/* + +/* * Harbour Project source code: * QT wrapper main header - * + * * Copyright 2009 Marcos Antonio Gambeta * Copyright 2009 Pritpal Bedi * www - http://www.harbour-project.org - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this software; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * + * * As a special exception, the Harbour Project gives permission for * additional uses of the text contained in its release of Harbour. - * + * * The exception is that, if you link the Harbour libraries with other * files to produce an executable, this does not by itself cause the * resulting executable to be covered by the GNU General Public License. * Your use of that executable is in no way restricted on account of * linking the Harbour library code into it. - * + * * This exception does not however invalidate any other reasons why * the executable file might be covered by the GNU General Public License. - * + * * This exception applies only to the code released by the Harbour * Project under the name Harbour. If you copy code from other * Harbour Project or Free Software Foundation releases into a copy of @@ -44,7 +44,7 @@ * not apply to the code that you add in this way. To avoid misleading * anyone as to the status of such modified files, you must delete * this exception notice from them. - * + * * If you write modifications of your own for Harbour, it is your choice * whether to permit this exception to apply to your modifications. * If you do not wish that, delete this exception notice. @@ -62,19 +62,19 @@ /* * Constructed[ 50/53 [ 94.34% ] ] - * + * * *** Unconvered Prototypes *** * ----------------------------- - * + * * FT_Face freetypeFace () const * HFONT handle () const * QFont resolve ( const QFont & other ) const - * + * * *** Commented out protos which construct fine but do not compile *** - * + * * //bool isCopyOf ( const QFont & f ) const * //quint32 macFontID () const - */ + */ #include @@ -87,7 +87,7 @@ */ HB_FUNC( QT_QFONT ) { - if( HB_IS_STRING( 1 ) ) + if( HB_ISCHAR( 1 ) ) { hb_retptr( ( QFont* ) new QFont() ); } @@ -504,4 +504,3 @@ HB_FUNC( QT_QFONT_WORDSPACING ) /*----------------------------------------------------------------------*/ #endif /* #if QT_VERSION >= 0x040500 */ /*----------------------------------------------------------------------*/ -