2009-04-06 23:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* harbour/contrib/hbqt/generator/hbqtgen.prg
    + New hbqt.h members.

  * harbour/contrib/hbqt/generator/qt45.qtp
    + Added new classes, Rearranged alphabetically.

  * harbour/contrib/hbqt/qth/QAction.qth
  + harbour/contrib/hbqt/qth/QBitmap.qth
  + harbour/contrib/hbqt/qth/QCommonStyle.qth
  + harbour/contrib/hbqt/qth/QIcon.qth
  + harbour/contrib/hbqt/qth/QPixmap.qth
  + harbour/contrib/hbqt/qth/QStatusBar.qth
  + harbour/contrib/hbqt/qth/QStyle.qth
  + harbour/contrib/hbqt/qth/QWindowsStyle.qth
  + harbour/contrib/hbqt/qth/QWindowsXPStyle.qth
    + Added new classes. Updated old ones.

  * harbour/contrib/hbqt/tests/demoqt.prg
    + Implemented StatusBar, Windows Icon, etc.
This commit is contained in:
Pritpal Bedi
2009-04-07 06:51:37 +00:00
parent 7619b3c94e
commit 44d73edbdc
13 changed files with 1107 additions and 58 deletions

View File

@@ -8,6 +8,27 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-04-06 23:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/generator/hbqtgen.prg
+ New hbqt.h members.
* harbour/contrib/hbqt/generator/qt45.qtp
+ Added new classes, Rearranged alphabetically.
* harbour/contrib/hbqt/qth/QAction.qth
+ harbour/contrib/hbqt/qth/QBitmap.qth
+ harbour/contrib/hbqt/qth/QCommonStyle.qth
+ harbour/contrib/hbqt/qth/QIcon.qth
+ harbour/contrib/hbqt/qth/QPixmap.qth
+ harbour/contrib/hbqt/qth/QStatusBar.qth
+ harbour/contrib/hbqt/qth/QStyle.qth
+ harbour/contrib/hbqt/qth/QWindowsStyle.qth
+ harbour/contrib/hbqt/qth/QWindowsXPStyle.qth
+ Added new classes. Updated old ones.
* harbour/contrib/hbqt/tests/demoqt.prg
+ Implemented StatusBar, Windows Icon, etc.
2009-04-06 19:19 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/generator/hbqtgen.prg
! Fixed: warning - taken address of temprary. Thanks Xavi.

View File

@@ -1095,7 +1095,7 @@ STATIC FUNCTION Build_Class( cWidget, cls_, doc_, cPathOut )
aadd( txt_, '' )
n := ascan( cls_, {|e_| lower( e_[ 1 ] ) == 'inherit' } )
n := ascan( cls_, {|e_| left( lower( e_[ 1 ] ),7 ) == 'inherit' .and. !empty( e_[ 2 ] ) } )
s := 'CREATE CLASS '+ cWidget + IF( n > 0, ' INHERIT ' + cls_[ n,2 ], '' )
aadd( txt_, s )
@@ -1385,8 +1385,12 @@ STATIC FUNCTION Build_HBQT_H( cPathOut )
aadd( txt_, "#define hbqt_par_QPaintEvent( n ) ( ( QPaintEvent* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QInputEvent( n ) ( ( QInputEvent* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_HRGN( n ) ( ( HRGN* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QIcon( n ) ( ( QIcon* ) hb_parc( n ) ) " )
aadd( txt_, "#define hbqt_par_QStyleOption( n ) ( ( QStyleOption* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QStyleOptionComplex( n ) ( ( QStyleOptionComplex* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QFontMetrics( n ) ( ( QFontMetrics* ) hb_parptr( n ) ) " )
aadd( txt_, "#define hbqt_par_QStyleHintReturn( n ) ( ( QStyleHintReturn* ) hb_parptr( n ) ) " )
aadd( txt_, " " )
aadd( txt_, "#define hbqt_par_QIcon( n ) ( ( QIcon ) hb_parc( n ) ) " )
aadd( txt_, "#define hbqt_par_QString( n ) ( ( QString ) hb_parc( n ) ) " )
aadd( txt_, "#define hbqt_par_QRgb( n ) ( hb_parnint( n ) ) " )
aadd( txt_, "#define hbqt_par_Bool( n ) ( hb_parl( n ) ) " )
@@ -2391,4 +2395,3 @@ STATIC FUNCTION Build_Demo()
/*----------------------------------------------------------------------*/

