2010-10-28 11:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbqt/qtgui/hbqtgui.hbm
  - contrib/hbqt/qtgui/hbqt_registersignals.cpp
  + contrib/hbqt/qtgui/hbqt_init.cpp
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbm
  + contrib/hbqt/qtwebkit/hbqt_init.cpp
  * contrib/hbqt/qtcore/hbqtcore.hbm
  - contrib/hbqt/qtcore/hbqt_registersignals.cpp
  + contrib/hbqt/qtcore/hbqt_init.cpp
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbm
  - contrib/hbqt/qtnetwork/hbqt_registersignals.cpp
  + contrib/hbqt/qtnetwork/hbqt_init.cpp
  * contrib/hbqt/qscintilla/hbqscintilla.hbm
  + contrib/hbqt/qscintilla/hbqt_init.cpp
  * contrib/hbqt/qtuitools/hbqtuitools.hbm
  + contrib/hbqt/qtuitools/hbqt_init.cpp
  * contrib/hbqt/qtdesigner/hbqtdesigner.hbm
  + contrib/hbqt/qtdesigner/hbqt_init.cpp
    + Extended existing signal register init modules to 
      be generic lib level initialization ones.
    + Added such lib level init module to all remaining 
      HBQT libs.

  * contrib/hbqt/qtgui/hbqtgui.hbx
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbx
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbx
  * contrib/hbqt/qtuitools/hbqtuitools.hbx
  * contrib/hbqt/qtdesigner/hbqtdesigner.hbx
    * Regenerated.

  * contrib/hbqt/hbqt_all.hbp
    + Enabled HBQTDESIGNER and HBQTWEBKIT libs.

  * contrib/hbqt/qtgui/qth/QApplication.qth
  * contrib/hbqt/qtgui/g/QApplication.cpp
  * contrib/hbqt/qtcore/qth/QCoreApplication.qth
  * contrib/hbqt/qtcore/g/QCoreApplication.cpp
    + Merged existing lib init functionality into 
      generic lib init code.

  * contrib/hbide/idemain.prg
    * Adapted to above changes.

  ; TODO: Add automatic references to puller symbols.
  ; TODO: Delete old explicit puller symbols.
This commit is contained in:
Viktor Szakats
2010-10-28 09:44:52 +00:00
parent 7feeb42ba8
commit f7554aa0e0
27 changed files with 616 additions and 238 deletions

View File

@@ -16,6 +16,52 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-10-28 11:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtgui/hbqtgui.hbm
- contrib/hbqt/qtgui/hbqt_registersignals.cpp
+ contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbm
+ contrib/hbqt/qtwebkit/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqtcore.hbm
- contrib/hbqt/qtcore/hbqt_registersignals.cpp
+ contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbm
- contrib/hbqt/qtnetwork/hbqt_registersignals.cpp
+ contrib/hbqt/qtnetwork/hbqt_init.cpp
* contrib/hbqt/qscintilla/hbqscintilla.hbm
+ contrib/hbqt/qscintilla/hbqt_init.cpp
* contrib/hbqt/qtuitools/hbqtuitools.hbm
+ contrib/hbqt/qtuitools/hbqt_init.cpp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbm
+ contrib/hbqt/qtdesigner/hbqt_init.cpp
+ Extended existing signal register init modules to
be generic lib level initialization ones.
+ Added such lib level init module to all remaining
HBQT libs.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtwebkit/hbqtwebkit.hbx
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
* contrib/hbqt/qtuitools/hbqtuitools.hbx
* contrib/hbqt/qtdesigner/hbqtdesigner.hbx
* Regenerated.
* contrib/hbqt/hbqt_all.hbp
+ Enabled HBQTDESIGNER and HBQTWEBKIT libs.
* contrib/hbqt/qtgui/qth/QApplication.qth
* contrib/hbqt/qtgui/g/QApplication.cpp
* contrib/hbqt/qtcore/qth/QCoreApplication.qth
* contrib/hbqt/qtcore/g/QCoreApplication.cpp
+ Merged existing lib init functionality into
generic lib init code.
* contrib/hbide/idemain.prg
* Adapted to above changes.
; TODO: Add automatic references to puller symbols.
; TODO: Delete old explicit puller symbols.
2010-10-28 01:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt_misc.prg
! Debug stuff left in.

