2009-04-05 14:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* harbour/contrib/hbqt/generator/hbqtgen.prg
  * harbour/contrib/hbqt/generator/qt45.qtp
  + harbour/contrib/hbqt/qth/QPoint.qth
  + harbour/contrib/hbqt/qth/QPointF.qth
  + harbour/contrib/hbqt/qth/QRect.qth
  + harbour/contrib/hbqt/qth/QRectF.qth
  + harbour/contrib/hbqt/qth/QSizeF.qth
    + Added more classes.
This commit is contained in:
Pritpal Bedi
2009-04-05 21:16:59 +00:00
parent 6f8b14a15d
commit 1d9e8d884c
8 changed files with 635 additions and 0 deletions

View File

@@ -8,6 +8,16 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-04-05 14:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/generator/hbqtgen.prg
* harbour/contrib/hbqt/generator/qt45.qtp
+ harbour/contrib/hbqt/qth/QPoint.qth
+ harbour/contrib/hbqt/qth/QPointF.qth
+ harbour/contrib/hbqt/qth/QRect.qth
+ harbour/contrib/hbqt/qth/QRectF.qth
+ harbour/contrib/hbqt/qth/QSizeF.qth
+ Added more classes.
2009-04-05 12:57 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ harbour/contrib/hbqt/tests/wvtext.prg
+ Added wvtext.prg [ already in harbour/tests ] modified

View File

@@ -598,6 +598,10 @@ STATIC FUNCTION ParseProto( cProto, cWidget, txt_, doc_, aEnum, func_ )
cDocNM := THIS_PROPER( aA[ PRT_NAME ] )
DO CASE
CASE aA[ PRT_CAST ] == 'T'
aA[ PRT_BODY ] := 'hb_param( '+ cHBIdx +', HB_IT_ANY )'
aA[ PRT_DOC ] := 'x'+ cDocNM
/* Values by reference */
CASE aA[ PRT_CAST ] $ 'int,qint16,qint32,qint64,quint16,quint32,quint64,QRgb' .and. aA[ PRT_L_FAR ]
aadd( aPre, { 'int i'+cDocNM+' = 0;', nHBIdx, 'i'+ cDocNM, 'hb_storni' } )
@@ -732,6 +736,10 @@ STATIC FUNCTION ParseProto( cProto, cWidget, txt_, doc_, aEnum, func_ )
cDocNM := THIS_PROPER( aA[ PRT_NAME ] )
DO CASE
CASE aA[ PRT_CAST ] == 'T'
cCmd := 'hb_ret( '+ cCmn +' )'
cPrgRet := 'x'+cDocNM
CASE aA[ PRT_CAST ] == 'void'
cCmd := cCmn
cPrgRet := 'NIL'
@@ -1319,6 +1327,7 @@ STATIC FUNCTION Build_HBQT_H( cPathOut )
aadd( txt_, "#define hbqt_par_QImage( n ) ( ( QImage* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QKeySequence( n ) ( ( QKeySequence* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QSize( n ) ( ( QSize* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QSizeF( n ) ( ( QSizeF* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QModelIndex( n ) ( ( QModelIndex* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QVariant( n ) ( ( QVariant* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QSessionManager( n ) ( ( QSessionManager* ) hb_parptr( n ) ) " )

View File

@@ -105,3 +105,8 @@ QWizard.qth
QWebView.qth
QSize.qth
QSizeF.qth
QPoint.qth
QPointF.qth
QRect.qth
QRectF.qth

View File