View File

@@ -19,6 +19,7 @@ QAbstractSlider.qth
QAbstractSpinBox.qth
QAction.qth
QApplication.qth
QBitmap.qth
QBoxLayout.qth
QBrush.qth
QCalendarWidget.qth
@@ -27,6 +28,7 @@ QColor.qth
QColorDialog.qth
QComboBox.qth
QCommandLinkButton.qth
QCommonStyle.qth
QCoreApplication.qth
QDateEdit.qth
QDateTimeEdit.qth
@@ -37,6 +39,8 @@ QDir.qth
QDockWidget.qth
QDoubleSpinBox.qth
QErrorMessage.qth
QEvent.qth
QEventLoop.qth
QFileDialog.qth
QFocusFrame.qth
QFont.qth
@@ -51,7 +55,9 @@ QGroupBox.qth
QHBoxLayout.qth
QHeaderView.qth
QHttp.qth
QIcon.qth
QInputDialog.qth
QInputEvent.qth
QLabel.qth
QLayout.qth
QLayoutItem.qth
@@ -68,21 +74,32 @@ QObject.qth
QPaintDevice.qth
QPageSetupDialog.qth
QPainter.qth
QPaintEvent.qth
QPen.qth
QPixmap.qth
QPoint.qth
QPointF.qth
QPrintDialog.qth
QPrintPreviewDialog.qth
QProgressBar.qth
QProgressDialog.qth
QPushButton.qth
QRect.qth
QRectF.qth
QRadioButton.qth
QRegion.qth
QScrollArea.qth
QScrollBar.qth
QSignalMapper.qth
QSize.qth
QSizeF.qth
QSizeGrip.qth
QSlider.qth
QSpinBox.qth
QSplashScreen.qth
QSplitter.qth
QStatusBar.qth
QStyle.qth
QTabBar.qth
QTableView.qth
QTableWidget.qth
@@ -98,22 +115,12 @@ QTreeView.qth
QTreeWidget.qth
QTreeWidgetItem.qth
QUrl.qth
QVariant.qth
QVBoxLayout.qth
QWebPage.qth
QWidget.qth
QWizard.qth
QWebView.qth
QSize.qth
QSizeF.qth
QPoint.qth
QPointF.qth
QRect.qth
QRectF.qth
QRegion.qth
QVariant.qth
QEvent.qth
QEventLoop.qth
QPaintEvent.qth
QInputEvent.qth
QWindowsStyle.qth
QWindowsXPStyle.qth
QWizard.qth

View File