View File

@@ -86,14 +86,8 @@ REQUEST __HBEXTERN__HBQTCORE__
REQUEST __HBEXTERN__HBQTGUI__
REQUEST __HBEXTERN__HBQTNETWORK__
REQUEST __HBQT_REGISTERCORECALLBACKS
REQUEST __HBQT_REGISTERGUICALLBACKS
REQUEST __HBQT_REGISTERNETWORKCALLBACKS
/*----------------------------------------------------------------------*/
REQUEST HB_QTGUI
REQUEST DBFCDX
REQUEST DBFNTX
REQUEST DBFNSX

View File

@@ -11,8 +11,8 @@
# Do not change this to hbqt.hbc reference.
hbqtcore.hbc
# hbqtdesigner.hbc
hbqtdesigner.hbc
hbqtgui.hbc
hbqtnetwork.hbc
hbqtuitools.hbc
# hbqtwebkit.hbc
hbqtwebkit.hbc

View File

@@ -7,6 +7,8 @@
g/filelist.hbm
hbqt_init.cpp
hbqt_hbqsciscintilla.cpp
hbqt_hbqsciscintilla.h

View File

@@ -0,0 +1,100 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009 Marcos Antonio Gambeta (marcosgambeta at gmail dot com)
* Copyright 2009 Pritpal Bedi (pritpal@vouchcac.com)
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu)
* Copyright 2010 Francesco Perillo ()
* www - http://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 "hbqt.h"
#include "hbapiitm.h"
#include "hbstack.h"
#include "hbvm.h"
#include "hbinit.h"
#if QT_VERSION >= 0x040500
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void )
{
}
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQSCINTILLA ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqscintilla_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqscintilla_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hbqscintilla_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqscintilla_init_ )
#include "hbiniseg.h"
#endif
#endif

View File