@@ -0,0 +1,98 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
* 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.
*
*/
/*----------------------------------------------------------------------*/
;
; Header File to Generate QT Wrapper Sources
;
<CLASS>
Type = Core
New = nX, nY
</CLASS>
<CODE>
#include <QtCore/QPoint>
/*
* QPoint ()
* QPoint ( int x, int y )
*/
HB_FUNC( QT_QPOINT )
{
hb_retptr( ( QPoint* ) new QPoint( hb_parni( 1 ), hb_parni( 2 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
bool isNull () const
int manhattanLength () const
int & rx ()
int & ry ()
void setX ( int x )
void setY ( int y )
int x () const
int y () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,100 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
* 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.
*
*/
/*----------------------------------------------------------------------*/
;
; Header File to Generate QT Wrapper Sources
;
<CLASS>
Type = Core
New = nXf, nYf
</CLASS>
<CODE>
#include <QtCore/QPointF>
/*
* QPointF ()
* QPointF ( const QPoint & point )
* QPointF ( qreal x, qreal y )
*/
HB_FUNC( QT_QPOINTF )
{
hb_retptr( ( QPointF* ) new QPointF( ( qreal ) hb_parnd( 1 ),
( qreal ) hb_parnd( 2 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
bool isNull () const
qreal & rx ()
qreal & ry ()
void setX ( qreal x )
void setY ( qreal y )
QPoint toPoint () const
qreal x () const
qreal y () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,151 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
* 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.
*
*/
/*----------------------------------------------------------------------*/
;
; Header File to Generate QT Wrapper Sources
;
<CLASS>
Type = Core
New = nLeft, nTop, nRight, nBottom
</CLASS>
<CODE>
#include <QtCore/QRect>
/*
* QRect ()
* QRect ( const QPoint & topLeft, const QPoint & bottomRight )
* QRect ( const QPoint & topLeft, const QSize & size )
* QRect ( int x, int y, int width, int height )
*/
HB_FUNC( QT_QRECT )
{
hb_retptr( ( QRect* ) new QRect( hb_parni( 1 ), hb_parni( 2 ), hb_parni( 3 ), hb_parni( 4 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
void adjust ( int dx1, int dy1, int dx2, int dy2 )
QRect adjusted ( int dx1, int dy1, int dx2, int dy2 ) const
int bottom () const
QPoint bottomLeft () const
QPoint bottomRight () const
QPoint center () const
bool contains ( const QPoint & point, bool proper = false ) const
bool contains ( int x, int y, bool proper ) const
bool contains ( int x, int y ) const
bool contains ( const QRect & rectangle, bool proper = false ) const
void getCoords ( int * x1, int * y1, int * x2, int * y2 ) const
void getRect ( int * x, int * y, int * width, int * height ) const
int height () const
QRect intersected ( const QRect & rectangle ) const
bool intersects ( const QRect & rectangle ) const
bool isEmpty () const
bool isNull () const
bool isValid () const
int left () const
void moveBottom ( int y )
void moveBottomLeft ( const QPoint & position )
void moveBottomRight ( const QPoint & position )
void moveCenter ( const QPoint & position )
void moveLeft ( int x )
void moveRight ( int x )
void moveTo ( int x, int y )
void moveTo ( const QPoint & position )
void moveTop ( int y )
void moveTopLeft ( const QPoint & position )
void moveTopRight ( const QPoint & position )
QRect normalized () const
int right () const
void setBottom ( int y )
void setBottomLeft ( const QPoint & position )
void setBottomRight ( const QPoint & position )
void setCoords ( int x1, int y1, int x2, int y2 )
void setHeight ( int height )
void setLeft ( int x )
void setRect ( int x, int y, int width, int height )
void setRight ( int x )
void setSize ( const QSize & size )
void setTop ( int y )
void setTopLeft ( const QPoint & position )
void setTopRight ( const QPoint & position )
void setWidth ( int width )
void setX ( int x )
void setY ( int y )
QSize size () const
int top () const
QPoint topLeft () const
QPoint topRight () const
void translate ( int dx, int dy )
void translate ( const QPoint & offset )
QRect translated ( int dx, int dy ) const
QRect translated ( const QPoint & offset ) const
QRect united ( const QRect & rectangle ) const
int width () const
int x () const
int y () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,156 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
* 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.
*
*/
/*----------------------------------------------------------------------*/
;
; Header File to Generate QT Wrapper Sources
;
<CLASS>
Type = Core
New = nLeft, nTop, nRight, nBottom
</CLASS>
<CODE>
#include <QtCore/QRectF>
/*
* QRectF ()
* QRectF ( const QPointF & topLeft, const QSizeF & size )
* QRectF ( const QPointF & topLeft, const QPointF & bottomRight )
* QRectF ( qreal x, qreal y, qreal width, qreal height )
* QRectF ( const QRect & rectangle )
*/
HB_FUNC( QT_QRECTF )
{
hb_retptr( ( QRectF* ) new QRectF( ( qreal ) hb_parnd( 1 ),
( qreal ) hb_parnd( 2 ),
( qreal ) hb_parnd( 3 ),
( qreal ) hb_parnd( 4 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
void adjust ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 )
QRectF adjusted ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 ) const
qreal bottom () const
QPointF bottomLeft () const
QPointF bottomRight () const
QPointF center () const
bool contains ( const QPointF & point ) const
bool contains ( qreal x, qreal y ) const
bool contains ( const QRectF & rectangle ) const
void getCoords ( qreal * x1, qreal * y1, qreal * x2, qreal * y2 ) const
void getRect ( qreal * x, qreal * y, qreal * width, qreal * height ) const
qreal height () const
QRectF intersected ( const QRectF & rectangle ) const
bool intersects ( const QRectF & rectangle ) const
bool isEmpty () const
bool isNull () const
bool isValid () const
qreal left () const
void moveBottom ( qreal y )
void moveBottomLeft ( const QPointF & position )
void moveBottomRight ( const QPointF & position )
void moveCenter ( const QPointF & position )
void moveLeft ( qreal x )
void moveRight ( qreal x )
void moveTo ( qreal x, qreal y )
void moveTo ( const QPointF & position )
void moveTop ( qreal y )
void moveTopLeft ( const QPointF & position )
void moveTopRight ( const QPointF & position )
QRectF normalized () const
qreal right () const
void setBottom ( qreal y )
void setBottomLeft ( const QPointF & position )
void setBottomRight ( const QPointF & position )
void setCoords ( qreal x1, qreal y1, qreal x2, qreal y2 )
void setHeight ( qreal height )
void setLeft ( qreal x )
void setRect ( qreal x, qreal y, qreal width, qreal height )
void setRight ( qreal x )
void setSize ( const QSizeF & size )
void setTop ( qreal y )
void setTopLeft ( const QPointF & position )
void setTopRight ( const QPointF & position )
void setWidth ( qreal width )
void setX ( qreal x )
void setY ( qreal y )
QSizeF size () const
QRect toAlignedRect () const
QRect toRect () const
qreal top () const
QPointF topLeft () const
QPointF topRight () const
void translate ( qreal dx, qreal dy )
void translate ( const QPointF & offset )
QRectF translated ( qreal dx, qreal dy ) const
QRectF translated ( const QPointF & offset ) const
QRectF united ( const QRectF & rectangle ) const
qreal width () const
qreal x () const
qreal y () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,106 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
* 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.
*
*/
/*----------------------------------------------------------------------*/
;
; Header File to Generate QT Wrapper Sources
;
<CLASS>
Type = Core
New = nWidth, nHeight
</CLASS>
<CODE>
#include <QtCore/QSizeF>
/*
* QSizeF ()
* QSizeF ( const QSize & size )
* QSizeF ( qreal width, qreal height )
* QSizeF boundedTo ( const QSizeF & otherSize ) const
* QSizeF expandedTo ( const QSizeF & otherSize ) const
*/
HB_FUNC( QT_QSIZEF )
{
hb_retptr( ( QSizeF* ) new QSizeF( hb_parnd( 1 ), hb_parnd( 2 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
qreal height () const
bool isEmpty () const
bool isNull () const
bool isValid () const
qreal & rheight ()
qreal & rwidth ()
void scale ( qreal width, qreal height, Qt::AspectRatioMode mode )
void scale ( const QSizeF & size, Qt::AspectRatioMode mode )
void setHeight ( qreal height )
void setWidth ( qreal width )
QSize toSize () const
void transpose ()
qreal width () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>