@@ -80,7 +80,7 @@ HB_FUNC( QT_QACTION )
else if( HB_ISPOINTER( 2 ) )
hb_retptr( new QAction( hbqt_par_QString( 1 ), hbqt_par_QObject( 2 ) ) );
else if( HB_ISPOINTER( 3 ) )
hb_retptr( new QAction( hbqt_par_QIcon( 1 ), hbqt_par_QString( 2 ), hbqt_par_QObject( 3 ) ) );
hb_retptr( new QAction( *hbqt_par_QIcon( 1 ), hbqt_par_QString( 2 ), hbqt_par_QObject( 3 ) ) );
}
</CODE>

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>
Inherits = QPixmap
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QBitmap>
/*
* QBitmap ()
* QBitmap ( const QPixmap & pixmap )
* QBitmap ( int width, int height )
* QBitmap ( const QSize & size )
* QBitmap ( const QString & fileName, const char * format = 0 )
* ~QBitmap ()
*/
HB_FUNC( QT_QBITMAP )
{
hb_retptr( ( QBitmap* ) new QBitmap() );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
void clear ()
QBitmap transformed ( const QTransform & matrix ) const
QBitmap transformed ( const QMatrix & matrix ) const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,90 @@
/*
* $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>
Inherits = QStyle
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QCommonStyle>
/*
* QCommonStyle ()
*/
HB_FUNC( QT_QCOMMONSTYLE )
{
hb_retptr( ( QCommonStyle* ) new QCommonStyle() );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,108 @@
/*
* $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 =
</CLASS>
<CODE>
#include <QtGui/QIcon>
/*
* QIcon ()
* QIcon ( const QPixmap & pixmap )
* QIcon ( const QIcon & other )
* QIcon ( const QString & fileName )
* QIcon ( QIconEngine * engine )
* QIcon ( QIconEngineV2 * engine )
* ~QIcon ()
*/
HB_FUNC( QT_QICON )
{
hb_retptr( ( QIcon* ) new QIcon() );
}
</CODE>
<ENUMS>
enum Mode { Normal, Disabled, Active, Selected }
enum State { Off, On }
</ENUMS>
<PROTOS>
QSize actualSize ( const QSize & size, Mode mode = Normal, State state = Off ) const
void addFile ( const QString & fileName, const QSize & size = QSize(), Mode mode = Normal, State state = Off )
void addPixmap ( const QPixmap & pixmap, Mode mode = Normal, State state = Off )
QList<QSize> availableSizes ( Mode mode = Normal, State state = Off ) const
qint64 cacheKey () const
bool isNull () const
void paint ( QPainter * painter, const QRect & rect, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off ) const
void paint ( QPainter * painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off ) const
QPixmap pixmap ( const QSize & size, Mode mode = Normal, State state = Off ) const
QPixmap pixmap ( int w, int h, Mode mode = Normal, State state = Off ) const
QPixmap pixmap ( int extent, Mode mode = Normal, State state = Off ) const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,152 @@
/*
* $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>
Inherits = QPaintDevice
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QPixmap>
#include <QtGui/QBitmap>
/*
* QPixmap ()
* QPixmap ( int width, int height )
* QPixmap ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
* QPixmap ( const char * const[] xpm )
* QPixmap ( const QPixmap & pixmap )
* QPixmap ( const QSize & size )
* ~QPixmap ()
*/
HB_FUNC( QT_QPIXMAP )
{
hb_retptr( ( QPixmap* ) new QPixmap() );
}
</CODE>
<ENUMS>
enum HBitmapFormat { NoAlpha, PremultipliedAlpha, Alpha }
enum ShareMode { ImplicitlyShared, ExplicitlyShared }
</ENUMS>
<PROTOS>
QPixmap alphaChannel () const
qint64 cacheKey () const
#
// QRgb * clut () const
#
QPixmap copy ( const QRect & rectangle = QRect() ) const
QPixmap copy ( int x, int y, int width, int height ) const
QBitmap createHeuristicMask ( bool clipTight = true ) const
QBitmap createMaskFromColor ( const QColor & maskColor, Qt::MaskMode mode ) const
QBitmap createMaskFromColor ( const QColor & maskColor ) const
int depth () const
void detach ()
void fill ( const QColor & color = Qt::white )
void fill ( const QWidget * widget, const QPoint & offset )
void fill ( const QWidget * widget, int x, int y )
#
// Qt::HANDLE handle () const
#
bool hasAlpha () const
bool hasAlphaChannel () const
int height () const
bool isNull () const
bool isQBitmap () const
bool load ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
#
// bool loadFromData ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
#
bool loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
QBitmap mask () const
#
// int numCols () const
#
// const uchar * qwsBits () const
#
// int qwsBytesPerLine () const
#
QRect rect () const
bool save ( const QString & fileName, const char * format = 0, int quality = -1 ) const
bool save ( QIODevice * device, const char * format = 0, int quality = -1 ) const
QPixmap scaled ( const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) const
QPixmap scaled ( int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) const
QPixmap scaledToHeight ( int height, Qt::TransformationMode mode = Qt::FastTransformation ) const
QPixmap scaledToWidth ( int width, Qt::TransformationMode mode = Qt::FastTransformation ) const
void setAlphaChannel ( const QPixmap & alphaChannel )
void setMask ( const QBitmap & mask )
QSize size () const
QImage toImage () const
#
// CGImageRef toMacCGImageRef () const
#
HBITMAP toWinHBITMAP ( HBitmapFormat format = NoAlpha ) const
QPixmap transformed ( const QTransform & transform, Qt::TransformationMode mode = Qt::FastTransformation ) const
QPixmap transformed ( const QMatrix & matrix, Qt::TransformationMode mode = Qt::FastTransformation ) const
int width () const
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,102 @@
/*
* $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>
Inherits = QWidget
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QStatusBar>
/*
* QStatusBar ( QWidget * parent = 0 )
* virtual ~QStatusBar ()
*/
HB_FUNC( QT_QSTATUSBAR )
{
hb_retptr( ( QStatusBar* ) new QStatusBar( hbqt_par_QWidget( 1 ) ) );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
void addPermanentWidget ( QWidget * widget, int stretch = 0 )
void addWidget ( QWidget * widget, int stretch = 0 )
QString currentMessage () const
int insertPermanentWidget ( int index, QWidget * widget, int stretch = 0 )
int insertWidget ( int index, QWidget * widget, int stretch = 0 )
bool isSizeGripEnabled () const
void removeWidget ( QWidget * widget )
void setSizeGripEnabled ( bool )
</PROTOS>
<SLOTS>
void clearMessage ()
void showMessage ( const QString & message, int timeout = 0 )
</SLOTS>
<SIGNALS>
void messageChanged ( const QString & message )
</SIGNALS>

View File

@@ -0,0 +1,126 @@
/*
* $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>
Inherits = QObject
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QStyle>
/*
* QStyle ()
* virtual ~QStyle ()
*/
HB_FUNC( QT_QSTYLE )
{
}
</CODE>
<ENUMS>
flags State
flags SubControls
enum ComplexControl { CC_SpinBox, CC_ComboBox, CC_ScrollBar, CC_Slider, ..., CC_CustomBase }
enum ContentsType { CT_CheckBox, CT_ComboBox, CT_Q3DockWindow, CT_HeaderSection, ..., CT_MdiControls }
enum ControlElement { CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel, CE_DockWidgetTitle, ..., CE_ShapedFrame }
enum PixelMetric { PM_ButtonMargin, PM_DockWidgetTitleBarButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, ..., PM_SubMenuOverlap }
enum PrimitiveElement { PE_FrameStatusBar, PE_PanelButtonCommand, PE_FrameDefaultButton, PE_PanelButtonBevel, ..., PE_PanelMenu }
enum StandardPixmap { SP_TitleBarMinButton, SP_TitleBarMenuButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, ..., SP_CustomBase }
enum StateFlag { State_None, State_Active, State_AutoRaise, State_Children, ..., State_Small }
enum StyleHint { SH_EtchDisabledText, SH_DitherDisabledText, SH_GUIStyle, SH_ScrollBar_ContextMenu, ..., SH_DockWidget_ButtonsHaveFrame }
enum SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, ..., SC_All }
enum SubElement { SE_PushButtonContents, SE_PushButtonFocusRect, SE_PushButtonLayoutItem, SE_CheckBoxIndicator, ..., SE_TabBarTabText }
</ENUMS>
<PROTOS>
int combinedLayoutSpacing ( QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption * option = 0, QWidget * widget = 0 ) const
virtual void drawComplexControl ( ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0 ) const = 0
virtual void drawControl ( ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0 ) const = 0
virtual void drawItemPixmap ( QPainter * painter, const QRect & rectangle, int alignment, const QPixmap & pixmap ) const
virtual void drawItemText ( QPainter * painter, const QRect & rectangle, int alignment, const QPalette & palette, bool enabled, const QString & text, QPalette::ColorRole textRole = QPalette::NoRole ) const
virtual void drawPrimitive ( PrimitiveElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0 ) const = 0
virtual QPixmap generatedIconPixmap ( QIcon::Mode iconMode, const QPixmap & pixmap, const QStyleOption * option ) const = 0
virtual SubControl hitTestComplexControl ( ComplexControl control, const QStyleOptionComplex * option, const QPoint & position, const QWidget * widget = 0 ) const = 0
virtual QRect itemPixmapRect ( const QRect & rectangle, int alignment, const QPixmap & pixmap ) const
virtual QRect itemTextRect ( const QFontMetrics & metrics, const QRect & rectangle, int alignment, bool enabled, const QString & text ) const
int layoutSpacing ( QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption * option = 0, const QWidget * widget = 0 ) const
virtual int pixelMetric ( PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) const = 0
virtual void polish ( QWidget * widget )
virtual void polish ( QApplication * application )
virtual void polish ( QPalette & palette )
virtual QSize sizeFromContents ( ContentsType type, const QStyleOption * option, const QSize & contentsSize, const QWidget * widget = 0 ) const = 0
QIcon standardIcon ( StandardPixmap standardIcon, const QStyleOption * option = 0, const QWidget * widget = 0 ) const
virtual QPalette standardPalette () const
virtual int styleHint ( StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0 ) const = 0
virtual QRect subControlRect ( ComplexControl control, const QStyleOptionComplex * option, SubControl subControl, const QWidget * widget = 0 ) const = 0
virtual QRect subElementRect ( SubElement element, const QStyleOption * option, const QWidget * widget = 0 ) const = 0
virtual void unpolish ( QWidget * widget )
virtual void unpolish ( QApplication * application )
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,92 @@
/*
* $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>
Inherits = QCommonStyle
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QWindowsStyle>
/*
* QWindowsStyle ()
* ~QWindowsStyle ()
*
*/
HB_FUNC( QT_QWINDOWSSTYLE )
{
hb_retptr( ( QWindowsStyle* ) new QWindowsStyle() );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -0,0 +1,92 @@
/*
* $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>
Inherits = QWindowsStyle
Type = Core
New =
</CLASS>
<CODE>
#include <QtGui/QWindowsXPStyle>
/*
* QWindowsXPStyle ()
* ~QWindowsXPStyle ()
*
*/
HB_FUNC( QT_QWINDOWSXPSTYLE )
{
hb_retptr( ( QWindowsXPStyle* ) new QWindowsXPStyle() );
}
</CODE>
<ENUMS>
</ENUMS>
<PROTOS>
</PROTOS>
<SLOTS>
</SLOTS>
<SIGNALS>
</SIGNALS>

View File

@@ -54,6 +54,24 @@
#define QT_PTROF( oObj ) ( oObj:pPtr )
#define QT_EVE_TRIGGERED "triggered(bool)"
#define QT_EVE_TRIGGERED_B "triggered(bool)"
#define QT_EVE_HOVERED "hovered()"
#define QT_EVE_CLICKED "clicked()"
/*----------------------------------------------------------------------*/
/*
* A NOTE
*
* This demo is built on auto generated classes by the engine. No attemp
* is exercised to refine the way the code must be written. At this moment
* my emphasis is on testing phase of QT wrapper functions and classes
* generated thereof. In near future the actual implementation will be
* based on the Xbase++ XBPParts compatible framework. You just are
* encouraged to sense the power of QT through this expression.
*
* Pritpal Bedi
*/
/*----------------------------------------------------------------------*/
INIT PROCEDURE Qt_Start()
@@ -70,57 +88,197 @@ PROCEDURE Main()
Local oLabel
Local oWnd
Local oMenuBar
Local oMenuA
Local oMenuA, pAction
LOCAL oPS, oPPrv, oMB, oWZ, oCD, oWP
oWnd := QMainWindow():New()
oWnd:SetWindowTitle("Testing - QMainWindow, QMenu, QMenuBar and QLabel" )
oWnd:Resize( { 640, 400 } )
oMenuBar := QMenuBar():new( QT_PTROF( oWnd ) )
oMenuBar:resize( { oWnd:width(), 20 } )
oMenuBar:addAction( "First" )
oMenuBar:addSeparator()
oMenuBar:addAction( "Second" )
oMenuA := QMenu():new( QT_PTROF( oMenuBar ) )
oMenuA:setTitle( "New" )
oMenuA:addAction( "File" )
oMenuA:addAction( "Open" )
oMenuA:addSeparator()
oMenuA:addAction( "Close" )
oMenuBar:addMenu( QT_PTROF( oMenuA ) )
oLabel := QLabel():New( QT_PTROF( oWnd ) )
oLabel:SetText( "Testing Harbour + Qt" )
oLabel:move( { 100,100 } )
oLabel:Show()
oWnd := QMainWindow():new()
oWnd:setWindowTitle("Testing - QMainWindow, QMenu, QMenuBar and QAction " )
oWnd:resize( 640, 400 )
oWnd:Show()
oPS := QPageSetupDialog():new()
oPS:setWindowTitle( "Harbour-QT PageSetup Dialog" )
oPS:show()
oPPrv := QPrintPreviewDialog():new()
oPPrv:setWindowTitle( "Harbour-QT Preview Preview Dialog" )
oPPrv:show()
oWZ := QWizard():new()
oWZ:setWindowTitle( "Harbour-QT Wizard to Show Slides etc." )
oWZ:show()
oCD := QColorDialog():new()
oCD:setWindowTitle( "Harbour-QT Color Selection Dialog" )
oCD:show()
oWP := QWebView():new()
oWP:setWindowTitle( "Harbour-QT Web Page Navigator" )
oWP:show()
Build_MenuBar( oWnd )
oLabel := QLabel():New( QT_PTROF( oWnd ) )
oLabel:setText( "Testing Harbour + Qt" )
oLabel:move( 200,100 )
oLabel:show()
RETURN
/*----------------------------------------------------------------------*/
PROCEDURE HB_GtSys()
STATIC FUNCTION Build_MenuBar( oWnd )
LOCAL oMenuBar, oMenu
oMenuBar := QMenuBar():new( QT_PTROF( oWnd ) )
oMenuBar:resize( oWnd:width(), 25 )
oMenu := QMenu():new( QT_PTROF( oMenuBar ) )
oMenu:setTitle( "&File" )
Qt_Connect_Signal( oMenu:addAction_1( "new.png" , "&New" ), QT_EVE_TRIGGERED_B, {|w,l| FileDialog( "New" , w, l ) } )
Qt_Connect_Signal( oMenu:addAction_1( "open.png", "&Open" ), QT_EVE_TRIGGERED_B, {|w,l| FileDialog( "Open", w, l ) } )
oMenu:addSeparator()
Qt_Connect_Signal( oMenu:addAction_1( "save.png", "&Save" ), QT_EVE_TRIGGERED_B, {|w,l| FileDialog( "Save", w, l ) } )
oMenu:addSeparator()
Qt_Connect_Signal( oMenu:addAction( "E&xit" ), QT_EVE_TRIGGERED_B, {|w,l| MsgInfo( "Exit ?" ) } )
oMenuBar:addMenu( QT_PTROF( oMenu ) )
oMenu := QMenu():new( QT_PTROF( oMenuBar ) )
oMenu:setTitle( "&Dialogs" )
Qt_Connect_Signal( oMenu:addAction( "&Colors" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "Colors" , w, l ) } )
Qt_Connect_Signal( oMenu:addAction( "&Fonts" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "Fonts" , w, l ) } )
oMenu:addSeparator()
Qt_Connect_Signal( oMenu:addAction( "&PageSetup" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "PageSetup", w, l ) } )
Qt_Connect_Signal( oMenu:addAction( "P&review" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "Preview" , w, l ) } )
oMenu:addSeparator()
Qt_Connect_Signal( oMenu:addAction( "&Wizard" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "Wizard" , w, l ) } )
Qt_Connect_Signal( oMenu:addAction( "W&ebPage" ), QT_EVE_TRIGGERED_B, {|w,l| Dialogs( "WebPage" , w, l ) } )
oMenuBar:addMenu( QT_PTROF( oMenu ) )
oMenuBar:show()
RETURN nil
/*----------------------------------------------------------------------*/
FUNCTION MsgInfo( cMsg )
LOCAL oMB
oMB := QMessageBox():new()
oMB:setInformativeText( cMsg )
oMB:setWindowTitle( "Harbour-QT" )
oMB:show()
RETURN nil
/*----------------------------------------------------------------------*/
STATIC FUNCTION FileDialog( cType, w, l )
LOCAL oFD := QFileDialog():new()
oFD:setWindowTitle( "Select a File" )
oFD:show()
RETURN nil
/*----------------------------------------------------------------------*/
STATIC FUNCTION Dialogs( cType, w, l )
LOCAL oDlg, oUrl
DO CASE
CASE cType == "PageSetup"
oDlg := QPageSetupDialog():new()
oDlg:setWindowTitle( "Harbour-QT PageSetup Dialog" )
oDlg:show()
CASE cType == "Preview"
oDlg := QPrintPreviewDialog():new()
oDlg:setWindowTitle( "Harbour-QT Preview Dialog" )
oDlg:show()
CASE cType == "Wizard"
oDlg := QWizard():new()
oDlg:setWindowTitle( "Harbour-QT Wizard to Show Slides etc." )
oDlg:show()
CASE cType == "Colors"
oDlg := QColorDialog():new()
oDlg:setWindowTitle( "Harbour-QT Color Selection Dialog" )
oDlg:show()
CASE cType == "WebPage"
oDlg := QWebView():new()
oUrl := QUrl():new()
oUrl:setUrl( "http://www.harbour.vouch.info" )
QT_QWebView_SetUrl( QT_PTROF( oDlg ), QT_PTROF( oUrl ) )
oDlg:setWindowTitle( "Harbour-QT Web Page Navigator" )
oDlg:show()
CASE cType == "Fonts"
oDlg := QFontDialog():new()
oDlg:setWindowTitle( "Harbour-QT Font Selector" )
oDlg:show()
ENDCASE
RETURN nil
/*----------------------------------------------------------------------*/
PROCEDURE hb_GtSys()
HB_GT_GUI_DEFAULT()
RETURN
/*----------------------------------------------------------------------*/
/*
* Just to Link Every New Widget
*/
STATIC FUNCTION Dummies()
LOCAL oSome
oSome := QAction():new()
oSome := QBoxLayout():new()
oSome := QCalendarWidget():new()
oSome := QCheckBox():new()
oSome := QColorDialog():new()
oSome := QComboBox():new()
oSome := QCommandLinkButton():new()
oSome := QDateEdit():new()
oSome := QDateTimeEdit():new()
oSome := QDial():new()
oSome := QDialog():new()
oSome := QDoubleSpinBox():new()
oSome := QErrorMessage():new()
oSome := QFileDialog():new()
oSome := QFocusFrame():new()
oSome := QFontComboBox():new()
oSome := QFontDialog():new()
oSome := QFormLayout():new()
oSome := QFrame():new()
oSome := QGroupBox():new()
oSome := QHBoxLayout():new()
oSome := QInputDialog():new()
oSome := QLabel():new()
oSome := QLayout():new()
oSome := QLayoutItem():new()
oSome := QLCDNumber():new()
oSome := QLineEdit():new()
oSome := QListView():new()
oSome := QMainWindow():new()
oSome := QMenu():new()
oSome := QMenuBar():new()
oSome := QMessageBox():new()
oSome := QObject():new()
oSome := QPageSetupDialog():new()
oSome := QPaintDevice():new()
oSome := QPainter():new()
oSome := QPrintDialog():new()
oSome := QPrintPreviewDialog():new()
oSome := QProgressBar():new()
oSome := QProgressDialog():New()
oSome := QPushButton():new()
oSome := QRadioButton():new()
oSome := QScrollArea():new()
oSome := QScrollBar():new()
oSome := QSizeGrip():new()
oSome := QSlider():new()
oSome := QSpinBox():new()
oSome := QSplitter():new()
oSome := QTabBar():new()
oSome := QTableView():new()
oSome := QTableWidget():new()
oSome := QTableWidgetItem():new()
oSome := QTabWidget():new()
oSome := QTextEdit():new()
oSome := QTimeEdit():new()
oSome := QToolBar():new()
oSome := QToolBox():new()
oSome := QToolButton():new()
oSome := QTreeView():new()
oSome := QTreeWidget():new()
oSome := QTreeWidgetItem():new()
oSome := QVBoxLayout():new()
oSome := QWebPage():new()
oSome := QWebView():new()
oSome := QWidget():new()
oSome := QWizard():new()
RETURN nil
/*----------------------------------------------------------------------*/