@@ -114,42 +114,10 @@
#include <QtCore/QPointer>
#include "hbapi.h"
#include "hbvm.h"
#include "hbinit.h"
#include <QtCore/QStringList>
#include <QtCore/QCoreApplication>
#include <QtCore/QTextCodec>
HB_FUNC( HB_QTCORE ) {;}
static void hbqtcore_Exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
static void hbqtcore_Init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
QTextCodec * codec = QTextCodec::codecForName( "UTF8" );
QTextCodec::setCodecForTr( codec );
QTextCodec::setCodecForCStrings( codec );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtcore_init_ )
hb_vmAtInit( hbqtcore_Init, NULL );
hb_vmAtExit( hbqtcore_Exit, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtcore_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtcore_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtcore_init_ )
#include "hbiniseg.h"
#endif
/*
* QCoreApplication ( int & argc, char ** argv )
* ~QCoreApplication ()

View File

@@ -63,6 +63,8 @@
#if QT_VERSION >= 0x040500
#include <QtCore/QTextCodec>
#include <QtCore/QProcess>
#include <QtCore/QUrl>
#include <QtCore/QDate>
@@ -282,10 +284,8 @@ static void hbqt_SlotsExecModelIndexList( PHB_ITEM * codeBlock, void ** argument
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void * cargo )
static void hbqt_registerCallbacks( void )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_slots_register_callback( "qint64" , hbqt_SlotsExecInt );
hbqt_slots_register_callback( "qint64$qint64" , hbqt_SlotsExecIntInt );
hbqt_slots_register_callback( "int" , hbqt_SlotsExecInt );
@@ -314,22 +314,36 @@ static void hbqt_registerCallbacks( void * cargo )
hbqt_slots_register_callback( "QUrl" , hbqt_SlotsExecQUrl );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtcore_register_init_ )
hb_vmAtInit( hbqt_registerCallbacks, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtcore_register_init_ )
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQTCORE ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
QTextCodec * codec = QTextCodec::codecForName( "UTF8" );
QTextCodec::setCodecForTr( codec );
QTextCodec::setCodecForCStrings( codec );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtcore_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtcore_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtcore_register_init_
#pragma startup _hbqtcore_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtcore_register_init_ )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtcore_init_ )
#include "hbiniseg.h"
#endif
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQT_REGISTERCORECALLBACKS )
{
hbqt_registerCallbacks( NULL );
}
#endif

View File

@@ -7,7 +7,7 @@
g/filelist.hbm
hbqt_registersignals.cpp
hbqt_init.cpp
hbqt_pointer.cpp
hbqt_version.cpp

View File

@@ -88,7 +88,6 @@ DYNAMIC HB_QSIZE
DYNAMIC HB_QSIZEF
DYNAMIC HB_QSTRINGLIST
DYNAMIC HB_QSTRINGREF
DYNAMIC HB_QTCORE
DYNAMIC HB_QTEXTBOUNDARYFINDER
DYNAMIC HB_QTEXTCODEC
DYNAMIC HB_QTEXTDECODER
@@ -221,13 +220,13 @@ DYNAMIC QURLFROMPOINTER
DYNAMIC QVARIANT
DYNAMIC QVARIANTFROMPOINTER
DYNAMIC QVERSION
DYNAMIC __HBQTCORE
DYNAMIC __HBQT_ERROR
DYNAMIC __HBQT_EVENTS_CONNECT
DYNAMIC __HBQT_EVENTS_DISCONNECT
DYNAMIC __HBQT_EVENTS_NEW
DYNAMIC __HBQT_ISPOINTER
DYNAMIC __HBQT_PTR
DYNAMIC __HBQT_REGISTERCORECALLBACKS
DYNAMIC __HBQT_SLOTS_CONNECT
DYNAMIC __HBQT_SLOTS_DISCONNECT
DYNAMIC __HBQT_SLOTS_NEW

View File

@@ -63,41 +63,8 @@ Constructor = No
<CODE>
#include "hbapi.h"
#include "hbvm.h"
#include "hbinit.h"
#include <QtCore/QStringList>
#include <QtCore/QCoreApplication>
#include <QtCore/QTextCodec>
HB_FUNC( HB_QTCORE ) {;}
static void hbqtcore_Exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
static void hbqtcore_Init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
QTextCodec * codec = QTextCodec::codecForName( "UTF8" );
QTextCodec::setCodecForTr( codec );
QTextCodec::setCodecForCStrings( codec );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtcore_init_ )
hb_vmAtInit( hbqtcore_Init, NULL );
hb_vmAtExit( hbqtcore_Exit, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtcore_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtcore_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtcore_init_ )
#include "hbiniseg.h"
#endif
/*
* QCoreApplication ( int & argc, char ** argv )

View File

@@ -0,0 +1,100 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009 Marcos Antonio Gambeta (marcosgambeta at gmail dot com)
* Copyright 2009 Pritpal Bedi (pritpal@vouchcac.com)
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu)
* Copyright 2010 Francesco Perillo ()
* www - http://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 "hbqt.h"
#include "hbapiitm.h"
#include "hbstack.h"
#include "hbvm.h"
#include "hbinit.h"
#if QT_VERSION >= 0x040500
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void )
{
}
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQTDESIGNER ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtdesigner_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtdesigner_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hbqtdesigner_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtdesigner_init_ )
#include "hbiniseg.h"
#endif
#endif

View File

@@ -9,5 +9,7 @@
g/filelist.hbm
hbqt_init.cpp
../qtcore/hbqtcore.hbc
../qtgui/hbqtgui.hbc

View File

@@ -28,14 +28,31 @@
#command DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
DYNAMIC HB_QDESIGNERACTIONEDITORINTERFACE
DYNAMIC HB_QDESIGNERFORMEDITORINTERFACE
DYNAMIC HB_QDESIGNERFORMWINDOWCURSORINTERFACE
DYNAMIC HB_QDESIGNERFORMWINDOWINTERFACE
DYNAMIC HB_QDESIGNERFORMWINDOWMANAGERINTERFACE
DYNAMIC HB_QDESIGNEROBJECTINSPECTORINTERFACE
DYNAMIC HB_QDESIGNERPROPERTYEDITORINTERFACE
DYNAMIC HB_QDESIGNERWIDGETBOXINTERFACE
DYNAMIC QDESIGNERACTIONEDITORINTERFACE
DYNAMIC QDESIGNERACTIONEDITORINTERFACEFROMPOINTER
DYNAMIC QDESIGNERFORMEDITORINTERFACE
DYNAMIC QDESIGNERFORMEDITORINTERFACEFROMPOINTER
DYNAMIC QDESIGNERFORMWINDOWCURSORINTERFACE
DYNAMIC QDESIGNERFORMWINDOWCURSORINTERFACEFROMPOINTER
DYNAMIC QDESIGNERFORMWINDOWINTERFACE
DYNAMIC QDESIGNERFORMWINDOWINTERFACEFROMPOINTER
DYNAMIC QDESIGNERFORMWINDOWMANAGERINTERFACE
DYNAMIC QDESIGNERFORMWINDOWMANAGERINTERFACEFROMPOINTER
DYNAMIC QDESIGNEROBJECTINSPECTORINTERFACE
DYNAMIC QDESIGNEROBJECTINSPECTORINTERFACEFROMPOINTER
DYNAMIC QDESIGNERPROPERTYEDITORINTERFACE
DYNAMIC QDESIGNERPROPERTYEDITORINTERFACEFROMPOINTER
DYNAMIC QDESIGNERWIDGETBOXINTERFACE
DYNAMIC QDESIGNERWIDGETBOXINTERFACEFROMPOINTER
DYNAMIC __HBQTDESIGNER
#ifdef __HBEXTERN__HBQTDESIGNER__REQUEST
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>

View File

@@ -131,9 +131,6 @@
#include <QtCore/QPointer>
#include "hbapi.h"
#include "hbapierr.h"
#include "hbvm.h"
#include "hbinit.h"
#include <QtGui/QFont>
#include <QtGui/QFontMetrics>
@@ -143,22 +140,7 @@
#include <QtCore/QLocale>
#include <QtGui/QIcon>
static QApplication * s_app = NULL;
static int s_argc;
static char ** s_argv;
HB_FUNC_EXTERN( HB_QTCORE );
HB_FUNC( HB_QTGUI )
{
HB_FUNC_EXEC( HB_QTCORE );
}
HB_FUNC( HB_QT ) /* For compatibility */
{
HB_FUNC_EXEC( HB_QTCORE );
}
extern HB_EXPORT QApplication * __hbqtgui_app( void );
/*
* QApplication ( int & argc, char ** argv )
@@ -170,46 +152,14 @@ HB_FUNC( HB_QT ) /* For compatibility */
*/
static void hbqtgui_Exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
static void hbqtgui_Init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
s_argc = hb_cmdargARGC();
s_argv = hb_cmdargARGV();
s_app = new QApplication( s_argc, s_argv );
if( ! s_app )
hb_errInternal( 11001, "hbqtgui_Init(): QT Initilization Error.", NULL, NULL );
hb_cmdargInit( s_argc, s_argv );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtgui_init_ )
hb_vmAtInit( hbqtgui_Init, NULL );
hb_vmAtExit( hbqtgui_Exit, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtgui_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtgui_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtgui_init_ )
#include "hbiniseg.h"
#endif
HB_FUNC( QT_QAPPLICATION_EXECUTE )
{
hb_retni( s_app->exec() );
hb_retni( __hbqtgui_app()->exec() );
}
HB_FUNC( QT_QAPPLICATION_QUIT )
{
s_app->quit();
__hbqtgui_app()->quit();
}
typedef struct
@@ -253,8 +203,8 @@ void * hbqt_gcAllocate_QApplication( void * pObj, bool bNew )
HB_FUNC( QT_QAPPLICATION )
{
//__HB_RETPTRGC__( ( QApplication * ) s_app );
hb_retptr ( s_app );
//__HB_RETPTRGC__( ( QApplication * ) __hbqtgui_app() );
hb_retptr( __hbqtgui_app() );
}
/*

View File

@@ -56,6 +56,7 @@
#include "hbqt.h"
#include "hbapierr.h"
#include "hbapiitm.h"
#include "hbstack.h"
#include "hbvm.h"
@@ -63,6 +64,8 @@
#if QT_VERSION >= 0x040500
#include <QtGui/QApplication>
#include <QtGui/QItemSelection>
#include <QtGui/QTextCursor>
#include <QtGui/QTextCharFormat>
@@ -123,10 +126,8 @@ static void hbqt_SlotsExecQTextBlock( PHB_ITEM * codeBlock, void ** arguments )
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void * cargo )
static void hbqt_registerCallbacks( void )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_slots_register_callback( "QColor" , hbqt_SlotsExecQColor );
hbqt_slots_register_callback( "QFont" , hbqt_SlotsExecQFont );
hbqt_slots_register_callback( "QItemSelection$QItemSelection" , hbqt_SlotsExecItemSelItemSel );
@@ -135,22 +136,59 @@ static void hbqt_registerCallbacks( void * cargo )
hbqt_slots_register_callback( "QTextCursor" , hbqt_SlotsExecQTextCursor );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtgui_register_init_ )
hb_vmAtInit( hbqt_registerCallbacks, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtgui_register_init_ )
/*----------------------------------------------------------------------*/
static QApplication * s_app = NULL;
static int s_argc;
static char ** s_argv;
HB_FUNC_EXTERN( __HBQTCORE );
HB_FUNC( __HBQTGUI )
{
HB_FUNC_EXEC( __HBQTCORE );
}
extern HB_EXPORT QApplication * __hbqtgui_app( void );
QApplication * __hbqtgui_app( void )
{
return s_app;
}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
s_argc = hb_cmdargARGC();
s_argv = hb_cmdargARGV();
s_app = new QApplication( s_argc, s_argv );
if( ! s_app )
hb_errInternal( 11001, "hbqt_lib_init(): HBQTGUI Initilization Error.", NULL, NULL );
hb_cmdargInit( s_argc, s_argv );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtgui_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtgui_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtgui_register_init_
#pragma startup _hbqtgui_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtgui_register_init_ )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtgui_init_ )
#include "hbiniseg.h"
#endif
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQT_REGISTERGUICALLBACKS )
{
hbqt_registerCallbacks( NULL );
}
#endif

View File

@@ -7,13 +7,13 @@
g/filelist.hbm
hbqt_registersignals.cpp
hbqt_hbqabstractitemmodel.cpp
hbqt_hbqgraphicsitem.cpp
hbqt_hbqgraphicsscene.cpp
hbqt_hbqplaintextedit.cpp
hbqt_hbqsyntaxhighlighter.cpp
hbqt_hbqtableview.cpp
hbqt_init.cpp
hbqt_utils.cpp
hbqt_hbqabstractitemmodel.h

View File

@@ -258,7 +258,6 @@ DYNAMIC HB_QSTYLEOPTIONVIEWITEM
DYNAMIC HB_QSTYLEPAINTER
DYNAMIC HB_QSYNTAXHIGHLIGHTER
DYNAMIC HB_QSYSTEMTRAYICON
DYNAMIC HB_QT
DYNAMIC HB_QTABBAR
DYNAMIC HB_QTABLEVIEW
DYNAMIC HB_QTABLEWIDGET
@@ -290,7 +289,6 @@ DYNAMIC HB_QTEXTLISTFORMAT
DYNAMIC HB_QTEXTOBJECT
DYNAMIC HB_QTEXTOPTION
DYNAMIC HB_QTEXTTABLEFORMAT
DYNAMIC HB_QTGUI
DYNAMIC HB_QTIMEEDIT
DYNAMIC HB_QTOOLBAR
DYNAMIC HB_QTOOLBOX
@@ -818,7 +816,7 @@ DYNAMIC QWIZARDFROMPOINTER
DYNAMIC QWIZARDPAGE
DYNAMIC QWIZARDPAGEFROMPOINTER
DYNAMIC Q__TR
DYNAMIC __HBQT_REGISTERGUICALLBACKS
DYNAMIC __HBQTGUI
#ifdef __HBEXTERN__HBQTGUI__REQUEST
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>

View File

@@ -62,9 +62,6 @@ Constructor = no
<CODE>
#include "hbapi.h"
#include "hbapierr.h"
#include "hbvm.h"
#include "hbinit.h"
#include <QtGui/QFont>
#include <QtGui/QFontMetrics>
@@ -74,22 +71,7 @@ Constructor = no
#include <QtCore/QLocale>
#include <QtGui/QIcon>
static QApplication * s_app = NULL;
static int s_argc;
static char ** s_argv;
HB_FUNC_EXTERN( HB_QTCORE );
HB_FUNC( HB_QTGUI )
{
HB_FUNC_EXEC( HB_QTCORE );
}
HB_FUNC( HB_QT ) /* For compatibility */
{
HB_FUNC_EXEC( HB_QTCORE );
}
extern HB_EXPORT QApplication * __hbqtgui_app( void );
/*
* QApplication ( int & argc, char ** argv )
@@ -102,50 +84,18 @@ HB_FUNC( HB_QT ) /* For compatibility */
HB_FUNC( QT_QAPPLICATION )
{
//__HB_RETPTRGC__( ( QApplication * ) s_app );
hb_retptr ( s_app );
//__HB_RETPTRGC__( ( QApplication * ) __hbqtgui_app() );
hb_retptr( __hbqtgui_app() );
}
static void hbqtgui_Exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
static void hbqtgui_Init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
s_argc = hb_cmdargARGC();
s_argv = hb_cmdargARGV();
s_app = new QApplication( s_argc, s_argv );
if( ! s_app )
hb_errInternal( 11001, "hbqtgui_Init(): QT Initilization Error.", NULL, NULL );
hb_cmdargInit( s_argc, s_argv );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtgui_init_ )
hb_vmAtInit( hbqtgui_Init, NULL );
hb_vmAtExit( hbqtgui_Exit, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtgui_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtgui_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtgui_init_ )
#include "hbiniseg.h"
#endif
HB_FUNC( QT_QAPPLICATION_EXECUTE )
{
hb_retni( s_app->exec() );
hb_retni( __hbqtgui_app()->exec() );
}
HB_FUNC( QT_QAPPLICATION_QUIT )
{
s_app->quit();
__hbqtgui_app()->quit();
}
</CODE>

View File

@@ -105,32 +105,40 @@ static void hbqt_SlotsExecQUrlInfo( PHB_ITEM * codeBlock, void ** arguments )
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void * cargo )
static void hbqt_registerCallbacks( void )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_slots_register_callback( "QHttpResponseHeader" , hbqt_SlotsExecQHttpResponseHeader );
hbqt_slots_register_callback( "QNetworkProxy$pointer" , hbqt_SlotsExecQNetworkProxyPointer );
hbqt_slots_register_callback( "QNetworkRequest" , hbqt_SlotsExecQNetworkRequest );
hbqt_slots_register_callback( "QUrlInfo" , hbqt_SlotsExecQUrlInfo );
}
HB_CALL_ON_STARTUP_BEGIN( _hb_hbqtnetwork_register_init_ )
hb_vmAtInit( hbqt_registerCallbacks, NULL );
HB_CALL_ON_STARTUP_END( _hb_hbqtnetwork_register_init_ )
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQTNETWORK ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtnetwork_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtnetwork_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hb_hbqtnetwork_register_init_
#pragma startup _hbqtnetwork_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_hbqtnetwork_register_init_ )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtnetwork_init_ )
#include "hbiniseg.h"
#endif
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQT_REGISTERNETWORKCALLBACKS )
{
hbqt_registerCallbacks( NULL );
}
#endif

View File

@@ -7,7 +7,6 @@
g/filelist.hbm
hbqt_registersignals.cpp
hbqt_init.cpp
../qtcore/hbqtcore.hbc

View File

@@ -46,7 +46,7 @@ DYNAMIC QHTTPRESPONSEHEADER
DYNAMIC QHTTPRESPONSEHEADERFROMPOINTER
DYNAMIC QNETWORKREQUEST
DYNAMIC QNETWORKREQUESTFROMPOINTER
DYNAMIC __HBQT_REGISTERNETWORKCALLBACKS
DYNAMIC __HBQTNETWORK
#ifdef __HBEXTERN__HBQTNETWORK__REQUEST
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>

View File

@@ -0,0 +1,100 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009 Marcos Antonio Gambeta (marcosgambeta at gmail dot com)
* Copyright 2009 Pritpal Bedi (pritpal@vouchcac.com)
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu)
* Copyright 2010 Francesco Perillo ()
* www - http://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 "hbqt.h"
#include "hbapiitm.h"
#include "hbstack.h"
#include "hbvm.h"
#include "hbinit.h"
#if QT_VERSION >= 0x040500
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void )
{
}
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQTUITOOLS ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtuitools_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtuitools_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hbqtuitools_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtuitools_init_ )
#include "hbiniseg.h"
#endif
#endif

View File

@@ -7,6 +7,8 @@
g/filelist.hbm
hbqt_init.cpp
THbQtUILoader.prg
../qtgui/hbqtgui.hbc

View File

@@ -32,6 +32,7 @@ DYNAMIC HBQTUILOADER
DYNAMIC HB_QUILOADER
DYNAMIC QUILOADER
DYNAMIC QUILOADERFROMPOINTER
DYNAMIC __HBQTUITOOLS
#ifdef __HBEXTERN__HBQTUITOOLS__REQUEST
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>

View File

@@ -0,0 +1,100 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009 Marcos Antonio Gambeta (marcosgambeta at gmail dot com)
* Copyright 2009 Pritpal Bedi (pritpal@vouchcac.com)
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu)
* Copyright 2010 Francesco Perillo ()
* www - http://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 "hbqt.h"
#include "hbapiitm.h"
#include "hbstack.h"
#include "hbvm.h"
#include "hbinit.h"
#if QT_VERSION >= 0x040500
/*----------------------------------------------------------------------*/
static void hbqt_registerCallbacks( void )
{
}
/*----------------------------------------------------------------------*/
HB_FUNC( __HBQTWEBKIT ) {;}
static void hbqt_lib_init( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
hbqt_registerCallbacks();
}
static void hbqt_lib_exit( void * cargo )
{
HB_SYMBOL_UNUSED( cargo );
}
HB_CALL_ON_STARTUP_BEGIN( _hbqtwebkit_init_ )
hb_vmAtInit( hbqt_lib_init, NULL );
hb_vmAtExit( hbqt_lib_exit, NULL );
HB_CALL_ON_STARTUP_END( _hbqtwebkit_init_ )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup _hbqtwebkit_init_
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( _hbqtwebkit_init_ )
#include "hbiniseg.h"
#endif
#endif

View File

@@ -7,6 +7,8 @@
g/filelist.hbm
hbqt_init.cpp
../qtcore/hbqtcore.hbc
../qtgui/hbqtgui.hbc
../qtnetwork/hbqtnetwork.hbc

View File

@@ -28,16 +28,37 @@
#command DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
DYNAMIC HB_QWEBFRAME
DYNAMIC HB_QWEBHISTORY
DYNAMIC HB_QWEBHISTORYINTERFACE
DYNAMIC HB_QWEBHISTORYITEM
DYNAMIC HB_QWEBHITTESTRESULT
DYNAMIC HB_QWEBPAGE
DYNAMIC HB_QWEBPLUGINFACTORY
DYNAMIC HB_QWEBSECURITYORIGIN
DYNAMIC HB_QWEBSETTINGS
DYNAMIC HB_QWEBVIEW
DYNAMIC QWEBFRAME
DYNAMIC QWEBFRAMEFROMPOINTER
DYNAMIC QWEBHISTORY
DYNAMIC QWEBHISTORYFROMPOINTER
DYNAMIC QWEBHISTORYINTERFACE
DYNAMIC QWEBHISTORYINTERFACEFROMPOINTER
DYNAMIC QWEBHISTORYITEM
DYNAMIC QWEBHISTORYITEMFROMPOINTER
DYNAMIC QWEBHITTESTRESULT
DYNAMIC QWEBHITTESTRESULTFROMPOINTER
DYNAMIC QWEBPAGE
DYNAMIC QWEBPAGEFROMPOINTER
DYNAMIC QWEBPLUGINFACTORY
DYNAMIC QWEBPLUGINFACTORYFROMPOINTER
DYNAMIC QWEBSECURITYORIGIN
DYNAMIC QWEBSECURITYORIGINFROMPOINTER
DYNAMIC QWEBSETTINGS
DYNAMIC QWEBSETTINGSFROMPOINTER
DYNAMIC QWEBVIEW
DYNAMIC QWEBVIEWFROMPOINTER
DYNAMIC __HBQTWEBKIT
#ifdef __HBEXTERN__HBQTWEBKIT__REQUEST
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>