2010-08-23 00:16 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbqt/hbqt.ch
  * contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
  * contrib/hbqt/qtgui/doc/en/class_hbqgraphicsscene.txt
  * contrib/hbqt/qtgui/g/filelist.hbm
  * contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp
  + contrib/hbqt/qtgui/g/HBQGraphicsScene.cpp
  * contrib/hbqt/qtgui/g/hbqtgui.h
  * contrib/hbqt/qtgui/g/THBQGraphicsItem.prg
  + contrib/hbqt/qtgui/g/THBQGraphicsScene.prg
  * contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
  * contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.h
  * contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.cpp
  * contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.h
  + contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
  + contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.h
  * contrib/hbqt/qtgui/hbqtgui.hbm
  * contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
  + contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
  * contrib/hbqt/utils/qtgui.qtp

  * contrib/hbide/hbide.qrc
  * contrib/hbide/resources/designer.png
  * contrib/hbide/resources/grid.png

  * contrib/hbide/idereportsmanager.prg
    + Added: more classes forming the building blocks of Report Designer.
    + Implemented: in Report Designer:
        Reworked: GraphicsScene mechanism.
        Added: Objects - Images, Gradients, Ellipses, etc.
        Refined: other objects.
        Added: Sources and Fields with drag support.
        Obejct Resizing.
        And many other aspects.  Please play.
This commit is contained in:
Pritpal Bedi
2010-08-23 07:29:26 +00:00
parent 8cac143e58
commit d7791d7926
24 changed files with 4324 additions and 434 deletions

View File

@@ -16,6 +16,41 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-08-23 00:16 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt.ch
* contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
* contrib/hbqt/qtgui/doc/en/class_hbqgraphicsscene.txt
* contrib/hbqt/qtgui/g/filelist.hbm
* contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp
+ contrib/hbqt/qtgui/g/HBQGraphicsScene.cpp
* contrib/hbqt/qtgui/g/hbqtgui.h
* contrib/hbqt/qtgui/g/THBQGraphicsItem.prg
+ contrib/hbqt/qtgui/g/THBQGraphicsScene.prg
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.h
* contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.h
+ contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
+ contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.h
* contrib/hbqt/qtgui/hbqtgui.hbm
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
+ contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
* contrib/hbqt/utils/qtgui.qtp
* contrib/hbide/hbide.qrc
* contrib/hbide/resources/designer.png
* contrib/hbide/resources/grid.png
* contrib/hbide/idereportsmanager.prg
+ Added: more classes forming the building blocks of Report Designer.
+ Implemented: in Report Designer:
Reworked: GraphicsScene mechanism.
Added: Objects - Images, Gradients, Ellipses, etc.
Refined: other objects.
Added: Sources and Fields with drag support.
Obejct Resizing.
And many other aspects. Please play.
2010-08-22 12:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/sqlite3/sqlite3.c
* external/sqlite3/sqlite3.dif

View File

@@ -109,6 +109,7 @@
<file>resources/gotoline.png</file>
<file>resources/gotoline3.png</file>
<file>resources/gotomark.png</file>
<file>resources/grid.png</file>
<file>resources/harbour.png</file>
<file>resources/harbourhelp.png</file>
<file>resources/hb-16x16.png</file>

View File

@@ -153,11 +153,11 @@ CLASS IdeReportsManager INHERIT IdeObject
METHOD buildStatusBar()
METHOD buildTabBar()
METHOD buildDesignReport()
METHOD setPageSize()
METHOD setPaper()
METHOD addRect( qPos, cType )
METHOD addField( qPos, cAlias, cField )
METHOD addObject( qPos, cType )
METHOD loadReport( cName )
METHOD saveReport()
METHOD prepareReport()
ENDCLASS
@@ -234,7 +234,6 @@ METHOD IdeReportsManager:show()
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:buildDesignReport()
STATIC qItem, qItmC
::qLayoutD := QHBoxLayout():new()
::qLayoutD:setContentsMargins( 0,0,0,0 )
@@ -249,13 +248,14 @@ METHOD IdeReportsManager:buildDesignReport()
::qFrameL := QFrame():new()
::qSpliter:addWidget( ::qFrameL )
::qScroll := QScrollArea():new()
::qScroll:setVerticalScrollBarPolicy( Qt_ScrollBarAsNeeded )
::qScroll:setHorizontalScrollBarPolicy( Qt_ScrollBarAsNeeded )
::qScroll:setWidgetResizable( .f. )
::qScroll:setMinimumWidth( 400 )
::qScroll:setBackgroundRole( QPalette_Dark )
::qSpliter:addWidget( ::qScroll )
::qScene := HBQGraphicsScene():new()
::qScene:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsScene_block", p, p1, p2 ) } )
::qView := QGraphicsView():new( ::qDesign )
::qView:setMouseTracking( .t. )
::qView:setScene( ::qScene )
//
::qSpliter:addWidget( ::qView )
::qFrameR := QFrame():new()
::qSpliter:addWidget( ::qFrameR )
@@ -335,45 +335,12 @@ METHOD IdeReportsManager:buildDesignReport()
::qTreeData := QTreeWidget():new()
::qPageR11Lay:addWidget( ::qTreeData )
::qTreeData:setHeaderHidden( .t. )
::qTreeData:setObjectName( "TreeData" )
//
qItem := QTreeWidgetItem():new()
qItem:setText( 0, "Rect" )
::qTreeData:addTopLevelItem( qItem )
qItmC := QTreeWidgetItem():new()
qItmC:setText( 0, "Rounded Rect" )
qItem:addChild( qItmC )
qItem:setExpanded( .t. )
//
qItem := QTreeWidgetItem():new()
qItem:setText( 0, "Circle" )
//
::qTreeData:addTopLevelItem( qItem )
//
::qTreeData:setObjectName( "DataTree" )
::qTreeData:setDragEnabled( .t. )
::setPageSize()
::loadReport()
::qDesign := QFrame():new()
::qScroll:setWidget( ::qDesign )
::qDesign:setBackgroundRole( QPalette_Dark )
::qDesign:setGeometry( QRect():new( 0, 0, ::nPgWidth + 60, ::nPgHeight + 60 ) )
::qHRuler := QFrame():new( ::qDesign )
::qHRuler:setGeometry( QRect():new( 30, 0, ::qDesign:width(), 15 ) )
::qHRuler:setStyleSheet( "background-color: rgb(240,240,240);" )
::qVRuler := QFrame():new( ::qDesign )
::qVRuler:setStyleSheet( "background-color: rgb(240,240,240);" )
::qVRuler:setGeometry( QRect():new( 0, 30, 15, ::qDesign:height() ) )
::qView := QGraphicsView():new( ::qDesign )
::qView:setGeometry( QRect():new( 30, 30, ::nPgWidth+5, ::nPgHeight+5 ) )
::qScene := QGraphicsScene():new( ::qView )
::qView:setScene( ::qScene )
::qScene:setSceneRect_1( 0, 0, ::nPgWidth, ::nPgHeight )
::setPaper()
::qScene:zoomWYSIWYG()
::qWidget1:show()
::qWidget2:show()
@@ -383,30 +350,43 @@ METHOD IdeReportsManager:buildDesignReport()
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:setPageSize()
LOCAL p, r, o
METHOD IdeReportsManager:loadReport( cName )
LOCAL aSource, qItem, qItmC, aFld, a_, i, b_
o := HBQGraphicsRectItem():new()
o:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
o := NIL
HB_SYMBOL_UNUSED( cName )
p := QPrinter():new()
/* All data must be requested from Application based on report definition */
aSource := {}
aadd( aSource, { "Customer", { { "Title" ,"C",35,0 }, { "Street","C",20,0 }, { "Revenue","N",12,2 } }, {} } )
aadd( aSource, { "Invoice" , { { "Number","C",10,0 }, { "Date" ,"D",08,0 }, { "Amount" ,"N",12,2 } }, {} } )
p:setPaperSize( QPrinter_A4 )
p:setOutputFormat( QPrinter_PdfFormat )
p:setOrientation( QPrinter_Portrait )
FOR i := 1 TO len( aSource )
a_:= aSource[ i ]
p:setFullPage( .t. )
r := QRectF():from( p:paperRect_1( QPrinter_Millimeter ) )
qItem := QTreeWidgetItem():new()
qItem:setText( 0, a_[ 1 ] ) // Source Name
::qTreeData:addTopLevelItem( qItem )
::nPgWidth := r:width() * ::nHPxMM
::nPgHeight := r:height() * ::nVPxMM
aFld := a_[ 2 ]
FOR EACH b_ IN aFld
qItmC := QTreeWidgetItem():new()
qItmC:setText( 0, b_[ 1 ] )
qItem:addChild( qItmC )
qItem:setExpanded( .t. )
NEXT
NEXT
p:setFullPage( .f. )
r := QRectF():from( p:paperRect_1( QPrinter_Millimeter ) )
RETURN Self
::nPgWidthP := r:width() * ::nHPxMM
::nPgHeightP := r:height() * ::nVPxMM
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:saveReport()
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:prepareReport()
RETURN Self
@@ -416,13 +396,7 @@ METHOD IdeReportsManager:execEvent( cEvent, p, p1, p2 )
LOCAL qEvent, qMime
SWITCH cEvent
CASE "graphicsPaper_block"
IF p == 21001
::nHPxMM := p1 / 25.4
::nVPxMM := p2 / 25.4
RETURN Self
ENDIF
CASE "graphicsScene_block"
qEvent := QGraphicsSceneDragDropEvent():from( p1 )
DO CASE
@@ -437,14 +411,13 @@ METHOD IdeReportsManager:execEvent( cEvent, p, p1, p2 )
CASE p == QEvent_GraphicsSceneDrop
qMime := QMimeData():from( qEvent:mimeData() )
IF qMime:hasFormat( "application/x-qabstractitemmodeldatalist" )
HB_TRACE( HB_TR_ALWAYS, "application/x-toolbaricon", p2[ 1 ], p2[ 2 ], p2[ 3 ] )
p2[ 2 ] := lower( p2[ 2 ] )
IF p2[ 2 ] == "rect"
::addRect( QPoint():from( qEvent:scenePos() ), "Band" )
IF p2[ 1 ] == "DataTree"
IF p2[ 2 ] != p2[ 3 ]
::addField( QPoint():from( qEvent:scenePos() ), p2[ 2 ], p2[ 3 ] )
ENDIF
ENDIF
ELSEIF qMime:hasFormat( "application/x-toolbaricon" )
HB_TRACE( HB_TR_ALWAYS, "application/x-toolbaricon", qMime:data(), qMime:html() )
SWITCH qMime:html()
CASE "Image"
::addObject( QPoint():from( qEvent:scenePos() ), "Image" )
@@ -458,12 +431,16 @@ HB_TRACE( HB_TR_ALWAYS, "application/x-toolbaricon", qMime:data(), qMime:html()
CASE "Barcode"
::addObject( QPoint():from( qEvent:scenePos() ), "Barcode" )
EXIT
CASE "Text"
::addObject( QPoint():from( qEvent:scenePos() ), "Text" )
EXIT
ENDSWITCH
ELSE
ENDIF
ENDCASE
EXIT
CASE "tabBar_currentChanged"
IF !empty( ::qStack ) .AND. p < ::qStack:count()
::qStack:setCurrentIndex( p )
@@ -479,105 +456,72 @@ HB_TRACE( HB_TR_ALWAYS, "application/x-toolbaricon", qMime:data(), qMime:html()
EXIT
CASE "buttonPrint_clicked"
EXIT
CASE "buttonGrid_clicked"
::qScene:setShowGrid( ::qToolbarAlign:setItemChecked( "Grid" ) )
EXIT
CASE "buttonZoom_clicked"
DO CASE
CASE p == 1
::qScene:zoomIn()
CASE p == 2
::qScene:zoomOut()
CASE p == 3
::qScene:zoomWYSIWYG()
CASE p == 4
::qScene:zoomOriginal()
ENDCASE
EXIT
ENDSWITCH
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:setPaper()
LOCAL qPen := QPen():new( "QColor", QColor():new( 0,240,255 ) )
LOCAL qBrush := QBrush():new( "QColor", QColor():new( 245,245,245 ) )
LOCAL nOffW, nOffH
::qPaper := HBQGraphicsRectItem():new()
::qPaper:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
::qPaper:setFlag( QGraphicsItem_ItemIsMovable , .f. )
::qPaper:setFlag( QGraphicsItem_ItemIsSelectable, .f. )
::qPaper:setAcceptDrops( .t. )
::qPaper:setPen( qPen )
::qPaper:setBrush( qBrush )
nOffW := ::nHPxMM * 10 // 10 mm
nOffH := ::nVPxMM * 10 // 10 MM
::qPaper:setRect_1( nOffW, nOffH, ::nPgWidth - nOffW * 2, ::nPgHeight - nOffH * 2 )
::qScene:addItem( ::qPaper )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:addRect( qPos, cType )
LOCAL oWidget, cName
STATIC nW := 400
STATIC nH := 300
nW -= 30
nH -= 30
cName := cType + "_" + hb_ntos( hbide_getNextID( cType ) )
oWidget := HBQGraphicsRectItem():new()
oWidget:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
oWidget:setFlag( QGraphicsItem_ItemIsMovable , .t. )
oWidget:setFlag( QGraphicsItem_ItemIsSelectable, .t. )
* oWidget:setFlag( QGraphicsItem_ItemClipsChildrenToShape, .t. )
* oWidget:setAcceptDrops( .t. )
* oWidget:setAcceptHoverEvents( .t. )
* oWidget:setPen( ::qPen )
* oWidget:setBrush( ::qBrush )
::qScene:addItem( oWidget )
oWidget:setRect_1( 0, 0, nW, nH )
IF !empty( qPos )
oWidget:setPos( qPos )
ENDIF
::hItems[ cName ] := oWidget
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:addObject( qPos, cType )
LOCAL oWidget, cName
LOCAL nW := 50
LOCAL nH := 30
LOCAL oWidget, cName, nW, nH, qGrad
cName := cType + "_" + hb_ntos( hbide_getNextID( cType ) )
oWidget := HBQGraphicsRectItem():new()
oWidget:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
oWidget:setFlag( QGraphicsItem_ItemIsMovable , .t. )
oWidget:setFlag( QGraphicsItem_ItemIsSelectable, .t. )
oWidget:setPen( QPen():new( Qt_NoPen ) )
SWITCH cType
CASE "Barcode"
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 120,200,245 ) ) )
CASE "Image"
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_PICTURE )
nW := 300 ; nH := 300
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 255,180,112 ) ) )
oWidget:setPixmap( QPixmap():new( hbide_image( "hbide" ) ) )
EXIT
CASE "Chart"
nW := 100 ; nH := 40
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 200,14,127 ) ) )
EXIT
CASE "Image"
nW := 120 ; nH := 100
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 255,180,112 ) ) )
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_ELLIPSE )
nW := 300 ; nH := 200
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 200,114,127 ) ) )
EXIT
CASE "Gradient"
nW := 90 ; nH := 70
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 120,255,145 ) ) )
qGrad := QLinearGradient():new( 0, 0, 100, 100 )
qGrad:setColorAt( 0, QColor():new( 195,225,255 ) )
qGrad:setColorAt( 1, QColor():new( Qt_black ) )
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_RECT )
nW := 300 ; nH := 50
oWidget:setBrush( QBrush():new( "QGradient", qGrad ) )
oWidget:setPen( QPen():new( Qt_NoPen ) )
EXIT
CASE "Barcode"
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_RECT )
nW := 300 ; nH := 200
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 120,200,245 ) ) )
EXIT
CASE "Text"
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_SIMPLETEXT )
nW := 300 ; nH := 50
oWidget:setBrush( QBrush():new( "QColor", QColor():new( 200,200,245 ) ) )
oWidget:setText( "Harbour" )
EXIT
ENDSWITCH
oWidget:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
::qScene:addItem( oWidget )
oWidget:setRect_1( 0, 0, nW, nH )
oWidget:setGeometry( QRectF():new( 0, 0, nW, nH ) )
IF !empty( qPos )
oWidget:setPos( qPos )
ENDIF
@@ -587,9 +531,21 @@ METHOD IdeReportsManager:addObject( qPos, cType )
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:addField( qPos, cAlias, cField )
HB_SYMBOL_UNUSED( qPos )
HB_SYMBOL_UNUSED( cAlias )
HB_SYMBOL_UNUSED( cField )
LOCAL oWidget, nW := 300, nH := 50
LOCAL cName := cAlias + "..." + cField
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_SIMPLETEXT )
oWidget:setText( cName )
oWidget:hbSetBlock( {|p,p1,p2| ::execEvent( "graphicsPaper_block", p, p1, p2 ) } )
oWidget:setGeometry( QRectF():new( 0, 0, nW, nH ) )
::qScene:addItem( oWidget )
IF !empty( qPos )
oWidget:setPos( qPos )
ENDIF
::hItems[ cName ] := oWidget
RETURN Self
/*----------------------------------------------------------------------*/
@@ -675,6 +631,15 @@ METHOD IdeReportsManager:buildToolbarAlign()
::qToolbarAlign:addToolButton( "BoxP" , "No box-frame" , hbide_image( "f_box_plain" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "BoxS" , "Box shadowed" , hbide_image( "f_box_shadow" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "ZoomIn" , "Zoom In" , hbide_image( "zoomin3" ), {|| ::execEvent( "buttonZoom_clicked", 1 ) } )
::qToolbarAlign:addToolButton( "ZoomOut", "Zoom Out" , hbide_image( "zoomout3" ), {|| ::execEvent( "buttonZoom_clicked", 2 ) } )
::qToolbarAlign:addToolButton( "ZoomWYS", "Zoom WYSIWYG" , hbide_image( "zoomin" ), {|| ::execEvent( "buttonZoom_clicked", 3 ) } )
::qToolbarAlign:addToolButton( "ZoomOrg", "Zoom Original" , hbide_image( "zoomout" ), {|| ::execEvent( "buttonZoom_clicked", 4 ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "Grid" , "Show Grid" , hbide_image( "grid" ), {|| ::execEvent( "buttonGrid_clicked", 4 ) }, .t., .f. )
::qToolbarAlign:addSeparator()
::qToolbarAlign:setItemChecked( "Grid", .t. )
RETURN Self
@@ -690,6 +655,7 @@ METHOD IdeReportsManager:buildToolbarLeft()
::qToolbarL:addToolButton( "Chart" , "Chart" , hbide_image( "f_chart" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Gradient", "Gradient", hbide_image( "f_gradient" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Barcode" , "Barcode" , hbide_image( "f_barcode" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Text" , "Text" , hbide_image( "text" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
RETURN Self
@@ -722,3 +688,4 @@ METHOD IdeReportsManager:buildStatusBar()
/*----------------------------------------------------------------------*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

View File

@@ -2290,6 +2290,47 @@
/*----------------------------------------------------------------------*/
#define HBQT_GRAPHICSITEM_NONE 0
#define HBQT_GRAPHICSITEM_RECT 1
#define HBQT_GRAPHICSITEM_LINE 2
#define HBQT_GRAPHICSITEM_ELLIPSE 3
#define HBQT_GRAPHICSITEM_ARC 4
#define HBQT_GRAPHICSITEM_CHORD 5
#define HBQT_GRAPHICSITEM_POLYGON 6
#define HBQT_GRAPHICSITEM_PIE 7
#define HBQT_GRAPHICSITEM_PATH 8
#define HBQT_GRAPHICSITEM_CHART 9
#define HBQT_GRAPHICSITEM_GRADIENT 10
#define HBQT_GRAPHICSITEM_PICTURE 11
#define HBQT_GRAPHICSITEM_BARCODE 12
#define HBQT_GRAPHICSITEM_TEXT 13
#define HBQT_GRAPHICSITEM_SIMPLETEXT 14
#define HBQT_GRAPHICSITEM_LINE_HORIZONTAL 0
#define HBQT_GRAPHICSITEM_LINE_VERTICAL 1
#define HBQT_GRAPHICSITEM_LINE_BACKWARDDIAGONAL 2
#define HBQT_GRAPHICSITEM_LINE_FORWARDDIAGONAL 3
#define HBQT_GRAPHICSITEM_TEXT_DRAW_NONE 0
#define HBQT_GRAPHICSITEM_TEXT_DRAW_TOP 1
#define HBQT_GRAPHICSITEM_TEXT_DRAW_BOTTOM 2
#define HBQT_GRAPHICSITEM_TEXT_DRAW_ABOVE 3
#define HBQT_GRAPHICSITEM_TEXT_DRAW_BELOW 4
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_NONE 0
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_AUTO 1
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_STRETCH 2
#define HBQT_GRAPHICSITEM_IMAGE_NO_FRAME 0
#define HBQT_GRAPHICSITEM_IMAGE_PICTURE_BIND 1
#define HBQT_GRAPHICSITEM_IMAGE_PICTURE_BOX 2
#define HBQT_GRAPHICSITEM_RESIZE_ITEM_TO_PICTURE 1
#define HBQT_GRAPHICSITEM_CENTER_PICTURE_TO_ITEM 2
#define HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_KEEP_ASPECT_RATIO 3
#define HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_IGNORE_ASPECT_RATIO 4
#define QGraphicsScene_BspTreeIndex 0
#define QGraphicsScene_NoIndex -1

View File

@@ -27,6 +27,52 @@
* An instance of the object of type HBQGraphicsItem
* $METHODS$
* :hbSetBlock( xBlock ) -> NIL
* :pen() -> pQPen
* :setPen( pPen ) -> NIL
* :brush() -> pQBrush
* :setBrush( pBrush ) -> NIL
* :backgroundBrush() -> pQBrush
* :setBackgroundBrush( pBrush ) -> NIL
* :font() -> pQFont
* :setFont( pFont ) -> NIL
* :lineStyle() -> nInt
* :setLineStyle( nLineStyle ) -> NIL
* :startAngle() -> nInt
* :setStartAngle( nStartAngle ) -> NIL
* :spanAngle() -> nInt
* :setSpanAngle( nSpanAngle ) -> NIL
* :width() -> nQreal
* :setWidth( nWidth ) -> NIL
* :height() -> nQreal
* :setHeight( nHeight ) -> NIL
* :opacity() -> nInt
* :setOpacity( nOpacity ) -> NIL
* :geometry() -> pQRectF
* :setGeometry( pRect ) -> NIL
* :objectType() -> cQString
* :setObjectType( cType ) -> NIL
* :text() -> cQString
* :setText( cType ) -> NIL
* :paintType() -> nInt
* :setPaintType( nPaintType ) -> NIL
* :frameType() -> nInt
* :setFrameType( nFrameType ) -> NIL
* :drawTextType() -> nInt
* :setDrawTextType( nDrawTextType ) -> NIL
* :pixmap() -> pQPixmap
* :setPixmap( pPixmap ) -> NIL
* :textColor() -> pQColor
* :setTextColor( pColor ) -> NIL
* :borderWidth() -> nInt
* :setBorderWidth( nBWidth ) -> NIL
* :borderColor() -> pQColor
* :setBorderColor( pColor ) -> NIL
* :sizePolicy() -> nInt
* :setSizePolicy( nSizePolicy ) -> NIL
* :textFlags() -> nInt
* :setTextFlags( nTextFlags ) -> NIL
* :resizeFlags() -> nInt
* :setResizeFlags( nResizeFlags ) -> NIL
*
* $DESCRIPTION$
*

View File

@@ -0,0 +1,74 @@
/*
* $Id$
*/
/* $DOC$
* $TEMPLATE$
* Class
* $NAME$
* HBQGraphicsScene()
* $CATEGORY$
* Harbour Bindings for Qt
* $SUBCATEGORY$
* GUI
* $EXTERNALLINK$
* http://doc.trolltech.com/4.5/hbqgraphicsscene.html
* $ONELINER$
* Creates a new HBQGraphicsScene object.
* $INHERITS$
* QGraphicsScene
* $SYNTAX$
* HBQGraphicsScene():new( ... )
* HBQGraphicsScene():from( pPtr_OR_oObj_of_type_HBQGraphicsScene )
* HBQGraphicsScene():configure( pPtr_OR_oObj_of_type_HBQGraphicsScene )
* $ARGUMENTS$
*
* $RETURNS$
* An instance of the object of type HBQGraphicsScene
* $METHODS$
* :hbSetBlock( xBlock ) -> NIL
* :pageSize() -> nInt
* :setPageSize( nPageSize ) -> NIL
* :paperRect() -> pQRectF
* :setPaperRect( pPaperRect ) -> NIL
* :orientation() -> nInt
* :setOrientation( nOrientation ) -> NIL
* :geometry() -> pQRectF
* :setGeometry( pRect ) -> NIL
* :magnetArea() -> nInt
* :setMagnetArea( nMagnetArea ) -> NIL
* :showGrid() -> lBool
* :setShowGrid( lShowGrid ) -> NIL
* :zoomWYSIWYG() -> NIL
* :zoomIn() -> NIL
* :zoomOut() -> NIL
* :zoomOriginal() -> NIL
* :setLeftMagnet( lMagneted ) -> NIL
* :setRightMagnet( lMagneted ) -> NIL
* :setTopMagnet( lMagneted ) -> NIL
* :setBottomMagnet( lMagneted ) -> NIL
* :setHorizontalMagnet( lMagneted ) -> NIL
* :setVerticalMagnet( lMagneted ) -> NIL
*
* $DESCRIPTION$
*
* $EXAMPLES$
*
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* Not Clipper compatible
* $PLATFORMS$
* Windows, Linux, Mac OS X, OS/2
* $VERSION$
* 4.5 or upper
* $FILES$
* Harbour source: contrib/hbqt/qtgui/THBQGraphicsScene.prg
* C++ wrappers : contrib/hbqt/qtgui/HBQGraphicsScene.cpp
* Library : hbqtgui
* $SEEALSO$
* QGraphicsScene
* $END$
*/

View File

@@ -87,11 +87,26 @@ typedef struct
HBQT_GC_FUNC( hbqt_gcRelease_HBQGraphicsItem )
{
HB_SYMBOL_UNUSED( Cargo );
HBQT_GC_T * p = ( HBQT_GC_T * ) Cargo;
if( p && p->bNew )
{
if( p->ph )
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p _rel_HBQGraphicsItem /.\\", p->ph ) );
delete ( ( HBQGraphicsItem * ) p->ph );
HB_TRACE( HB_TR_DEBUG, ( "ph=%p YES_rel_HBQGraphicsItem \\./", p->ph ) );
p->ph = NULL;
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p DEL_rel_HBQGraphicsItem : Object already deleted!", p->ph ) );
p->ph = NULL;
}
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p PTR_rel_HBQGraphicsItem : Object not created with new=true", p->ph ) );
p->ph = NULL;
}
}
@@ -118,11 +133,25 @@ void * hbqt_gcAllocate_HBQGraphicsItem( void * pObj, bool bNew )
HB_FUNC( QT_HBQGRAPHICSITEM )
{
// hb_retptr( new HBQGraphicsItem() );
HBQGraphicsItem * pObj = NULL;
if( hb_pcount() == 1 && HB_ISNUM( 1 ) )
{
pObj = new HBQGraphicsItem( hb_parni( 1 ) ) ;
}
else if( hb_pcount() == 2 && HB_ISNUM( 1 ) && HB_ISPOINTER( 2 ) )
{
pObj = new HBQGraphicsItem( hb_parni( 1 ), hbqt_par_QGraphicsItem( 2 ) ) ;
}
else {
pObj = new HBQGraphicsItem() ;
}
hb_retptrGC( hbqt_gcAllocate_HBQGraphicsItem( ( void * ) pObj, true ) );
}
/*
* void hbSetBlock( PHB_ITEM block )
* void hbSetBlock( PHB_ITEM block )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_HBSETBLOCK )
{
@@ -135,6 +164,650 @@ HB_FUNC( QT_HBQGRAPHICSITEM_HBSETBLOCK )
}
}
/*
* QPen pen()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_PEN )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QPen( new QPen( ( p )->pen() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_PEN FP=hb_retptrGC( hbqt_gcAllocate_QPen( new QPen( ( p )->pen() ), true ) ); p is NULL" ) );
}
}
/*
* void setPen( const QPen & pen )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETPEN )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setPen( *hbqt_par_QPen( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETPEN FP=( p )->setPen( *hbqt_par_QPen( 2 ) ); p is NULL" ) );
}
}
/*
* QBrush brush()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_BRUSH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QBrush( new QBrush( ( p )->brush() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_BRUSH FP=hb_retptrGC( hbqt_gcAllocate_QBrush( new QBrush( ( p )->brush() ), true ) ); p is NULL" ) );
}
}
/*
* void setBrush( const QBrush & brush )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETBRUSH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setBrush( *hbqt_par_QBrush( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETBRUSH FP=( p )->setBrush( *hbqt_par_QBrush( 2 ) ); p is NULL" ) );
}
}
/*
* QBrush backgroundBrush()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_BACKGROUNDBRUSH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QBrush( new QBrush( ( p )->backgroundBrush() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_BACKGROUNDBRUSH FP=hb_retptrGC( hbqt_gcAllocate_QBrush( new QBrush( ( p )->backgroundBrush() ), true ) ); p is NULL" ) );
}
}
/*
* void setBackgroundBrush( const QBrush & brush )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETBACKGROUNDBRUSH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setBackgroundBrush( *hbqt_par_QBrush( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETBACKGROUNDBRUSH FP=( p )->setBackgroundBrush( *hbqt_par_QBrush( 2 ) ); p is NULL" ) );
}
}
/*
* QFont font()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_FONT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QFont( new QFont( ( p )->font() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_FONT FP=hb_retptrGC( hbqt_gcAllocate_QFont( new QFont( ( p )->font() ), true ) ); p is NULL" ) );
}
}
/*
* void setFont( const QFont & font )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETFONT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setFont( *hbqt_par_QFont( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETFONT FP=( p )->setFont( *hbqt_par_QFont( 2 ) ); p is NULL" ) );
}
}
/*
* int lineStyle()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_LINESTYLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->lineStyle() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_LINESTYLE FP=hb_retni( ( p )->lineStyle() ); p is NULL" ) );
}
}
/*
* void setLineStyle( int lineStyle )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETLINESTYLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setLineStyle( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETLINESTYLE FP=( p )->setLineStyle( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int startAngle()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_STARTANGLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->startAngle() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_STARTANGLE FP=hb_retni( ( p )->startAngle() ); p is NULL" ) );
}
}
/*
* void setStartAngle( int startAngle )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETSTARTANGLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setStartAngle( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETSTARTANGLE FP=( p )->setStartAngle( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int spanAngle()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SPANANGLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->spanAngle() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SPANANGLE FP=hb_retni( ( p )->spanAngle() ); p is NULL" ) );
}
}
/*
* void setSpanAngle( int spanAngle )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETSPANANGLE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setSpanAngle( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETSPANANGLE FP=( p )->setSpanAngle( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* qreal width() const
*/
HB_FUNC( QT_HBQGRAPHICSITEM_WIDTH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retnd( ( p )->width() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_WIDTH FP=hb_retnd( ( p )->width() ); p is NULL" ) );
}
}
/*
* void setWidth( qreal width )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETWIDTH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setWidth( hb_parnd( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETWIDTH FP=( p )->setWidth( hb_parnd( 2 ) ); p is NULL" ) );
}
}
/*
* qreal height() const
*/
HB_FUNC( QT_HBQGRAPHICSITEM_HEIGHT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retnd( ( p )->height() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_HEIGHT FP=hb_retnd( ( p )->height() ); p is NULL" ) );
}
}
/*
* void setHeight( qreal height )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETHEIGHT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setHeight( hb_parnd( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETHEIGHT FP=( p )->setHeight( hb_parnd( 2 ) ); p is NULL" ) );
}
}
/*
* int opacity()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_OPACITY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->opacity() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_OPACITY FP=hb_retni( ( p )->opacity() ); p is NULL" ) );
}
}
/*
* void setOpacity( const int opacity )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETOPACITY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setOpacity( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETOPACITY FP=( p )->setOpacity( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* QRectF geometry()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_GEOMETRY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->geometry() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_GEOMETRY FP=hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->geometry() ), true ) ); p is NULL" ) );
}
}
/*
* void setGeometry( const QRectF & rect )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETGEOMETRY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setGeometry( *hbqt_par_QRectF( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETGEOMETRY FP=( p )->setGeometry( *hbqt_par_QRectF( 2 ) ); p is NULL" ) );
}
}
/*
* QString objectType()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_OBJECTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retc( ( p )->objectType().toAscii().data() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_OBJECTTYPE FP=hb_retc( ( p )->objectType().toAscii().data() ); p is NULL" ) );
}
}
/*
* void setObjectType( const QString & type )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETOBJECTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setObjectType( hbqt_par_QString( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETOBJECTTYPE FP=( p )->setObjectType( hbqt_par_QString( 2 ) ); p is NULL" ) );
}
}
/*
* QString text()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_TEXT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retc( ( p )->text().toAscii().data() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_TEXT FP=hb_retc( ( p )->text().toAscii().data() ); p is NULL" ) );
}
}
/*
* void setText( const QString & type )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETTEXT )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setText( hbqt_par_QString( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETTEXT FP=( p )->setText( hbqt_par_QString( 2 ) ); p is NULL" ) );
}
}
/*
* int paintType()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_PAINTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->paintType() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_PAINTTYPE FP=hb_retni( ( p )->paintType() ); p is NULL" ) );
}
}
/*
* void setPaintType( int paintType )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETPAINTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setPaintType( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETPAINTTYPE FP=( p )->setPaintType( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int frameType()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_FRAMETYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->frameType() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_FRAMETYPE FP=hb_retni( ( p )->frameType() ); p is NULL" ) );
}
}
/*
* void setFrameType( int frameType )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETFRAMETYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setFrameType( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETFRAMETYPE FP=( p )->setFrameType( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int drawTextType()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_DRAWTEXTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->drawTextType() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_DRAWTEXTTYPE FP=hb_retni( ( p )->drawTextType() ); p is NULL" ) );
}
}
/*
* void setDrawTextType( int drawTextType )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETDRAWTEXTTYPE )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setDrawTextType( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETDRAWTEXTTYPE FP=( p )->setDrawTextType( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* QPixmap pixmap()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_PIXMAP )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QPixmap( new QPixmap( ( p )->pixmap() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_PIXMAP FP=hb_retptrGC( hbqt_gcAllocate_QPixmap( new QPixmap( ( p )->pixmap() ), true ) ); p is NULL" ) );
}
}
/*
* void setPixmap( const QPixmap & pixmap )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETPIXMAP )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setPixmap( *hbqt_par_QPixmap( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETPIXMAP FP=( p )->setPixmap( *hbqt_par_QPixmap( 2 ) ); p is NULL" ) );
}
}
/*
* QColor textColor()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_TEXTCOLOR )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QColor( new QColor( ( p )->textColor() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_TEXTCOLOR FP=hb_retptrGC( hbqt_gcAllocate_QColor( new QColor( ( p )->textColor() ), true ) ); p is NULL" ) );
}
}
/*
* void setTextColor( const QColor & color )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETTEXTCOLOR )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setTextColor( *hbqt_par_QColor( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETTEXTCOLOR FP=( p )->setTextColor( *hbqt_par_QColor( 2 ) ); p is NULL" ) );
}
}
/*
* int borderWidth()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_BORDERWIDTH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->borderWidth() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_BORDERWIDTH FP=hb_retni( ( p )->borderWidth() ); p is NULL" ) );
}
}
/*
* void setBorderWidth( int bWidth )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETBORDERWIDTH )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setBorderWidth( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETBORDERWIDTH FP=( p )->setBorderWidth( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* QColor borderColor()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_BORDERCOLOR )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QColor( new QColor( ( p )->borderColor() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_BORDERCOLOR FP=hb_retptrGC( hbqt_gcAllocate_QColor( new QColor( ( p )->borderColor() ), true ) ); p is NULL" ) );
}
}
/*
* void setBorderColor( const QColor & color )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETBORDERCOLOR )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setBorderColor( *hbqt_par_QColor( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETBORDERCOLOR FP=( p )->setBorderColor( *hbqt_par_QColor( 2 ) ); p is NULL" ) );
}
}
/*
* int sizePolicy()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SIZEPOLICY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->sizePolicy() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SIZEPOLICY FP=hb_retni( ( p )->sizePolicy() ); p is NULL" ) );
}
}
/*
* void setSizePolicy( int sizePolicy )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETSIZEPOLICY )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setSizePolicy( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETSIZEPOLICY FP=( p )->setSizePolicy( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int textFlags()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_TEXTFLAGS )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->textFlags() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_TEXTFLAGS FP=hb_retni( ( p )->textFlags() ); p is NULL" ) );
}
}
/*
* void setTextFlags( int textFlags )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETTEXTFLAGS )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setTextFlags( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETTEXTFLAGS FP=( p )->setTextFlags( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* int resizeFlags()
*/
HB_FUNC( QT_HBQGRAPHICSITEM_RESIZEFLAGS )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
hb_retni( ( p )->resizeFlags() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_RESIZEFLAGS FP=hb_retni( ( p )->resizeFlags() ); p is NULL" ) );
}
}
/*
* void setResizeFlags( int resizeFlags )
*/
HB_FUNC( QT_HBQGRAPHICSITEM_SETRESIZEFLAGS )
{
HBQGraphicsItem * p = hbqt_par_HBQGraphicsItem( 1 );
if( p )
( p )->setResizeFlags( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSITEM_SETRESIZEFLAGS FP=( p )->setResizeFlags( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*----------------------------------------------------------------------*/
#endif /* #if QT_VERSION >= 0x040500 */

View File

@@ -0,0 +1,490 @@
/*
* $Id$
*/
/* -------------------------------------------------------------------- */
/* WARNING: Automatically generated source file. DO NOT EDIT! */
/* Instead, edit corresponding .qth file, */
/* or the generator tool itself, and run regenarate. */
/* -------------------------------------------------------------------- */
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009-2010 Pritpal Bedi <pritpal@vouchcac.com>
*
* Copyright 2009 Marcos Antonio Gambeta <marcosgambeta at gmail dot com>
* 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 "hbqtcore.h"
#include "hbqtgui.h"
/*----------------------------------------------------------------------*/
#if QT_VERSION >= 0x040500
/*----------------------------------------------------------------------*/
/*
* enum Magnet { Left, Right, Top, Bottom, Vertical, Horizontal }
*/
#include <QtCore/QPointer>
#include <QtGui/QGraphicsScene>
#include "hbqt_hbqgraphicsscene.h"
/*
* HBQGraphicsScene()
* HBQGraphicsScene( QObject * parent )
* ~HBQGraphicsScene()
*/
typedef struct
{
QPointer< HBQGraphicsScene > ph;
bool bNew;
PHBQT_GC_FUNC func;
int type;
} HBQT_GC_T_HBQGraphicsScene;
HBQT_GC_FUNC( hbqt_gcRelease_HBQGraphicsScene )
{
HBQGraphicsScene * ph = NULL ;
HBQT_GC_T_HBQGraphicsScene * p = ( HBQT_GC_T_HBQGraphicsScene * ) Cargo;
if( p && p->bNew && p->ph )
{
ph = p->ph;
if( ph )
{
const QMetaObject * m = ( ph )->metaObject();
if( ( QString ) m->className() != ( QString ) "QObject" )
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p %p YES_rel_HBQGraphicsScene /.\\ ", (void*) ph, (void*) p->ph ) );
delete ( p->ph );
HB_TRACE( HB_TR_DEBUG, ( "ph=%p %p YES_rel_HBQGraphicsScene \\./ ", (void*) ph, (void*) p->ph ) );
p->ph = NULL;
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p NO__rel_HBQGraphicsScene ", ph ) );
p->ph = NULL;
}
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p DEL_rel_HBQGraphicsScene : Object already deleted!", ph ) );
p->ph = NULL;
}
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p PTR_rel_HBQGraphicsScene : Object not created with new=true", ph ) );
p->ph = NULL;
}
}
void * hbqt_gcAllocate_HBQGraphicsScene( void * pObj, bool bNew )
{
HBQT_GC_T_HBQGraphicsScene * p = ( HBQT_GC_T_HBQGraphicsScene * ) hb_gcAllocate( sizeof( HBQT_GC_T_HBQGraphicsScene ), hbqt_gcFuncs() );
new( & p->ph ) QPointer< HBQGraphicsScene >( ( HBQGraphicsScene * ) pObj );
p->bNew = bNew;
p->func = hbqt_gcRelease_HBQGraphicsScene;
p->type = HBQT_TYPE_HBQGraphicsScene;
if( bNew )
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p _new_HBQGraphicsScene under p->pq", pObj ) );
}
else
{
HB_TRACE( HB_TR_DEBUG, ( "ph=%p NOT_new_HBQGraphicsScene", pObj ) );
}
return p;
}
HB_FUNC( QT_HBQGRAPHICSSCENE )
{
HBQGraphicsScene * pObj = NULL;
if( hb_pcount() == 1 && HB_ISPOINTER( 1 ) )
{
pObj = new HBQGraphicsScene( hbqt_par_QObject( 1 ) ) ;
}
else
{
pObj = new HBQGraphicsScene() ;
}
hb_retptrGC( hbqt_gcAllocate_HBQGraphicsScene( ( void * ) pObj, true ) );
}
/*
* void hbSetBlock( PHB_ITEM block )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_HBSETBLOCK )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->hbSetBlock( hb_param( 2, HB_IT_ANY ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_HBSETBLOCK FP=( p )->hbSetBlock( hb_param( 2, HB_IT_ANY ) ); p is NULL" ) );
}
}
/*
* virtual int pageSize()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_PAGESIZE )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retni( ( p )->pageSize() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_PAGESIZE FP=hb_retni( ( p )->pageSize() ); p is NULL" ) );
}
}
/*
* virtual void setPageSize( int pageSize )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETPAGESIZE )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setPageSize( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETPAGESIZE FP=( p )->setPageSize( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* QRectF paperRect()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_PAPERRECT )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->paperRect() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_PAPERRECT FP=hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->paperRect() ), true ) ); p is NULL" ) );
}
}
/*
* void setPaperRect( const QRectF & paperRect )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETPAPERRECT )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setPaperRect( *hbqt_par_QRectF( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETPAPERRECT FP=( p )->setPaperRect( *hbqt_par_QRectF( 2 ) ); p is NULL" ) );
}
}
/*
* virtual int orientation()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_ORIENTATION )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retni( ( p )->orientation() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_ORIENTATION FP=hb_retni( ( p )->orientation() ); p is NULL" ) );
}
}
/*
* virtual void setOrientation( int orientation )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETORIENTATION )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setOrientation( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETORIENTATION FP=( p )->setOrientation( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* virtual QRectF geometry()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_GEOMETRY )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->geometry() ), true ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_GEOMETRY FP=hb_retptrGC( hbqt_gcAllocate_QRectF( new QRectF( ( p )->geometry() ), true ) ); p is NULL" ) );
}
}
/*
* virtual void setGeometry( const QRectF & rect )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETGEOMETRY )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setGeometry( *hbqt_par_QRectF( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETGEOMETRY FP=( p )->setGeometry( *hbqt_par_QRectF( 2 ) ); p is NULL" ) );
}
}
/*
* int magnetArea()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_MAGNETAREA )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retni( ( p )->magnetArea() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_MAGNETAREA FP=hb_retni( ( p )->magnetArea() ); p is NULL" ) );
}
}
/*
* void setMagnetArea( int magnetArea )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETMAGNETAREA )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setMagnetArea( hb_parni( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETMAGNETAREA FP=( p )->setMagnetArea( hb_parni( 2 ) ); p is NULL" ) );
}
}
/*
* virtual bool showGrid()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SHOWGRID )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
hb_retl( ( p )->showGrid() );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SHOWGRID FP=hb_retl( ( p )->showGrid() ); p is NULL" ) );
}
}
/*
* virtual void setShowGrid( bool showGrid )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETSHOWGRID )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setShowGrid( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETSHOWGRID FP=( p )->setShowGrid( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void zoomWYSIWYG();
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_ZOOMWYSIWYG )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->zoomWYSIWYG();
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_ZOOMWYSIWYG FP=( p )->zoomWYSIWYG(); p is NULL" ) );
}
}
/*
* virtual void zoomIn();
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_ZOOMIN )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->zoomIn();
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_ZOOMIN FP=( p )->zoomIn(); p is NULL" ) );
}
}
/*
* virtual void zoomOut();
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_ZOOMOUT )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->zoomOut();
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_ZOOMOUT FP=( p )->zoomOut(); p is NULL" ) );
}
}
/*
* virtual void zoomOriginal();
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_ZOOMORIGINAL )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->zoomOriginal();
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_ZOOMORIGINAL FP=( p )->zoomOriginal(); p is NULL" ) );
}
}
/*
* virtual void setLeftMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETLEFTMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setLeftMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETLEFTMAGNET FP=( p )->setLeftMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void setRightMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETRIGHTMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setRightMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETRIGHTMAGNET FP=( p )->setRightMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void setTopMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETTOPMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setTopMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETTOPMAGNET FP=( p )->setTopMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void setBottomMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETBOTTOMMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setBottomMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETBOTTOMMAGNET FP=( p )->setBottomMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void setHorizontalMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETHORIZONTALMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setHorizontalMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETHORIZONTALMAGNET FP=( p )->setHorizontalMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*
* virtual void setVerticalMagnet( bool magneted )
*/
HB_FUNC( QT_HBQGRAPHICSSCENE_SETVERTICALMAGNET )
{
HBQGraphicsScene * p = hbqt_par_HBQGraphicsScene( 1 );
if( p )
( p )->setVerticalMagnet( hb_parl( 2 ) );
else
{
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQGRAPHICSSCENE_SETVERTICALMAGNET FP=( p )->setVerticalMagnet( hb_parl( 2 ) ); p is NULL" ) );
}
}
/*----------------------------------------------------------------------*/
#endif /* #if QT_VERSION >= 0x040500 */
/*----------------------------------------------------------------------*/

View File

@@ -68,6 +68,52 @@ CREATE CLASS HBQGraphicsItem INHERIT HbQtObjectHandler, QGraphicsItem
METHOD new( ... )
METHOD hbSetBlock( xBlock )
METHOD pen()
METHOD setPen( pPen )
METHOD brush()
METHOD setBrush( pBrush )
METHOD backgroundBrush()
METHOD setBackgroundBrush( pBrush )
METHOD font()
METHOD setFont( pFont )
METHOD lineStyle()
METHOD setLineStyle( nLineStyle )
METHOD startAngle()
METHOD setStartAngle( nStartAngle )
METHOD spanAngle()
METHOD setSpanAngle( nSpanAngle )
METHOD width()
METHOD setWidth( nWidth )
METHOD height()
METHOD setHeight( nHeight )
METHOD opacity()
METHOD setOpacity( nOpacity )
METHOD geometry()
METHOD setGeometry( pRect )
METHOD objectType()
METHOD setObjectType( cType )
METHOD text()
METHOD setText( cType )
METHOD paintType()
METHOD setPaintType( nPaintType )
METHOD frameType()
METHOD setFrameType( nFrameType )
METHOD drawTextType()
METHOD setDrawTextType( nDrawTextType )
METHOD pixmap()
METHOD setPixmap( pPixmap )
METHOD textColor()
METHOD setTextColor( pColor )
METHOD borderWidth()
METHOD setBorderWidth( nBWidth )
METHOD borderColor()
METHOD setBorderColor( pColor )
METHOD sizePolicy()
METHOD setSizePolicy( nSizePolicy )
METHOD textFlags()
METHOD setTextFlags( nTextFlags )
METHOD resizeFlags()
METHOD setResizeFlags( nResizeFlags )
ENDCLASS
@@ -84,3 +130,187 @@ METHOD HBQGraphicsItem:new( ... )
METHOD HBQGraphicsItem:hbSetBlock( xBlock )
RETURN Qt_HBQGraphicsItem_hbSetBlock( ::pPtr, xBlock )
METHOD HBQGraphicsItem:pen()
RETURN Qt_HBQGraphicsItem_pen( ::pPtr )
METHOD HBQGraphicsItem:setPen( pPen )
RETURN Qt_HBQGraphicsItem_setPen( ::pPtr, hbqt_ptr( pPen ) )
METHOD HBQGraphicsItem:brush()
RETURN Qt_HBQGraphicsItem_brush( ::pPtr )
METHOD HBQGraphicsItem:setBrush( pBrush )
RETURN Qt_HBQGraphicsItem_setBrush( ::pPtr, hbqt_ptr( pBrush ) )
METHOD HBQGraphicsItem:backgroundBrush()
RETURN Qt_HBQGraphicsItem_backgroundBrush( ::pPtr )
METHOD HBQGraphicsItem:setBackgroundBrush( pBrush )
RETURN Qt_HBQGraphicsItem_setBackgroundBrush( ::pPtr, hbqt_ptr( pBrush ) )
METHOD HBQGraphicsItem:font()
RETURN Qt_HBQGraphicsItem_font( ::pPtr )
METHOD HBQGraphicsItem:setFont( pFont )
RETURN Qt_HBQGraphicsItem_setFont( ::pPtr, hbqt_ptr( pFont ) )
METHOD HBQGraphicsItem:lineStyle()
RETURN Qt_HBQGraphicsItem_lineStyle( ::pPtr )
METHOD HBQGraphicsItem:setLineStyle( nLineStyle )
RETURN Qt_HBQGraphicsItem_setLineStyle( ::pPtr, nLineStyle )
METHOD HBQGraphicsItem:startAngle()
RETURN Qt_HBQGraphicsItem_startAngle( ::pPtr )
METHOD HBQGraphicsItem:setStartAngle( nStartAngle )
RETURN Qt_HBQGraphicsItem_setStartAngle( ::pPtr, nStartAngle )
METHOD HBQGraphicsItem:spanAngle()
RETURN Qt_HBQGraphicsItem_spanAngle( ::pPtr )
METHOD HBQGraphicsItem:setSpanAngle( nSpanAngle )
RETURN Qt_HBQGraphicsItem_setSpanAngle( ::pPtr, nSpanAngle )
METHOD HBQGraphicsItem:width()
RETURN Qt_HBQGraphicsItem_width( ::pPtr )
METHOD HBQGraphicsItem:setWidth( nWidth )
RETURN Qt_HBQGraphicsItem_setWidth( ::pPtr, nWidth )
METHOD HBQGraphicsItem:height()
RETURN Qt_HBQGraphicsItem_height( ::pPtr )
METHOD HBQGraphicsItem:setHeight( nHeight )
RETURN Qt_HBQGraphicsItem_setHeight( ::pPtr, nHeight )
METHOD HBQGraphicsItem:opacity()
RETURN Qt_HBQGraphicsItem_opacity( ::pPtr )
METHOD HBQGraphicsItem:setOpacity( nOpacity )
RETURN Qt_HBQGraphicsItem_setOpacity( ::pPtr, nOpacity )
METHOD HBQGraphicsItem:geometry()
RETURN Qt_HBQGraphicsItem_geometry( ::pPtr )
METHOD HBQGraphicsItem:setGeometry( pRect )
RETURN Qt_HBQGraphicsItem_setGeometry( ::pPtr, hbqt_ptr( pRect ) )
METHOD HBQGraphicsItem:objectType()
RETURN Qt_HBQGraphicsItem_objectType( ::pPtr )
METHOD HBQGraphicsItem:setObjectType( cType )
RETURN Qt_HBQGraphicsItem_setObjectType( ::pPtr, cType )
METHOD HBQGraphicsItem:text()
RETURN Qt_HBQGraphicsItem_text( ::pPtr )
METHOD HBQGraphicsItem:setText( cType )
RETURN Qt_HBQGraphicsItem_setText( ::pPtr, cType )
METHOD HBQGraphicsItem:paintType()
RETURN Qt_HBQGraphicsItem_paintType( ::pPtr )
METHOD HBQGraphicsItem:setPaintType( nPaintType )
RETURN Qt_HBQGraphicsItem_setPaintType( ::pPtr, nPaintType )
METHOD HBQGraphicsItem:frameType()
RETURN Qt_HBQGraphicsItem_frameType( ::pPtr )
METHOD HBQGraphicsItem:setFrameType( nFrameType )
RETURN Qt_HBQGraphicsItem_setFrameType( ::pPtr, nFrameType )
METHOD HBQGraphicsItem:drawTextType()
RETURN Qt_HBQGraphicsItem_drawTextType( ::pPtr )
METHOD HBQGraphicsItem:setDrawTextType( nDrawTextType )
RETURN Qt_HBQGraphicsItem_setDrawTextType( ::pPtr, nDrawTextType )
METHOD HBQGraphicsItem:pixmap()
RETURN Qt_HBQGraphicsItem_pixmap( ::pPtr )
METHOD HBQGraphicsItem:setPixmap( pPixmap )
RETURN Qt_HBQGraphicsItem_setPixmap( ::pPtr, hbqt_ptr( pPixmap ) )
METHOD HBQGraphicsItem:textColor()
RETURN Qt_HBQGraphicsItem_textColor( ::pPtr )
METHOD HBQGraphicsItem:setTextColor( pColor )
RETURN Qt_HBQGraphicsItem_setTextColor( ::pPtr, hbqt_ptr( pColor ) )
METHOD HBQGraphicsItem:borderWidth()
RETURN Qt_HBQGraphicsItem_borderWidth( ::pPtr )
METHOD HBQGraphicsItem:setBorderWidth( nBWidth )
RETURN Qt_HBQGraphicsItem_setBorderWidth( ::pPtr, nBWidth )
METHOD HBQGraphicsItem:borderColor()
RETURN Qt_HBQGraphicsItem_borderColor( ::pPtr )
METHOD HBQGraphicsItem:setBorderColor( pColor )
RETURN Qt_HBQGraphicsItem_setBorderColor( ::pPtr, hbqt_ptr( pColor ) )
METHOD HBQGraphicsItem:sizePolicy()
RETURN Qt_HBQGraphicsItem_sizePolicy( ::pPtr )
METHOD HBQGraphicsItem:setSizePolicy( nSizePolicy )
RETURN Qt_HBQGraphicsItem_setSizePolicy( ::pPtr, nSizePolicy )
METHOD HBQGraphicsItem:textFlags()
RETURN Qt_HBQGraphicsItem_textFlags( ::pPtr )
METHOD HBQGraphicsItem:setTextFlags( nTextFlags )
RETURN Qt_HBQGraphicsItem_setTextFlags( ::pPtr, nTextFlags )
METHOD HBQGraphicsItem:resizeFlags()
RETURN Qt_HBQGraphicsItem_resizeFlags( ::pPtr )
METHOD HBQGraphicsItem:setResizeFlags( nResizeFlags )
RETURN Qt_HBQGraphicsItem_setResizeFlags( ::pPtr, nResizeFlags )

View File

@@ -0,0 +1,196 @@
/*
* $Id$
*/
/* -------------------------------------------------------------------- */
/* WARNING: Automatically generated source file. DO NOT EDIT! */
/* Instead, edit corresponding .qth file, */
/* or the generator tool itself, and run regenarate. */
/* -------------------------------------------------------------------- */
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2009-2010 Pritpal Bedi <pritpal@vouchcac.com>
*
* Copyright 2009 Marcos Antonio Gambeta <marcosgambeta at gmail dot com>
* 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 "hbclass.ch"
CREATE CLASS HBQGraphicsScene INHERIT HbQtObjectHandler, QGraphicsScene
METHOD new( ... )
METHOD hbSetBlock( xBlock )
METHOD pageSize()
METHOD setPageSize( nPageSize )
METHOD paperRect()
METHOD setPaperRect( pPaperRect )
METHOD orientation()
METHOD setOrientation( nOrientation )
METHOD geometry()
METHOD setGeometry( pRect )
METHOD magnetArea()
METHOD setMagnetArea( nMagnetArea )
METHOD showGrid()
METHOD setShowGrid( lShowGrid )
METHOD zoomWYSIWYG()
METHOD zoomIn()
METHOD zoomOut()
METHOD zoomOriginal()
METHOD setLeftMagnet( lMagneted )
METHOD setRightMagnet( lMagneted )
METHOD setTopMagnet( lMagneted )
METHOD setBottomMagnet( lMagneted )
METHOD setHorizontalMagnet( lMagneted )
METHOD setVerticalMagnet( lMagneted )
ENDCLASS
METHOD HBQGraphicsScene:new( ... )
LOCAL p
FOR EACH p IN { ... }
hb_pvalue( p:__enumIndex(), hbqt_ptr( p ) )
NEXT
::pPtr := Qt_HBQGraphicsScene( ... )
RETURN Self
METHOD HBQGraphicsScene:hbSetBlock( xBlock )
RETURN Qt_HBQGraphicsScene_hbSetBlock( ::pPtr, xBlock )
METHOD HBQGraphicsScene:pageSize()
RETURN Qt_HBQGraphicsScene_pageSize( ::pPtr )
METHOD HBQGraphicsScene:setPageSize( nPageSize )
RETURN Qt_HBQGraphicsScene_setPageSize( ::pPtr, nPageSize )
METHOD HBQGraphicsScene:paperRect()
RETURN Qt_HBQGraphicsScene_paperRect( ::pPtr )
METHOD HBQGraphicsScene:setPaperRect( pPaperRect )
RETURN Qt_HBQGraphicsScene_setPaperRect( ::pPtr, hbqt_ptr( pPaperRect ) )
METHOD HBQGraphicsScene:orientation()
RETURN Qt_HBQGraphicsScene_orientation( ::pPtr )
METHOD HBQGraphicsScene:setOrientation( nOrientation )
RETURN Qt_HBQGraphicsScene_setOrientation( ::pPtr, nOrientation )
METHOD HBQGraphicsScene:geometry()
RETURN Qt_HBQGraphicsScene_geometry( ::pPtr )
METHOD HBQGraphicsScene:setGeometry( pRect )
RETURN Qt_HBQGraphicsScene_setGeometry( ::pPtr, hbqt_ptr( pRect ) )
METHOD HBQGraphicsScene:magnetArea()
RETURN Qt_HBQGraphicsScene_magnetArea( ::pPtr )
METHOD HBQGraphicsScene:setMagnetArea( nMagnetArea )
RETURN Qt_HBQGraphicsScene_setMagnetArea( ::pPtr, nMagnetArea )
METHOD HBQGraphicsScene:showGrid()
RETURN Qt_HBQGraphicsScene_showGrid( ::pPtr )
METHOD HBQGraphicsScene:setShowGrid( lShowGrid )
RETURN Qt_HBQGraphicsScene_setShowGrid( ::pPtr, lShowGrid )
METHOD HBQGraphicsScene:zoomWYSIWYG()
RETURN Qt_HBQGraphicsScene_zoomWYSIWYG( ::pPtr )
METHOD HBQGraphicsScene:zoomIn()
RETURN Qt_HBQGraphicsScene_zoomIn( ::pPtr )
METHOD HBQGraphicsScene:zoomOut()
RETURN Qt_HBQGraphicsScene_zoomOut( ::pPtr )
METHOD HBQGraphicsScene:zoomOriginal()
RETURN Qt_HBQGraphicsScene_zoomOriginal( ::pPtr )
METHOD HBQGraphicsScene:setLeftMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setLeftMagnet( ::pPtr, lMagneted )
METHOD HBQGraphicsScene:setRightMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setRightMagnet( ::pPtr, lMagneted )
METHOD HBQGraphicsScene:setTopMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setTopMagnet( ::pPtr, lMagneted )
METHOD HBQGraphicsScene:setBottomMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setBottomMagnet( ::pPtr, lMagneted )
METHOD HBQGraphicsScene:setHorizontalMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setHorizontalMagnet( ::pPtr, lMagneted )
METHOD HBQGraphicsScene:setVerticalMagnet( lMagneted )
RETURN Qt_HBQGraphicsScene_setVerticalMagnet( ::pPtr, lMagneted )

View File

@@ -12,6 +12,7 @@ hbqtgui_extern.prg
HBQAbstractItemModel.cpp
HBQGraphicsItem.cpp
HBQGraphicsRectItem.cpp
HBQGraphicsScene.cpp
HBQMainWindow.cpp
HBQPlainTextEdit.cpp
HBQSyntaxHighlighter.cpp
@@ -270,6 +271,7 @@ QUiLoader.cpp
THBQAbstractItemModel.prg
THBQGraphicsItem.prg
THBQGraphicsRectItem.prg
THBQGraphicsScene.prg
THBQMainWindow.prg
THBQPlainTextEdit.prg
THBQSyntaxHighlighter.prg

View File

@@ -18,6 +18,7 @@ HB_EXTERN_BEGIN
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQAbstractItemModel );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQGraphicsItem );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQGraphicsRectItem );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQGraphicsScene );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQMainWindow );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQPlainTextEdit );
extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_HBQSyntaxHighlighter );
@@ -276,6 +277,7 @@ extern HB_EXPORT HBQT_GC_FUNC( hbqt_gcRelease_QUiLoader );
extern HB_EXPORT void * hbqt_gcAllocate_HBQAbstractItemModel( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQGraphicsItem( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQGraphicsRectItem( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQGraphicsScene( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQMainWindow( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQPlainTextEdit( void * pObj, bool bNew );
extern HB_EXPORT void * hbqt_gcAllocate_HBQSyntaxHighlighter( void * pObj, bool bNew );
@@ -536,6 +538,7 @@ HB_EXTERN_END
#define hbqt_par_HBQAbstractItemModel( n ) ( ( HBQAbstractItemModel * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQGraphicsItem( n ) ( ( HBQGraphicsItem * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQGraphicsRectItem( n ) ( ( HBQGraphicsRectItem * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQGraphicsScene( n ) ( ( HBQGraphicsScene * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQMainWindow( n ) ( ( HBQMainWindow * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQPlainTextEdit( n ) ( ( HBQPlainTextEdit * ) hbqt_gcpointer( n ) )
#define hbqt_par_HBQSyntaxHighlighter( n ) ( ( HBQSyntaxHighlighter * ) hbqt_gcpointer( n ) )
@@ -796,259 +799,260 @@ HB_EXTERN_END
#define HBQT_TYPE_HBQAbstractItemModel ( HBQT_TYPE_QTGUI_BASE + 1 )
#define HBQT_TYPE_HBQGraphicsItem ( HBQT_TYPE_QTGUI_BASE + 2 )
#define HBQT_TYPE_HBQGraphicsRectItem ( HBQT_TYPE_QTGUI_BASE + 3 )
#define HBQT_TYPE_HBQMainWindow ( HBQT_TYPE_QTGUI_BASE + 4 )
#define HBQT_TYPE_HBQPlainTextEdit ( HBQT_TYPE_QTGUI_BASE + 5 )
#define HBQT_TYPE_HBQSyntaxHighlighter ( HBQT_TYPE_QTGUI_BASE + 6 )
#define HBQT_TYPE_HBQTableView ( HBQT_TYPE_QTGUI_BASE + 7 )
#define HBQT_TYPE_HBQTextBlockUserData ( HBQT_TYPE_QTGUI_BASE + 8 )
#define HBQT_TYPE_QAbstractButton ( HBQT_TYPE_QTGUI_BASE + 9 )
#define HBQT_TYPE_QAbstractGraphicsShapeItem ( HBQT_TYPE_QTGUI_BASE + 10 )
#define HBQT_TYPE_QAbstractItemDelegate ( HBQT_TYPE_QTGUI_BASE + 11 )
#define HBQT_TYPE_QAbstractItemView ( HBQT_TYPE_QTGUI_BASE + 12 )
#define HBQT_TYPE_QAbstractPrintDialog ( HBQT_TYPE_QTGUI_BASE + 13 )
#define HBQT_TYPE_QAbstractProxyModel ( HBQT_TYPE_QTGUI_BASE + 14 )
#define HBQT_TYPE_QAbstractScrollArea ( HBQT_TYPE_QTGUI_BASE + 15 )
#define HBQT_TYPE_QAbstractSlider ( HBQT_TYPE_QTGUI_BASE + 16 )
#define HBQT_TYPE_QAbstractSpinBox ( HBQT_TYPE_QTGUI_BASE + 17 )
#define HBQT_TYPE_QAbstractTextDocumentLayout ( HBQT_TYPE_QTGUI_BASE + 18 )
#define HBQT_TYPE_QAction ( HBQT_TYPE_QTGUI_BASE + 19 )
#define HBQT_TYPE_QActionGroup ( HBQT_TYPE_QTGUI_BASE + 20 )
#define HBQT_TYPE_QApplication ( HBQT_TYPE_QTGUI_BASE + 21 )
#define HBQT_TYPE_QBitmap ( HBQT_TYPE_QTGUI_BASE + 22 )
#define HBQT_TYPE_QBoxLayout ( HBQT_TYPE_QTGUI_BASE + 23 )
#define HBQT_TYPE_QBrush ( HBQT_TYPE_QTGUI_BASE + 24 )
#define HBQT_TYPE_QButtonGroup ( HBQT_TYPE_QTGUI_BASE + 25 )
#define HBQT_TYPE_QCalendarWidget ( HBQT_TYPE_QTGUI_BASE + 26 )
#define HBQT_TYPE_QCheckBox ( HBQT_TYPE_QTGUI_BASE + 27 )
#define HBQT_TYPE_QClipboard ( HBQT_TYPE_QTGUI_BASE + 28 )
#define HBQT_TYPE_QColor ( HBQT_TYPE_QTGUI_BASE + 29 )
#define HBQT_TYPE_QColorDialog ( HBQT_TYPE_QTGUI_BASE + 30 )
#define HBQT_TYPE_QComboBox ( HBQT_TYPE_QTGUI_BASE + 31 )
#define HBQT_TYPE_QCommandLinkButton ( HBQT_TYPE_QTGUI_BASE + 32 )
#define HBQT_TYPE_QCommonStyle ( HBQT_TYPE_QTGUI_BASE + 33 )
#define HBQT_TYPE_QCompleter ( HBQT_TYPE_QTGUI_BASE + 34 )
#define HBQT_TYPE_QConicalGradient ( HBQT_TYPE_QTGUI_BASE + 35 )
#define HBQT_TYPE_QContextMenuEvent ( HBQT_TYPE_QTGUI_BASE + 36 )
#define HBQT_TYPE_QCursor ( HBQT_TYPE_QTGUI_BASE + 37 )
#define HBQT_TYPE_QDateEdit ( HBQT_TYPE_QTGUI_BASE + 38 )
#define HBQT_TYPE_QDateTimeEdit ( HBQT_TYPE_QTGUI_BASE + 39 )
#define HBQT_TYPE_QDesktopWidget ( HBQT_TYPE_QTGUI_BASE + 40 )
#define HBQT_TYPE_QDial ( HBQT_TYPE_QTGUI_BASE + 41 )
#define HBQT_TYPE_QDialog ( HBQT_TYPE_QTGUI_BASE + 42 )
#define HBQT_TYPE_QDirModel ( HBQT_TYPE_QTGUI_BASE + 43 )
#define HBQT_TYPE_QDockWidget ( HBQT_TYPE_QTGUI_BASE + 44 )
#define HBQT_TYPE_QDoubleSpinBox ( HBQT_TYPE_QTGUI_BASE + 45 )
#define HBQT_TYPE_QDrag ( HBQT_TYPE_QTGUI_BASE + 46 )
#define HBQT_TYPE_QDragEnterEvent ( HBQT_TYPE_QTGUI_BASE + 47 )
#define HBQT_TYPE_QDragLeaveEvent ( HBQT_TYPE_QTGUI_BASE + 48 )
#define HBQT_TYPE_QDragMoveEvent ( HBQT_TYPE_QTGUI_BASE + 49 )
#define HBQT_TYPE_QDropEvent ( HBQT_TYPE_QTGUI_BASE + 50 )
#define HBQT_TYPE_QErrorMessage ( HBQT_TYPE_QTGUI_BASE + 51 )
#define HBQT_TYPE_QFileDialog ( HBQT_TYPE_QTGUI_BASE + 52 )
#define HBQT_TYPE_QFileIconProvider ( HBQT_TYPE_QTGUI_BASE + 53 )
#define HBQT_TYPE_QFileSystemModel ( HBQT_TYPE_QTGUI_BASE + 54 )
#define HBQT_TYPE_QFocusEvent ( HBQT_TYPE_QTGUI_BASE + 55 )
#define HBQT_TYPE_QFocusFrame ( HBQT_TYPE_QTGUI_BASE + 56 )
#define HBQT_TYPE_QFont ( HBQT_TYPE_QTGUI_BASE + 57 )
#define HBQT_TYPE_QFontComboBox ( HBQT_TYPE_QTGUI_BASE + 58 )
#define HBQT_TYPE_QFontDatabase ( HBQT_TYPE_QTGUI_BASE + 59 )
#define HBQT_TYPE_QFontDialog ( HBQT_TYPE_QTGUI_BASE + 60 )
#define HBQT_TYPE_QFontInfo ( HBQT_TYPE_QTGUI_BASE + 61 )
#define HBQT_TYPE_QFontMetrics ( HBQT_TYPE_QTGUI_BASE + 62 )
#define HBQT_TYPE_QFontMetricsF ( HBQT_TYPE_QTGUI_BASE + 63 )
#define HBQT_TYPE_QFormLayout ( HBQT_TYPE_QTGUI_BASE + 64 )
#define HBQT_TYPE_QFrame ( HBQT_TYPE_QTGUI_BASE + 65 )
#define HBQT_TYPE_QGradient ( HBQT_TYPE_QTGUI_BASE + 66 )
#define HBQT_TYPE_QGraphicsEllipseItem ( HBQT_TYPE_QTGUI_BASE + 67 )
#define HBQT_TYPE_QGraphicsGridLayout ( HBQT_TYPE_QTGUI_BASE + 68 )
#define HBQT_TYPE_QGraphicsItem ( HBQT_TYPE_QTGUI_BASE + 69 )
#define HBQT_TYPE_QGraphicsItemAnimation ( HBQT_TYPE_QTGUI_BASE + 70 )
#define HBQT_TYPE_QGraphicsItemGroup ( HBQT_TYPE_QTGUI_BASE + 71 )
#define HBQT_TYPE_QGraphicsLayout ( HBQT_TYPE_QTGUI_BASE + 72 )
#define HBQT_TYPE_QGraphicsLayoutItem ( HBQT_TYPE_QTGUI_BASE + 73 )
#define HBQT_TYPE_QGraphicsLinearLayout ( HBQT_TYPE_QTGUI_BASE + 74 )
#define HBQT_TYPE_QGraphicsLineItem ( HBQT_TYPE_QTGUI_BASE + 75 )
#define HBQT_TYPE_QGraphicsPathItem ( HBQT_TYPE_QTGUI_BASE + 76 )
#define HBQT_TYPE_QGraphicsPixmapItem ( HBQT_TYPE_QTGUI_BASE + 77 )
#define HBQT_TYPE_QGraphicsPolygonItem ( HBQT_TYPE_QTGUI_BASE + 78 )
#define HBQT_TYPE_QGraphicsProxyWidget ( HBQT_TYPE_QTGUI_BASE + 79 )
#define HBQT_TYPE_QGraphicsRectItem ( HBQT_TYPE_QTGUI_BASE + 80 )
#define HBQT_TYPE_QGraphicsScene ( HBQT_TYPE_QTGUI_BASE + 81 )
#define HBQT_TYPE_QGraphicsSceneContextMenuEvent ( HBQT_TYPE_QTGUI_BASE + 82 )
#define HBQT_TYPE_QGraphicsSceneDragDropEvent ( HBQT_TYPE_QTGUI_BASE + 83 )
#define HBQT_TYPE_QGraphicsSceneEvent ( HBQT_TYPE_QTGUI_BASE + 84 )
#define HBQT_TYPE_QGraphicsSceneHelpEvent ( HBQT_TYPE_QTGUI_BASE + 85 )
#define HBQT_TYPE_QGraphicsSceneHoverEvent ( HBQT_TYPE_QTGUI_BASE + 86 )
#define HBQT_TYPE_QGraphicsSceneMouseEvent ( HBQT_TYPE_QTGUI_BASE + 87 )
#define HBQT_TYPE_QGraphicsSceneMoveEvent ( HBQT_TYPE_QTGUI_BASE + 88 )
#define HBQT_TYPE_QGraphicsSceneResizeEvent ( HBQT_TYPE_QTGUI_BASE + 89 )
#define HBQT_TYPE_QGraphicsSceneWheelEvent ( HBQT_TYPE_QTGUI_BASE + 90 )
#define HBQT_TYPE_QGraphicsSimpleTextItem ( HBQT_TYPE_QTGUI_BASE + 91 )
#define HBQT_TYPE_QGraphicsTextItem ( HBQT_TYPE_QTGUI_BASE + 92 )
#define HBQT_TYPE_QGraphicsView ( HBQT_TYPE_QTGUI_BASE + 93 )
#define HBQT_TYPE_QGraphicsWidget ( HBQT_TYPE_QTGUI_BASE + 94 )
#define HBQT_TYPE_QGridLayout ( HBQT_TYPE_QTGUI_BASE + 95 )
#define HBQT_TYPE_QGroupBox ( HBQT_TYPE_QTGUI_BASE + 96 )
#define HBQT_TYPE_QHBoxLayout ( HBQT_TYPE_QTGUI_BASE + 97 )
#define HBQT_TYPE_QHeaderView ( HBQT_TYPE_QTGUI_BASE + 98 )
#define HBQT_TYPE_QHelpEvent ( HBQT_TYPE_QTGUI_BASE + 99 )
#define HBQT_TYPE_QHideEvent ( HBQT_TYPE_QTGUI_BASE + 100 )
#define HBQT_TYPE_QIcon ( HBQT_TYPE_QTGUI_BASE + 101 )
#define HBQT_TYPE_QImage ( HBQT_TYPE_QTGUI_BASE + 102 )
#define HBQT_TYPE_QImageReader ( HBQT_TYPE_QTGUI_BASE + 103 )
#define HBQT_TYPE_QImageWriter ( HBQT_TYPE_QTGUI_BASE + 104 )
#define HBQT_TYPE_QInputDialog ( HBQT_TYPE_QTGUI_BASE + 105 )
#define HBQT_TYPE_QInputEvent ( HBQT_TYPE_QTGUI_BASE + 106 )
#define HBQT_TYPE_QInputMethodEvent ( HBQT_TYPE_QTGUI_BASE + 107 )
#define HBQT_TYPE_QItemDelegate ( HBQT_TYPE_QTGUI_BASE + 108 )
#define HBQT_TYPE_QItemEditorCreatorBase ( HBQT_TYPE_QTGUI_BASE + 109 )
#define HBQT_TYPE_QItemEditorFactory ( HBQT_TYPE_QTGUI_BASE + 110 )
#define HBQT_TYPE_QItemSelection ( HBQT_TYPE_QTGUI_BASE + 111 )
#define HBQT_TYPE_QItemSelectionModel ( HBQT_TYPE_QTGUI_BASE + 112 )
#define HBQT_TYPE_QKeyEvent ( HBQT_TYPE_QTGUI_BASE + 113 )
#define HBQT_TYPE_QKeySequence ( HBQT_TYPE_QTGUI_BASE + 114 )
#define HBQT_TYPE_QLabel ( HBQT_TYPE_QTGUI_BASE + 115 )
#define HBQT_TYPE_QLayout ( HBQT_TYPE_QTGUI_BASE + 116 )
#define HBQT_TYPE_QLayoutItem ( HBQT_TYPE_QTGUI_BASE + 117 )
#define HBQT_TYPE_QLCDNumber ( HBQT_TYPE_QTGUI_BASE + 118 )
#define HBQT_TYPE_QLinearGradient ( HBQT_TYPE_QTGUI_BASE + 119 )
#define HBQT_TYPE_QLineEdit ( HBQT_TYPE_QTGUI_BASE + 120 )
#define HBQT_TYPE_QListView ( HBQT_TYPE_QTGUI_BASE + 121 )
#define HBQT_TYPE_QListWidget ( HBQT_TYPE_QTGUI_BASE + 122 )
#define HBQT_TYPE_QListWidgetItem ( HBQT_TYPE_QTGUI_BASE + 123 )
#define HBQT_TYPE_QMainWindow ( HBQT_TYPE_QTGUI_BASE + 124 )
#define HBQT_TYPE_QMatrix ( HBQT_TYPE_QTGUI_BASE + 125 )
#define HBQT_TYPE_QMdiArea ( HBQT_TYPE_QTGUI_BASE + 126 )
#define HBQT_TYPE_QMdiSubWindow ( HBQT_TYPE_QTGUI_BASE + 127 )
#define HBQT_TYPE_QMenu ( HBQT_TYPE_QTGUI_BASE + 128 )
#define HBQT_TYPE_QMenuBar ( HBQT_TYPE_QTGUI_BASE + 129 )
#define HBQT_TYPE_QMessageBox ( HBQT_TYPE_QTGUI_BASE + 130 )
#define HBQT_TYPE_QMouseEvent ( HBQT_TYPE_QTGUI_BASE + 131 )
#define HBQT_TYPE_QMoveEvent ( HBQT_TYPE_QTGUI_BASE + 132 )
#define HBQT_TYPE_QMovie ( HBQT_TYPE_QTGUI_BASE + 133 )
#define HBQT_TYPE_QPageSetupDialog ( HBQT_TYPE_QTGUI_BASE + 134 )
#define HBQT_TYPE_QPaintDevice ( HBQT_TYPE_QTGUI_BASE + 135 )
#define HBQT_TYPE_QPaintEngine ( HBQT_TYPE_QTGUI_BASE + 136 )
#define HBQT_TYPE_QPainter ( HBQT_TYPE_QTGUI_BASE + 137 )
#define HBQT_TYPE_QPainterPath ( HBQT_TYPE_QTGUI_BASE + 138 )
#define HBQT_TYPE_QPaintEvent ( HBQT_TYPE_QTGUI_BASE + 139 )
#define HBQT_TYPE_QPalette ( HBQT_TYPE_QTGUI_BASE + 140 )
#define HBQT_TYPE_QPen ( HBQT_TYPE_QTGUI_BASE + 141 )
#define HBQT_TYPE_QPicture ( HBQT_TYPE_QTGUI_BASE + 142 )
#define HBQT_TYPE_QPixmap ( HBQT_TYPE_QTGUI_BASE + 143 )
#define HBQT_TYPE_QPlainTextDocumentLayout ( HBQT_TYPE_QTGUI_BASE + 144 )
#define HBQT_TYPE_QPlainTextEdit ( HBQT_TYPE_QTGUI_BASE + 145 )
#define HBQT_TYPE_QPolygon ( HBQT_TYPE_QTGUI_BASE + 146 )
#define HBQT_TYPE_QPolygonF ( HBQT_TYPE_QTGUI_BASE + 147 )
#define HBQT_TYPE_QPrintDialog ( HBQT_TYPE_QTGUI_BASE + 148 )
#define HBQT_TYPE_QPrintEngine ( HBQT_TYPE_QTGUI_BASE + 149 )
#define HBQT_TYPE_QPrinter ( HBQT_TYPE_QTGUI_BASE + 150 )
#define HBQT_TYPE_QPrintPreviewDialog ( HBQT_TYPE_QTGUI_BASE + 151 )
#define HBQT_TYPE_QProgressBar ( HBQT_TYPE_QTGUI_BASE + 152 )
#define HBQT_TYPE_QProgressDialog ( HBQT_TYPE_QTGUI_BASE + 153 )
#define HBQT_TYPE_QPushButton ( HBQT_TYPE_QTGUI_BASE + 154 )
#define HBQT_TYPE_QRadialGradient ( HBQT_TYPE_QTGUI_BASE + 155 )
#define HBQT_TYPE_QRadioButton ( HBQT_TYPE_QTGUI_BASE + 156 )
#define HBQT_TYPE_QRegion ( HBQT_TYPE_QTGUI_BASE + 157 )
#define HBQT_TYPE_QResizeEvent ( HBQT_TYPE_QTGUI_BASE + 158 )
#define HBQT_TYPE_QScrollArea ( HBQT_TYPE_QTGUI_BASE + 159 )
#define HBQT_TYPE_QScrollBar ( HBQT_TYPE_QTGUI_BASE + 160 )
#define HBQT_TYPE_QSessionManager ( HBQT_TYPE_QTGUI_BASE + 161 )
#define HBQT_TYPE_QShowEvent ( HBQT_TYPE_QTGUI_BASE + 162 )
#define HBQT_TYPE_QSizeGrip ( HBQT_TYPE_QTGUI_BASE + 163 )
#define HBQT_TYPE_QSizePolicy ( HBQT_TYPE_QTGUI_BASE + 164 )
#define HBQT_TYPE_QSlider ( HBQT_TYPE_QTGUI_BASE + 165 )
#define HBQT_TYPE_QSound ( HBQT_TYPE_QTGUI_BASE + 166 )
#define HBQT_TYPE_QSpacerItem ( HBQT_TYPE_QTGUI_BASE + 167 )
#define HBQT_TYPE_QSpinBox ( HBQT_TYPE_QTGUI_BASE + 168 )
#define HBQT_TYPE_QSplashScreen ( HBQT_TYPE_QTGUI_BASE + 169 )
#define HBQT_TYPE_QSplitter ( HBQT_TYPE_QTGUI_BASE + 170 )
#define HBQT_TYPE_QStackedWidget ( HBQT_TYPE_QTGUI_BASE + 171 )
#define HBQT_TYPE_QStandardItem ( HBQT_TYPE_QTGUI_BASE + 172 )
#define HBQT_TYPE_QStandardItemModel ( HBQT_TYPE_QTGUI_BASE + 173 )
#define HBQT_TYPE_QStatusBar ( HBQT_TYPE_QTGUI_BASE + 174 )
#define HBQT_TYPE_QStringListModel ( HBQT_TYPE_QTGUI_BASE + 175 )
#define HBQT_TYPE_QStyle ( HBQT_TYPE_QTGUI_BASE + 176 )
#define HBQT_TYPE_QStyledItemDelegate ( HBQT_TYPE_QTGUI_BASE + 177 )
#define HBQT_TYPE_QStyleFactory ( HBQT_TYPE_QTGUI_BASE + 178 )
#define HBQT_TYPE_QStyleHintReturn ( HBQT_TYPE_QTGUI_BASE + 179 )
#define HBQT_TYPE_QStyleHintReturnMask ( HBQT_TYPE_QTGUI_BASE + 180 )
#define HBQT_TYPE_QStyleHintReturnVariant ( HBQT_TYPE_QTGUI_BASE + 181 )
#define HBQT_TYPE_QStyleOption ( HBQT_TYPE_QTGUI_BASE + 182 )
#define HBQT_TYPE_QStyleOptionButton ( HBQT_TYPE_QTGUI_BASE + 183 )
#define HBQT_TYPE_QStyleOptionComboBox ( HBQT_TYPE_QTGUI_BASE + 184 )
#define HBQT_TYPE_QStyleOptionComplex ( HBQT_TYPE_QTGUI_BASE + 185 )
#define HBQT_TYPE_QStyleOptionDockWidget ( HBQT_TYPE_QTGUI_BASE + 186 )
#define HBQT_TYPE_QStyleOptionFocusRect ( HBQT_TYPE_QTGUI_BASE + 187 )
#define HBQT_TYPE_QStyleOptionFrame ( HBQT_TYPE_QTGUI_BASE + 188 )
#define HBQT_TYPE_QStyleOptionGraphicsItem ( HBQT_TYPE_QTGUI_BASE + 189 )
#define HBQT_TYPE_QStyleOptionGroupBox ( HBQT_TYPE_QTGUI_BASE + 190 )
#define HBQT_TYPE_QStyleOptionHeader ( HBQT_TYPE_QTGUI_BASE + 191 )
#define HBQT_TYPE_QStyleOptionMenuItem ( HBQT_TYPE_QTGUI_BASE + 192 )
#define HBQT_TYPE_QStyleOptionProgressBar ( HBQT_TYPE_QTGUI_BASE + 193 )
#define HBQT_TYPE_QStyleOptionSizeGrip ( HBQT_TYPE_QTGUI_BASE + 194 )
#define HBQT_TYPE_QStyleOptionSlider ( HBQT_TYPE_QTGUI_BASE + 195 )
#define HBQT_TYPE_QStyleOptionSpinBox ( HBQT_TYPE_QTGUI_BASE + 196 )
#define HBQT_TYPE_QStyleOptionTab ( HBQT_TYPE_QTGUI_BASE + 197 )
#define HBQT_TYPE_QStyleOptionTabBarBase ( HBQT_TYPE_QTGUI_BASE + 198 )
#define HBQT_TYPE_QStyleOptionTabWidgetFrame ( HBQT_TYPE_QTGUI_BASE + 199 )
#define HBQT_TYPE_QStyleOptionTitleBar ( HBQT_TYPE_QTGUI_BASE + 200 )
#define HBQT_TYPE_QStyleOptionToolBar ( HBQT_TYPE_QTGUI_BASE + 201 )
#define HBQT_TYPE_QStyleOptionToolBox ( HBQT_TYPE_QTGUI_BASE + 202 )
#define HBQT_TYPE_QStyleOptionToolButton ( HBQT_TYPE_QTGUI_BASE + 203 )
#define HBQT_TYPE_QStyleOptionViewItem ( HBQT_TYPE_QTGUI_BASE + 204 )
#define HBQT_TYPE_QStylePainter ( HBQT_TYPE_QTGUI_BASE + 205 )
#define HBQT_TYPE_QSyntaxHighlighter ( HBQT_TYPE_QTGUI_BASE + 206 )
#define HBQT_TYPE_QSystemTrayIcon ( HBQT_TYPE_QTGUI_BASE + 207 )
#define HBQT_TYPE_QTabBar ( HBQT_TYPE_QTGUI_BASE + 208 )
#define HBQT_TYPE_QTableView ( HBQT_TYPE_QTGUI_BASE + 209 )
#define HBQT_TYPE_QTableWidget ( HBQT_TYPE_QTGUI_BASE + 210 )
#define HBQT_TYPE_QTableWidgetItem ( HBQT_TYPE_QTGUI_BASE + 211 )
#define HBQT_TYPE_QTableWidgetSelectionRange ( HBQT_TYPE_QTGUI_BASE + 212 )
#define HBQT_TYPE_QTabWidget ( HBQT_TYPE_QTGUI_BASE + 213 )
#define HBQT_TYPE_QTextBlock ( HBQT_TYPE_QTGUI_BASE + 214 )
#define HBQT_TYPE_QTextBlockFormat ( HBQT_TYPE_QTGUI_BASE + 215 )
#define HBQT_TYPE_QTextBlockGroup ( HBQT_TYPE_QTGUI_BASE + 216 )
#define HBQT_TYPE_QTextBrowser ( HBQT_TYPE_QTGUI_BASE + 217 )
#define HBQT_TYPE_QTextCharFormat ( HBQT_TYPE_QTGUI_BASE + 218 )
#define HBQT_TYPE_QTextCursor ( HBQT_TYPE_QTGUI_BASE + 219 )
#define HBQT_TYPE_QTextDocument ( HBQT_TYPE_QTGUI_BASE + 220 )
#define HBQT_TYPE_QTextDocumentFragment ( HBQT_TYPE_QTGUI_BASE + 221 )
#define HBQT_TYPE_QTextDocumentWriter ( HBQT_TYPE_QTGUI_BASE + 222 )
#define HBQT_TYPE_QTextEdit ( HBQT_TYPE_QTGUI_BASE + 223 )
#define HBQT_TYPE_QTextFormat ( HBQT_TYPE_QTGUI_BASE + 224 )
#define HBQT_TYPE_QTextFragment ( HBQT_TYPE_QTGUI_BASE + 225 )
#define HBQT_TYPE_QTextFrame ( HBQT_TYPE_QTGUI_BASE + 226 )
#define HBQT_TYPE_QTextFrameFormat ( HBQT_TYPE_QTGUI_BASE + 227 )
#define HBQT_TYPE_QTextImageFormat ( HBQT_TYPE_QTGUI_BASE + 228 )
#define HBQT_TYPE_QTextInlineObject ( HBQT_TYPE_QTGUI_BASE + 229 )
#define HBQT_TYPE_QTextItem ( HBQT_TYPE_QTGUI_BASE + 230 )
#define HBQT_TYPE_QTextLayout ( HBQT_TYPE_QTGUI_BASE + 231 )
#define HBQT_TYPE_QTextLength ( HBQT_TYPE_QTGUI_BASE + 232 )
#define HBQT_TYPE_QTextLine ( HBQT_TYPE_QTGUI_BASE + 233 )
#define HBQT_TYPE_QTextList ( HBQT_TYPE_QTGUI_BASE + 234 )
#define HBQT_TYPE_QTextListFormat ( HBQT_TYPE_QTGUI_BASE + 235 )
#define HBQT_TYPE_QTextObject ( HBQT_TYPE_QTGUI_BASE + 236 )
#define HBQT_TYPE_QTextOption ( HBQT_TYPE_QTGUI_BASE + 237 )
#define HBQT_TYPE_QTextTableFormat ( HBQT_TYPE_QTGUI_BASE + 238 )
#define HBQT_TYPE_QTimeEdit ( HBQT_TYPE_QTGUI_BASE + 239 )
#define HBQT_TYPE_QToolBar ( HBQT_TYPE_QTGUI_BASE + 240 )
#define HBQT_TYPE_QToolBox ( HBQT_TYPE_QTGUI_BASE + 241 )
#define HBQT_TYPE_QToolButton ( HBQT_TYPE_QTGUI_BASE + 242 )
#define HBQT_TYPE_QTransform ( HBQT_TYPE_QTGUI_BASE + 243 )
#define HBQT_TYPE_QTreeView ( HBQT_TYPE_QTGUI_BASE + 244 )
#define HBQT_TYPE_QTreeWidget ( HBQT_TYPE_QTGUI_BASE + 245 )
#define HBQT_TYPE_QTreeWidgetItem ( HBQT_TYPE_QTGUI_BASE + 246 )
#define HBQT_TYPE_QValidator ( HBQT_TYPE_QTGUI_BASE + 247 )
#define HBQT_TYPE_QVBoxLayout ( HBQT_TYPE_QTGUI_BASE + 248 )
#define HBQT_TYPE_QWheelEvent ( HBQT_TYPE_QTGUI_BASE + 249 )
#define HBQT_TYPE_QWidget ( HBQT_TYPE_QTGUI_BASE + 250 )
#define HBQT_TYPE_QWidgetAction ( HBQT_TYPE_QTGUI_BASE + 251 )
#define HBQT_TYPE_QWidgetItem ( HBQT_TYPE_QTGUI_BASE + 252 )
#define HBQT_TYPE_QWindowsStyle ( HBQT_TYPE_QTGUI_BASE + 253 )
#define HBQT_TYPE_QWindowStateChangeEvent ( HBQT_TYPE_QTGUI_BASE + 254 )
#define HBQT_TYPE_QWizard ( HBQT_TYPE_QTGUI_BASE + 255 )
#define HBQT_TYPE_QWizardPage ( HBQT_TYPE_QTGUI_BASE + 256 )
#define HBQT_TYPE_QUiLoader ( HBQT_TYPE_QTGUI_BASE + 257 )
#define HBQT_TYPE_HBQGraphicsScene ( HBQT_TYPE_QTGUI_BASE + 4 )
#define HBQT_TYPE_HBQMainWindow ( HBQT_TYPE_QTGUI_BASE + 5 )
#define HBQT_TYPE_HBQPlainTextEdit ( HBQT_TYPE_QTGUI_BASE + 6 )
#define HBQT_TYPE_HBQSyntaxHighlighter ( HBQT_TYPE_QTGUI_BASE + 7 )
#define HBQT_TYPE_HBQTableView ( HBQT_TYPE_QTGUI_BASE + 8 )
#define HBQT_TYPE_HBQTextBlockUserData ( HBQT_TYPE_QTGUI_BASE + 9 )
#define HBQT_TYPE_QAbstractButton ( HBQT_TYPE_QTGUI_BASE + 10 )
#define HBQT_TYPE_QAbstractGraphicsShapeItem ( HBQT_TYPE_QTGUI_BASE + 11 )
#define HBQT_TYPE_QAbstractItemDelegate ( HBQT_TYPE_QTGUI_BASE + 12 )
#define HBQT_TYPE_QAbstractItemView ( HBQT_TYPE_QTGUI_BASE + 13 )
#define HBQT_TYPE_QAbstractPrintDialog ( HBQT_TYPE_QTGUI_BASE + 14 )
#define HBQT_TYPE_QAbstractProxyModel ( HBQT_TYPE_QTGUI_BASE + 15 )
#define HBQT_TYPE_QAbstractScrollArea ( HBQT_TYPE_QTGUI_BASE + 16 )
#define HBQT_TYPE_QAbstractSlider ( HBQT_TYPE_QTGUI_BASE + 17 )
#define HBQT_TYPE_QAbstractSpinBox ( HBQT_TYPE_QTGUI_BASE + 18 )
#define HBQT_TYPE_QAbstractTextDocumentLayout ( HBQT_TYPE_QTGUI_BASE + 19 )
#define HBQT_TYPE_QAction ( HBQT_TYPE_QTGUI_BASE + 20 )
#define HBQT_TYPE_QActionGroup ( HBQT_TYPE_QTGUI_BASE + 21 )
#define HBQT_TYPE_QApplication ( HBQT_TYPE_QTGUI_BASE + 22 )
#define HBQT_TYPE_QBitmap ( HBQT_TYPE_QTGUI_BASE + 23 )
#define HBQT_TYPE_QBoxLayout ( HBQT_TYPE_QTGUI_BASE + 24 )
#define HBQT_TYPE_QBrush ( HBQT_TYPE_QTGUI_BASE + 25 )
#define HBQT_TYPE_QButtonGroup ( HBQT_TYPE_QTGUI_BASE + 26 )
#define HBQT_TYPE_QCalendarWidget ( HBQT_TYPE_QTGUI_BASE + 27 )
#define HBQT_TYPE_QCheckBox ( HBQT_TYPE_QTGUI_BASE + 28 )
#define HBQT_TYPE_QClipboard ( HBQT_TYPE_QTGUI_BASE + 29 )
#define HBQT_TYPE_QColor ( HBQT_TYPE_QTGUI_BASE + 30 )
#define HBQT_TYPE_QColorDialog ( HBQT_TYPE_QTGUI_BASE + 31 )
#define HBQT_TYPE_QComboBox ( HBQT_TYPE_QTGUI_BASE + 32 )
#define HBQT_TYPE_QCommandLinkButton ( HBQT_TYPE_QTGUI_BASE + 33 )
#define HBQT_TYPE_QCommonStyle ( HBQT_TYPE_QTGUI_BASE + 34 )
#define HBQT_TYPE_QCompleter ( HBQT_TYPE_QTGUI_BASE + 35 )
#define HBQT_TYPE_QConicalGradient ( HBQT_TYPE_QTGUI_BASE + 36 )
#define HBQT_TYPE_QContextMenuEvent ( HBQT_TYPE_QTGUI_BASE + 37 )
#define HBQT_TYPE_QCursor ( HBQT_TYPE_QTGUI_BASE + 38 )
#define HBQT_TYPE_QDateEdit ( HBQT_TYPE_QTGUI_BASE + 39 )
#define HBQT_TYPE_QDateTimeEdit ( HBQT_TYPE_QTGUI_BASE + 40 )
#define HBQT_TYPE_QDesktopWidget ( HBQT_TYPE_QTGUI_BASE + 41 )
#define HBQT_TYPE_QDial ( HBQT_TYPE_QTGUI_BASE + 42 )
#define HBQT_TYPE_QDialog ( HBQT_TYPE_QTGUI_BASE + 43 )
#define HBQT_TYPE_QDirModel ( HBQT_TYPE_QTGUI_BASE + 44 )
#define HBQT_TYPE_QDockWidget ( HBQT_TYPE_QTGUI_BASE + 45 )
#define HBQT_TYPE_QDoubleSpinBox ( HBQT_TYPE_QTGUI_BASE + 46 )
#define HBQT_TYPE_QDrag ( HBQT_TYPE_QTGUI_BASE + 47 )
#define HBQT_TYPE_QDragEnterEvent ( HBQT_TYPE_QTGUI_BASE + 48 )
#define HBQT_TYPE_QDragLeaveEvent ( HBQT_TYPE_QTGUI_BASE + 49 )
#define HBQT_TYPE_QDragMoveEvent ( HBQT_TYPE_QTGUI_BASE + 50 )
#define HBQT_TYPE_QDropEvent ( HBQT_TYPE_QTGUI_BASE + 51 )
#define HBQT_TYPE_QErrorMessage ( HBQT_TYPE_QTGUI_BASE + 52 )
#define HBQT_TYPE_QFileDialog ( HBQT_TYPE_QTGUI_BASE + 53 )
#define HBQT_TYPE_QFileIconProvider ( HBQT_TYPE_QTGUI_BASE + 54 )
#define HBQT_TYPE_QFileSystemModel ( HBQT_TYPE_QTGUI_BASE + 55 )
#define HBQT_TYPE_QFocusEvent ( HBQT_TYPE_QTGUI_BASE + 56 )
#define HBQT_TYPE_QFocusFrame ( HBQT_TYPE_QTGUI_BASE + 57 )
#define HBQT_TYPE_QFont ( HBQT_TYPE_QTGUI_BASE + 58 )
#define HBQT_TYPE_QFontComboBox ( HBQT_TYPE_QTGUI_BASE + 59 )
#define HBQT_TYPE_QFontDatabase ( HBQT_TYPE_QTGUI_BASE + 60 )
#define HBQT_TYPE_QFontDialog ( HBQT_TYPE_QTGUI_BASE + 61 )
#define HBQT_TYPE_QFontInfo ( HBQT_TYPE_QTGUI_BASE + 62 )
#define HBQT_TYPE_QFontMetrics ( HBQT_TYPE_QTGUI_BASE + 63 )
#define HBQT_TYPE_QFontMetricsF ( HBQT_TYPE_QTGUI_BASE + 64 )
#define HBQT_TYPE_QFormLayout ( HBQT_TYPE_QTGUI_BASE + 65 )
#define HBQT_TYPE_QFrame ( HBQT_TYPE_QTGUI_BASE + 66 )
#define HBQT_TYPE_QGradient ( HBQT_TYPE_QTGUI_BASE + 67 )
#define HBQT_TYPE_QGraphicsEllipseItem ( HBQT_TYPE_QTGUI_BASE + 68 )
#define HBQT_TYPE_QGraphicsGridLayout ( HBQT_TYPE_QTGUI_BASE + 69 )
#define HBQT_TYPE_QGraphicsItem ( HBQT_TYPE_QTGUI_BASE + 70 )
#define HBQT_TYPE_QGraphicsItemAnimation ( HBQT_TYPE_QTGUI_BASE + 71 )
#define HBQT_TYPE_QGraphicsItemGroup ( HBQT_TYPE_QTGUI_BASE + 72 )
#define HBQT_TYPE_QGraphicsLayout ( HBQT_TYPE_QTGUI_BASE + 73 )
#define HBQT_TYPE_QGraphicsLayoutItem ( HBQT_TYPE_QTGUI_BASE + 74 )
#define HBQT_TYPE_QGraphicsLinearLayout ( HBQT_TYPE_QTGUI_BASE + 75 )
#define HBQT_TYPE_QGraphicsLineItem ( HBQT_TYPE_QTGUI_BASE + 76 )
#define HBQT_TYPE_QGraphicsPathItem ( HBQT_TYPE_QTGUI_BASE + 77 )
#define HBQT_TYPE_QGraphicsPixmapItem ( HBQT_TYPE_QTGUI_BASE + 78 )
#define HBQT_TYPE_QGraphicsPolygonItem ( HBQT_TYPE_QTGUI_BASE + 79 )
#define HBQT_TYPE_QGraphicsProxyWidget ( HBQT_TYPE_QTGUI_BASE + 80 )
#define HBQT_TYPE_QGraphicsRectItem ( HBQT_TYPE_QTGUI_BASE + 81 )
#define HBQT_TYPE_QGraphicsScene ( HBQT_TYPE_QTGUI_BASE + 82 )
#define HBQT_TYPE_QGraphicsSceneContextMenuEvent ( HBQT_TYPE_QTGUI_BASE + 83 )
#define HBQT_TYPE_QGraphicsSceneDragDropEvent ( HBQT_TYPE_QTGUI_BASE + 84 )
#define HBQT_TYPE_QGraphicsSceneEvent ( HBQT_TYPE_QTGUI_BASE + 85 )
#define HBQT_TYPE_QGraphicsSceneHelpEvent ( HBQT_TYPE_QTGUI_BASE + 86 )
#define HBQT_TYPE_QGraphicsSceneHoverEvent ( HBQT_TYPE_QTGUI_BASE + 87 )
#define HBQT_TYPE_QGraphicsSceneMouseEvent ( HBQT_TYPE_QTGUI_BASE + 88 )
#define HBQT_TYPE_QGraphicsSceneMoveEvent ( HBQT_TYPE_QTGUI_BASE + 89 )
#define HBQT_TYPE_QGraphicsSceneResizeEvent ( HBQT_TYPE_QTGUI_BASE + 90 )
#define HBQT_TYPE_QGraphicsSceneWheelEvent ( HBQT_TYPE_QTGUI_BASE + 91 )
#define HBQT_TYPE_QGraphicsSimpleTextItem ( HBQT_TYPE_QTGUI_BASE + 92 )
#define HBQT_TYPE_QGraphicsTextItem ( HBQT_TYPE_QTGUI_BASE + 93 )
#define HBQT_TYPE_QGraphicsView ( HBQT_TYPE_QTGUI_BASE + 94 )
#define HBQT_TYPE_QGraphicsWidget ( HBQT_TYPE_QTGUI_BASE + 95 )
#define HBQT_TYPE_QGridLayout ( HBQT_TYPE_QTGUI_BASE + 96 )
#define HBQT_TYPE_QGroupBox ( HBQT_TYPE_QTGUI_BASE + 97 )
#define HBQT_TYPE_QHBoxLayout ( HBQT_TYPE_QTGUI_BASE + 98 )
#define HBQT_TYPE_QHeaderView ( HBQT_TYPE_QTGUI_BASE + 99 )
#define HBQT_TYPE_QHelpEvent ( HBQT_TYPE_QTGUI_BASE + 100 )
#define HBQT_TYPE_QHideEvent ( HBQT_TYPE_QTGUI_BASE + 101 )
#define HBQT_TYPE_QIcon ( HBQT_TYPE_QTGUI_BASE + 102 )
#define HBQT_TYPE_QImage ( HBQT_TYPE_QTGUI_BASE + 103 )
#define HBQT_TYPE_QImageReader ( HBQT_TYPE_QTGUI_BASE + 104 )
#define HBQT_TYPE_QImageWriter ( HBQT_TYPE_QTGUI_BASE + 105 )
#define HBQT_TYPE_QInputDialog ( HBQT_TYPE_QTGUI_BASE + 106 )
#define HBQT_TYPE_QInputEvent ( HBQT_TYPE_QTGUI_BASE + 107 )
#define HBQT_TYPE_QInputMethodEvent ( HBQT_TYPE_QTGUI_BASE + 108 )
#define HBQT_TYPE_QItemDelegate ( HBQT_TYPE_QTGUI_BASE + 109 )
#define HBQT_TYPE_QItemEditorCreatorBase ( HBQT_TYPE_QTGUI_BASE + 110 )
#define HBQT_TYPE_QItemEditorFactory ( HBQT_TYPE_QTGUI_BASE + 111 )
#define HBQT_TYPE_QItemSelection ( HBQT_TYPE_QTGUI_BASE + 112 )
#define HBQT_TYPE_QItemSelectionModel ( HBQT_TYPE_QTGUI_BASE + 113 )
#define HBQT_TYPE_QKeyEvent ( HBQT_TYPE_QTGUI_BASE + 114 )
#define HBQT_TYPE_QKeySequence ( HBQT_TYPE_QTGUI_BASE + 115 )
#define HBQT_TYPE_QLabel ( HBQT_TYPE_QTGUI_BASE + 116 )
#define HBQT_TYPE_QLayout ( HBQT_TYPE_QTGUI_BASE + 117 )
#define HBQT_TYPE_QLayoutItem ( HBQT_TYPE_QTGUI_BASE + 118 )
#define HBQT_TYPE_QLCDNumber ( HBQT_TYPE_QTGUI_BASE + 119 )
#define HBQT_TYPE_QLinearGradient ( HBQT_TYPE_QTGUI_BASE + 120 )
#define HBQT_TYPE_QLineEdit ( HBQT_TYPE_QTGUI_BASE + 121 )
#define HBQT_TYPE_QListView ( HBQT_TYPE_QTGUI_BASE + 122 )
#define HBQT_TYPE_QListWidget ( HBQT_TYPE_QTGUI_BASE + 123 )
#define HBQT_TYPE_QListWidgetItem ( HBQT_TYPE_QTGUI_BASE + 124 )
#define HBQT_TYPE_QMainWindow ( HBQT_TYPE_QTGUI_BASE + 125 )
#define HBQT_TYPE_QMatrix ( HBQT_TYPE_QTGUI_BASE + 126 )
#define HBQT_TYPE_QMdiArea ( HBQT_TYPE_QTGUI_BASE + 127 )
#define HBQT_TYPE_QMdiSubWindow ( HBQT_TYPE_QTGUI_BASE + 128 )
#define HBQT_TYPE_QMenu ( HBQT_TYPE_QTGUI_BASE + 129 )
#define HBQT_TYPE_QMenuBar ( HBQT_TYPE_QTGUI_BASE + 130 )
#define HBQT_TYPE_QMessageBox ( HBQT_TYPE_QTGUI_BASE + 131 )
#define HBQT_TYPE_QMouseEvent ( HBQT_TYPE_QTGUI_BASE + 132 )
#define HBQT_TYPE_QMoveEvent ( HBQT_TYPE_QTGUI_BASE + 133 )
#define HBQT_TYPE_QMovie ( HBQT_TYPE_QTGUI_BASE + 134 )
#define HBQT_TYPE_QPageSetupDialog ( HBQT_TYPE_QTGUI_BASE + 135 )
#define HBQT_TYPE_QPaintDevice ( HBQT_TYPE_QTGUI_BASE + 136 )
#define HBQT_TYPE_QPaintEngine ( HBQT_TYPE_QTGUI_BASE + 137 )
#define HBQT_TYPE_QPainter ( HBQT_TYPE_QTGUI_BASE + 138 )
#define HBQT_TYPE_QPainterPath ( HBQT_TYPE_QTGUI_BASE + 139 )
#define HBQT_TYPE_QPaintEvent ( HBQT_TYPE_QTGUI_BASE + 140 )
#define HBQT_TYPE_QPalette ( HBQT_TYPE_QTGUI_BASE + 141 )
#define HBQT_TYPE_QPen ( HBQT_TYPE_QTGUI_BASE + 142 )
#define HBQT_TYPE_QPicture ( HBQT_TYPE_QTGUI_BASE + 143 )
#define HBQT_TYPE_QPixmap ( HBQT_TYPE_QTGUI_BASE + 144 )
#define HBQT_TYPE_QPlainTextDocumentLayout ( HBQT_TYPE_QTGUI_BASE + 145 )
#define HBQT_TYPE_QPlainTextEdit ( HBQT_TYPE_QTGUI_BASE + 146 )
#define HBQT_TYPE_QPolygon ( HBQT_TYPE_QTGUI_BASE + 147 )
#define HBQT_TYPE_QPolygonF ( HBQT_TYPE_QTGUI_BASE + 148 )
#define HBQT_TYPE_QPrintDialog ( HBQT_TYPE_QTGUI_BASE + 149 )
#define HBQT_TYPE_QPrintEngine ( HBQT_TYPE_QTGUI_BASE + 150 )
#define HBQT_TYPE_QPrinter ( HBQT_TYPE_QTGUI_BASE + 151 )
#define HBQT_TYPE_QPrintPreviewDialog ( HBQT_TYPE_QTGUI_BASE + 152 )
#define HBQT_TYPE_QProgressBar ( HBQT_TYPE_QTGUI_BASE + 153 )
#define HBQT_TYPE_QProgressDialog ( HBQT_TYPE_QTGUI_BASE + 154 )
#define HBQT_TYPE_QPushButton ( HBQT_TYPE_QTGUI_BASE + 155 )
#define HBQT_TYPE_QRadialGradient ( HBQT_TYPE_QTGUI_BASE + 156 )
#define HBQT_TYPE_QRadioButton ( HBQT_TYPE_QTGUI_BASE + 157 )
#define HBQT_TYPE_QRegion ( HBQT_TYPE_QTGUI_BASE + 158 )
#define HBQT_TYPE_QResizeEvent ( HBQT_TYPE_QTGUI_BASE + 159 )
#define HBQT_TYPE_QScrollArea ( HBQT_TYPE_QTGUI_BASE + 160 )
#define HBQT_TYPE_QScrollBar ( HBQT_TYPE_QTGUI_BASE + 161 )
#define HBQT_TYPE_QSessionManager ( HBQT_TYPE_QTGUI_BASE + 162 )
#define HBQT_TYPE_QShowEvent ( HBQT_TYPE_QTGUI_BASE + 163 )
#define HBQT_TYPE_QSizeGrip ( HBQT_TYPE_QTGUI_BASE + 164 )
#define HBQT_TYPE_QSizePolicy ( HBQT_TYPE_QTGUI_BASE + 165 )
#define HBQT_TYPE_QSlider ( HBQT_TYPE_QTGUI_BASE + 166 )
#define HBQT_TYPE_QSound ( HBQT_TYPE_QTGUI_BASE + 167 )
#define HBQT_TYPE_QSpacerItem ( HBQT_TYPE_QTGUI_BASE + 168 )
#define HBQT_TYPE_QSpinBox ( HBQT_TYPE_QTGUI_BASE + 169 )
#define HBQT_TYPE_QSplashScreen ( HBQT_TYPE_QTGUI_BASE + 170 )
#define HBQT_TYPE_QSplitter ( HBQT_TYPE_QTGUI_BASE + 171 )
#define HBQT_TYPE_QStackedWidget ( HBQT_TYPE_QTGUI_BASE + 172 )
#define HBQT_TYPE_QStandardItem ( HBQT_TYPE_QTGUI_BASE + 173 )
#define HBQT_TYPE_QStandardItemModel ( HBQT_TYPE_QTGUI_BASE + 174 )
#define HBQT_TYPE_QStatusBar ( HBQT_TYPE_QTGUI_BASE + 175 )
#define HBQT_TYPE_QStringListModel ( HBQT_TYPE_QTGUI_BASE + 176 )
#define HBQT_TYPE_QStyle ( HBQT_TYPE_QTGUI_BASE + 177 )
#define HBQT_TYPE_QStyledItemDelegate ( HBQT_TYPE_QTGUI_BASE + 178 )
#define HBQT_TYPE_QStyleFactory ( HBQT_TYPE_QTGUI_BASE + 179 )
#define HBQT_TYPE_QStyleHintReturn ( HBQT_TYPE_QTGUI_BASE + 180 )
#define HBQT_TYPE_QStyleHintReturnMask ( HBQT_TYPE_QTGUI_BASE + 181 )
#define HBQT_TYPE_QStyleHintReturnVariant ( HBQT_TYPE_QTGUI_BASE + 182 )
#define HBQT_TYPE_QStyleOption ( HBQT_TYPE_QTGUI_BASE + 183 )
#define HBQT_TYPE_QStyleOptionButton ( HBQT_TYPE_QTGUI_BASE + 184 )
#define HBQT_TYPE_QStyleOptionComboBox ( HBQT_TYPE_QTGUI_BASE + 185 )
#define HBQT_TYPE_QStyleOptionComplex ( HBQT_TYPE_QTGUI_BASE + 186 )
#define HBQT_TYPE_QStyleOptionDockWidget ( HBQT_TYPE_QTGUI_BASE + 187 )
#define HBQT_TYPE_QStyleOptionFocusRect ( HBQT_TYPE_QTGUI_BASE + 188 )
#define HBQT_TYPE_QStyleOptionFrame ( HBQT_TYPE_QTGUI_BASE + 189 )
#define HBQT_TYPE_QStyleOptionGraphicsItem ( HBQT_TYPE_QTGUI_BASE + 190 )
#define HBQT_TYPE_QStyleOptionGroupBox ( HBQT_TYPE_QTGUI_BASE + 191 )
#define HBQT_TYPE_QStyleOptionHeader ( HBQT_TYPE_QTGUI_BASE + 192 )
#define HBQT_TYPE_QStyleOptionMenuItem ( HBQT_TYPE_QTGUI_BASE + 193 )
#define HBQT_TYPE_QStyleOptionProgressBar ( HBQT_TYPE_QTGUI_BASE + 194 )
#define HBQT_TYPE_QStyleOptionSizeGrip ( HBQT_TYPE_QTGUI_BASE + 195 )
#define HBQT_TYPE_QStyleOptionSlider ( HBQT_TYPE_QTGUI_BASE + 196 )
#define HBQT_TYPE_QStyleOptionSpinBox ( HBQT_TYPE_QTGUI_BASE + 197 )
#define HBQT_TYPE_QStyleOptionTab ( HBQT_TYPE_QTGUI_BASE + 198 )
#define HBQT_TYPE_QStyleOptionTabBarBase ( HBQT_TYPE_QTGUI_BASE + 199 )
#define HBQT_TYPE_QStyleOptionTabWidgetFrame ( HBQT_TYPE_QTGUI_BASE + 200 )
#define HBQT_TYPE_QStyleOptionTitleBar ( HBQT_TYPE_QTGUI_BASE + 201 )
#define HBQT_TYPE_QStyleOptionToolBar ( HBQT_TYPE_QTGUI_BASE + 202 )
#define HBQT_TYPE_QStyleOptionToolBox ( HBQT_TYPE_QTGUI_BASE + 203 )
#define HBQT_TYPE_QStyleOptionToolButton ( HBQT_TYPE_QTGUI_BASE + 204 )
#define HBQT_TYPE_QStyleOptionViewItem ( HBQT_TYPE_QTGUI_BASE + 205 )
#define HBQT_TYPE_QStylePainter ( HBQT_TYPE_QTGUI_BASE + 206 )
#define HBQT_TYPE_QSyntaxHighlighter ( HBQT_TYPE_QTGUI_BASE + 207 )
#define HBQT_TYPE_QSystemTrayIcon ( HBQT_TYPE_QTGUI_BASE + 208 )
#define HBQT_TYPE_QTabBar ( HBQT_TYPE_QTGUI_BASE + 209 )
#define HBQT_TYPE_QTableView ( HBQT_TYPE_QTGUI_BASE + 210 )
#define HBQT_TYPE_QTableWidget ( HBQT_TYPE_QTGUI_BASE + 211 )
#define HBQT_TYPE_QTableWidgetItem ( HBQT_TYPE_QTGUI_BASE + 212 )
#define HBQT_TYPE_QTableWidgetSelectionRange ( HBQT_TYPE_QTGUI_BASE + 213 )
#define HBQT_TYPE_QTabWidget ( HBQT_TYPE_QTGUI_BASE + 214 )
#define HBQT_TYPE_QTextBlock ( HBQT_TYPE_QTGUI_BASE + 215 )
#define HBQT_TYPE_QTextBlockFormat ( HBQT_TYPE_QTGUI_BASE + 216 )
#define HBQT_TYPE_QTextBlockGroup ( HBQT_TYPE_QTGUI_BASE + 217 )
#define HBQT_TYPE_QTextBrowser ( HBQT_TYPE_QTGUI_BASE + 218 )
#define HBQT_TYPE_QTextCharFormat ( HBQT_TYPE_QTGUI_BASE + 219 )
#define HBQT_TYPE_QTextCursor ( HBQT_TYPE_QTGUI_BASE + 220 )
#define HBQT_TYPE_QTextDocument ( HBQT_TYPE_QTGUI_BASE + 221 )
#define HBQT_TYPE_QTextDocumentFragment ( HBQT_TYPE_QTGUI_BASE + 222 )
#define HBQT_TYPE_QTextDocumentWriter ( HBQT_TYPE_QTGUI_BASE + 223 )
#define HBQT_TYPE_QTextEdit ( HBQT_TYPE_QTGUI_BASE + 224 )
#define HBQT_TYPE_QTextFormat ( HBQT_TYPE_QTGUI_BASE + 225 )
#define HBQT_TYPE_QTextFragment ( HBQT_TYPE_QTGUI_BASE + 226 )
#define HBQT_TYPE_QTextFrame ( HBQT_TYPE_QTGUI_BASE + 227 )
#define HBQT_TYPE_QTextFrameFormat ( HBQT_TYPE_QTGUI_BASE + 228 )
#define HBQT_TYPE_QTextImageFormat ( HBQT_TYPE_QTGUI_BASE + 229 )
#define HBQT_TYPE_QTextInlineObject ( HBQT_TYPE_QTGUI_BASE + 230 )
#define HBQT_TYPE_QTextItem ( HBQT_TYPE_QTGUI_BASE + 231 )
#define HBQT_TYPE_QTextLayout ( HBQT_TYPE_QTGUI_BASE + 232 )
#define HBQT_TYPE_QTextLength ( HBQT_TYPE_QTGUI_BASE + 233 )
#define HBQT_TYPE_QTextLine ( HBQT_TYPE_QTGUI_BASE + 234 )
#define HBQT_TYPE_QTextList ( HBQT_TYPE_QTGUI_BASE + 235 )
#define HBQT_TYPE_QTextListFormat ( HBQT_TYPE_QTGUI_BASE + 236 )
#define HBQT_TYPE_QTextObject ( HBQT_TYPE_QTGUI_BASE + 237 )
#define HBQT_TYPE_QTextOption ( HBQT_TYPE_QTGUI_BASE + 238 )
#define HBQT_TYPE_QTextTableFormat ( HBQT_TYPE_QTGUI_BASE + 239 )
#define HBQT_TYPE_QTimeEdit ( HBQT_TYPE_QTGUI_BASE + 240 )
#define HBQT_TYPE_QToolBar ( HBQT_TYPE_QTGUI_BASE + 241 )
#define HBQT_TYPE_QToolBox ( HBQT_TYPE_QTGUI_BASE + 242 )
#define HBQT_TYPE_QToolButton ( HBQT_TYPE_QTGUI_BASE + 243 )
#define HBQT_TYPE_QTransform ( HBQT_TYPE_QTGUI_BASE + 244 )
#define HBQT_TYPE_QTreeView ( HBQT_TYPE_QTGUI_BASE + 245 )
#define HBQT_TYPE_QTreeWidget ( HBQT_TYPE_QTGUI_BASE + 246 )
#define HBQT_TYPE_QTreeWidgetItem ( HBQT_TYPE_QTGUI_BASE + 247 )
#define HBQT_TYPE_QValidator ( HBQT_TYPE_QTGUI_BASE + 248 )
#define HBQT_TYPE_QVBoxLayout ( HBQT_TYPE_QTGUI_BASE + 249 )
#define HBQT_TYPE_QWheelEvent ( HBQT_TYPE_QTGUI_BASE + 250 )
#define HBQT_TYPE_QWidget ( HBQT_TYPE_QTGUI_BASE + 251 )
#define HBQT_TYPE_QWidgetAction ( HBQT_TYPE_QTGUI_BASE + 252 )
#define HBQT_TYPE_QWidgetItem ( HBQT_TYPE_QTGUI_BASE + 253 )
#define HBQT_TYPE_QWindowsStyle ( HBQT_TYPE_QTGUI_BASE + 254 )
#define HBQT_TYPE_QWindowStateChangeEvent ( HBQT_TYPE_QTGUI_BASE + 255 )
#define HBQT_TYPE_QWizard ( HBQT_TYPE_QTGUI_BASE + 256 )
#define HBQT_TYPE_QWizardPage ( HBQT_TYPE_QTGUI_BASE + 257 )
#define HBQT_TYPE_QUiLoader ( HBQT_TYPE_QTGUI_BASE + 258 )
#endif /* __HBQTGUI_H */

View File

@@ -58,16 +58,51 @@
#include "hbqt_hbqgraphicsitem.h"
HBQGraphicsItem::HBQGraphicsItem( QGraphicsItem * parent ) : QGraphicsItem( parent )
HBQGraphicsItem::HBQGraphicsItem( int type, QGraphicsItem * parent ) : QGraphicsItem( parent )
{
setAcceptDrops( true );
iType = type;
block = NULL;
iResizeMode = RESIZE_MODE_FIXED;
iResizeFlags = RESIZE_MODE_LEFT | RESIZE_MODE_TOP | RESIZE_MODE_RIGHT | RESIZE_MODE_BOTTOM;
dWidth = 20 / UNIT; // 20 mm
dHeight = 20 / UNIT; // 20 mm
iOpacity = 100;
iResizeHandle = 2 / UNIT;
iBGMode = Qt::TransparentMode;
iLineStyle = HBQT_GRAPHICSITEM_LINE_HORIZONTAL;
iStartAngle = 30;
iSpanAngle = 120;
QString_objectType = "";
QString_text = iType == HBQT_GRAPHICSITEM_PICTURE ? "picture" : "";
bDrawSelectionBorder = true;
QBrush_brush = iType == HBQT_GRAPHICSITEM_PICTURE ? QBrush( QPixmap( ":/empty.png" ) ) : QBrush();
QBrush_bgBrush = QBrush();
QPen_pen = QPen( Qt::SolidLine );
QFont_font = QFont( "Serif" );
QFont_font.setPointSizeF( 3.5 );
QFont_font.setStyleStrategy( QFont::PreferMatch );
QFont_font.setStyleStrategy( QFont::ForceOutline );
setFont( QFont_font );
setFlags( QGraphicsItem::ItemIsSelectable );
/* Picture */
m_paintType = HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_KEEP_ASPECT_RATIO;
m_frameType = HBQT_GRAPHICSITEM_IMAGE_NO_FRAME;
m_textColor = Qt::black;
m_borderColor = Qt::black;
m_borderWidth = 0;
m_drawTextType = HBQT_GRAPHICSITEM_TEXT_DRAW_NONE;
}
HBQGraphicsItem::~HBQGraphicsItem()
{
if( block )
{
if( block ){
hb_itemRelease( block );
block = NULL;
}
@@ -75,36 +110,870 @@ HBQGraphicsItem::~HBQGraphicsItem()
void HBQGraphicsItem::hbSetBlock( PHB_ITEM b )
{
if( b )
{
if( b ){
block = hb_itemNew( b );
QDesktopWidget * qWid = new QDesktopWidget();
PHB_ITEM p1 = hb_itemPutNI( NULL, 21001 );
PHB_ITEM p2 = hb_itemPutNI( NULL, qWid->screen()->physicalDpiX() );
PHB_ITEM p3 = hb_itemPutNI( NULL, qWid->screen()->physicalDpiY() );
hb_vmEvalBlockV( block, 3, p1, p2, p3 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
hb_itemRelease( p3 );
}
}
QString HBQGraphicsItem::objectType()
{
return QString_objectType;
}
void HBQGraphicsItem::setObjectType( const QString & type )
{
QString_objectType = type;
}
QBrush HBQGraphicsItem::brush()
{
return QBrush_brush;
}
void HBQGraphicsItem::setBrush( const QBrush & brush )
{
QBrush_brush = brush;
update();
}
QBrush HBQGraphicsItem::backgroundBrush()
{
return QBrush_bgBrush;
}
void HBQGraphicsItem::setBackgroundBrush( const QBrush & brush )
{
QBrush_bgBrush = brush;
update();
}
QPen HBQGraphicsItem::pen()
{
return QPen_pen;
}
void HBQGraphicsItem::setPen( const QPen & pen )
{
QPen_pen = pen;
update();
}
QFont HBQGraphicsItem::font()
{
return QFont_font;
}
void HBQGraphicsItem::setFont( const QFont & font )
{
QFont_font = font;
update();
}
/* TEXT */
QString HBQGraphicsItem::text()
{
return QString_text;
}
void HBQGraphicsItem::setText( const QString & text )
{
QString_text = text;
update();
}
int HBQGraphicsItem::sizePolicy()
{
return m_sizePolicy;
}
void HBQGraphicsItem::setSizePolicy( int sizePolicy )
{
m_sizePolicy = sizePolicy;
}
int HBQGraphicsItem::textFlags()
{
return m_textFlags;
}
void HBQGraphicsItem::setTextFlags( int textFlags )
{
m_textFlags = textFlags;
update();
}
/* LINE */
int HBQGraphicsItem::lineStyle()
{
return iLineStyle;
}
void HBQGraphicsItem::setLineStyle( int lineStyle )
{
iLineStyle = lineStyle;
update();
}
/* PIE */
int HBQGraphicsItem::startAngle()
{
return iStartAngle;
}
void HBQGraphicsItem::setStartAngle( int startAngle )
{
iStartAngle = startAngle;
update();
}
int HBQGraphicsItem::spanAngle()
{
return iSpanAngle;
}
void HBQGraphicsItem::setSpanAngle( int spanAngle )
{
iSpanAngle = spanAngle;
update();
}
/* GEOMETRY */
qreal HBQGraphicsItem::width() const
{
return dWidth;
}
void HBQGraphicsItem::setWidth( qreal width )
{
dWidth = width;
update();
}
qreal HBQGraphicsItem::height() const
{
return dHeight;
}
void HBQGraphicsItem::setHeight( qreal height )
{
dHeight = height;
update();
}
QRectF HBQGraphicsItem::geometry()
{
return QRectF( pos().x(), pos().y(), width(), height() );
}
void HBQGraphicsItem::setGeometry( const QRectF & rect )
{
setPos( rect.x(), rect.y() );
setWidth( rect.width() );
setHeight( rect.height() );
}
/* OPACITY */
int HBQGraphicsItem::opacity()
{
return iOpacity;
}
void HBQGraphicsItem::setOpacity( const int opacity )
{
if( opacity < 0 ){
iOpacity = 0;
}
else {
if( opacity > 100 ){
iOpacity = 100;
}
else {
iOpacity = opacity;
}
}
update();
}
int HBQGraphicsItem::paintType()
{
return m_paintType;
}
void HBQGraphicsItem::setPaintType( int paintType )
{
m_paintType = paintType;
update();
}
int HBQGraphicsItem::frameType()
{
return m_frameType;
}
void HBQGraphicsItem::setFrameType( int frameType )
{
m_frameType = frameType;
update();
}
int HBQGraphicsItem::drawTextType()
{
return m_drawTextType;
}
void HBQGraphicsItem::setDrawTextType( int drawTextType )
{
m_drawTextType = drawTextType;
update();
}
QPixmap HBQGraphicsItem::pixmap()
{
QPixmap pixmap;
return pixmap.fromImage( m_image ) ;
}
void HBQGraphicsItem::setPixmap( const QPixmap & pixmap )
{
m_image = QImage( pixmap.toImage() );
update();
}
QColor HBQGraphicsItem::textColor()
{
return m_textColor;
}
void HBQGraphicsItem::setTextColor( const QColor & textColor )
{
m_textColor = textColor;
update();
}
int HBQGraphicsItem::borderWidth()
{
return m_borderWidth;
}
void HBQGraphicsItem::setBorderWidth( int borderWidth )
{
if( borderWidth < 0 ){
m_borderWidth = 0;
}
else {
if( borderWidth > 5 ){
m_borderWidth = 5;
}
else {
m_borderWidth = borderWidth;
}
}
update();
}
QColor HBQGraphicsItem::borderColor()
{
return m_borderColor;
}
void HBQGraphicsItem::setBorderColor( const QColor & borderColor )
{
m_borderColor = borderColor;
update();
}
int HBQGraphicsItem::resizeFlags()
{
return iResizeFlags;
}
void HBQGraphicsItem::setResizeFlags( int resizeFlags )
{
iResizeFlags = resizeFlags;
}
/*----------------------------------------------------------------------*/
// Mouse Events
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::mousePressEvent( QGraphicsSceneMouseEvent * event )
{
QRectF_geometry = geometry();
foreach( QGraphicsItem * item, scene()->items() )
{
if( item->zValue() == 1 ){
item->setZValue( 0 );
}
}
setZValue( 1 );
if( objectType() == ( QString ) "Page" ){
setZValue( 0 );
}
if( event->buttons() == Qt::LeftButton ){
iResizeMode = determineResizeMode( event->pos() );
}
else {
iResizeMode = RESIZE_MODE_FIXED;
}
if( iResizeMode == RESIZE_MODE_FIXED ){
setCursor( QCursor( Qt::ClosedHandCursor ) );
}
if( objectType() == ( QString ) "Page" ){
setCursor( QCursor( Qt::ArrowCursor ) );
}
QGraphicsItem::mousePressEvent( event );
if( event->buttons() == Qt::LeftButton ){
if( block ){
// Inform if selection is made etc. Try to keep it simple.
}
}
}
void HBQGraphicsItem::mouseReleaseEvent( QGraphicsSceneMouseEvent * event )
{
QGraphicsItem::mouseReleaseEvent( event );
iResizeMode = RESIZE_MODE_FIXED;
QRectF nGeometry = geometry();
if( nGeometry != QRectF_geometry ){
// emit( geometryChanged( this, nGeometry, oGeometry ) );
}
}
void HBQGraphicsItem::mouseMoveEvent( QGraphicsSceneMouseEvent * event )
{
if( event->buttons() == Qt::LeftButton )
{
if( iResizeMode == RESIZE_MODE_FIXED ){
setPos( pos() + QPoint( ( int ) ( event->scenePos().x() - event->lastScenePos().x() ),
( int ) ( event->scenePos().y() - event->lastScenePos().y() ) ) );
}
else
{
if( iResizeMode & RESIZE_MODE_LEFT ){
setPos( pos().x() + event->scenePos().x() - event->lastScenePos().x(), pos().y() );
setWidth( width() + event->lastScenePos().x() - event->scenePos().x() );
}
if( iResizeMode & RESIZE_MODE_TOP ){
setPos( pos().x(), pos().y() + event->scenePos().y() - event->lastScenePos().y() );
setHeight( height() + event->lastScenePos().y() - event->scenePos().y() );
}
if( iResizeMode & RESIZE_MODE_RIGHT ){
setWidth( ( int ) ( width() + event->scenePos().x() - event->lastScenePos().x() ) );
}
if( iResizeMode & RESIZE_MODE_BOTTOM ){
setHeight( ( int ) ( height() + event->scenePos().y() - event->lastScenePos().y() ) );
}
if( width() < 5 ){
setWidth( 5 );
}
if( height() < 5 ){
setHeight( 5 );
}
}
}
else
{
QGraphicsItem::mouseMoveEvent( event );
}
}
void HBQGraphicsItem::hoverEnterEvent( QGraphicsSceneHoverEvent * event )
{
QGraphicsItem::hoverEnterEvent( event );
}
int HBQGraphicsItem::determineResizeMode( const QPointF & pos )
{
int resizeModes = resizeFlags();
int mode = RESIZE_MODE_FIXED;
QRectF topRect( 0, 0, width(), 2 );
QRectF leftRect( 0, 0, 2, height() );
QRectF bottomRect( 0, height() - 2, width(), 2 );
QRectF rightRect( width() - 2, 0, width(), height() );
if( resizeModes & RESIZE_MODE_LEFT && leftRect.contains( pos ) ){
mode |= RESIZE_MODE_LEFT;
}
if( resizeModes & RESIZE_MODE_TOP && topRect.contains( pos ) ){
mode |= RESIZE_MODE_TOP;
}
if( resizeModes & RESIZE_MODE_RIGHT && rightRect.contains( pos ) ){
mode |= RESIZE_MODE_RIGHT;
}
if( resizeModes & RESIZE_MODE_BOTTOM && bottomRect.contains( pos ) ){
mode |= RESIZE_MODE_BOTTOM;
}
if( resizeModes & RESIZE_MODE_FIXEDPOS ){
mode |= RESIZE_MODE_FIXEDPOS;
}
return mode;
}
/*----------------------------------------------------------------------*/
// Drag Events
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::dragEnterEvent( QGraphicsSceneDragDropEvent * event )
{
HB_TRACE( HB_TR_ALWAYS, ( "dragEnterEvent( QGraphicsSceneDragDropEvent * event )" ) );
if( block )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, 11001 );
PHB_ITEM p2 = hb_itemPutNI( NULL, 301 );
hb_vmEvalBlockV( block, 1, p1, p2 );
#if 0
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragEnter );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
#endif
}
//QGraphicsItem::dragEnterEvent( event );
QGraphicsItem::dragEnterEvent( event );
}
void HBQGraphicsItem::dragLeaveEvent( QGraphicsSceneDragDropEvent * event )
{
//QGraphicsItem::dragLeaveEvent( event );
if( block )
{
#if 0
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragLeave );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
#endif
}
QGraphicsItem::dragLeaveEvent( event );
}
void HBQGraphicsItem::dragMoveEvent( QGraphicsSceneDragDropEvent * event )
{
//QGraphicsItem::dragMoveEvent( event );
if( block )
{
#if 0
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragMove );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
#endif
}
QGraphicsItem::dragMoveEvent( event );
}
void HBQGraphicsItem::dropEvent( QGraphicsSceneDragDropEvent * event )
{
//QGraphicsItem::dropEvent( event );
if( block )
{
#if 0
const QMimeData * mime = event->mimeData();
if( mime->hasFormat( ( QString ) "application/x-qabstractitemmodeldatalist" ) )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
PHB_ITEM p3 = hb_itemNew( NULL );
QTreeWidget * tree = dynamic_cast< QTreeWidget * >( event->source() );
QByteArray encoded = mime->data( "application/x-qabstractitemmodeldatalist" );
QDataStream stream( &encoded, QIODevice::ReadOnly );
int row, col;
QMap< int, QVariant > roleDataMap;
stream >> row >> col >> roleDataMap;
QTreeWidgetItem * item = tree->topLevelItem( row );
hb_arrayNew( p3, 3 );
//
hb_arraySetC( p3, 1, tree->objectName().toLatin1().data() );
hb_arraySetC( p3, 2, roleDataMap.value( Qt::DisplayRole ).toString().toLatin1().data() );
hb_arraySetC( p3, 3, item->text( 0 ).toLatin1().data() );
//
hb_vmEvalBlockV( block, 3, p1, p2, p3 );
//
hb_itemRelease( p1 );
hb_itemRelease( p2 );
hb_itemRelease( p3 );
}
else
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
}
#endif
}
QGraphicsItem::dropEvent( event );
}
/*----------------------------------------------------------------------*/
// Painting
/*----------------------------------------------------------------------*/
QRectF HBQGraphicsItem::boundingRect() const
{
return QRectF( 0, 0, width(), height() );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::prepare( QPainter * painter )
{
setupPainter( painter );
switch( iType )
{
case HBQT_GRAPHICSITEM_SIMPLETEXT :
{
if( m_sizePolicy == HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_NONE ){
return;
}
QRectF rect = boundingRect();
adjustRect( rect );
QFontMetricsF fm( painter->font() );
if( m_sizePolicy == HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_AUTO ){
qreal wd = fm.width( QString_text );
if( wd > width() ){
setWidth( wd );
}
}
else {
QRectF rc = fm.boundingRect( rect, textFlags(), QString_text );
if( rc.height() > rect.height() ){
//setStretch( rc.height() - rect.height() );
}
}
}
break;
}
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::setupPainter( QPainter * painter )
{
if( ! painter ){
return;
}
painter->setPen( pen() );
painter->setBackgroundMode( ( Qt::BGMode ) iBGMode );
painter->setBackground( backgroundBrush() );
QFont f=font();
f.setPixelSize( font().pointSizeF() / UNIT );
painter->setFont( f );
painter->setOpacity( ( qreal ) iOpacity / 100.0 );
painter->setBrush( brush() );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * /* widget */ )
{
switch( iType )
{
case HBQT_GRAPHICSITEM_NONE :
break;
case HBQT_GRAPHICSITEM_RECT :
drawRect( painter, option );
break;
case HBQT_GRAPHICSITEM_LINE :
drawLine( painter, option );
break;
case HBQT_GRAPHICSITEM_ELLIPSE :
drawEllipse( painter, option );
break;
case HBQT_GRAPHICSITEM_ARC :
drawArc( painter, option );
break;
case HBQT_GRAPHICSITEM_CHORD :
drawChord( painter, option );
break;
case HBQT_GRAPHICSITEM_PIE :
drawPie( painter, option );
break;
case HBQT_GRAPHICSITEM_POLYGON :
break;
case HBQT_GRAPHICSITEM_PATH :
break;
case HBQT_GRAPHICSITEM_CHART :
break;
case HBQT_GRAPHICSITEM_GRADIENT :
break;
case HBQT_GRAPHICSITEM_PICTURE :
drawPicture( painter, option );
break;
case HBQT_GRAPHICSITEM_BARCODE :
break;
case HBQT_GRAPHICSITEM_TEXT :
break;
case HBQT_GRAPHICSITEM_SIMPLETEXT :
drawText( painter, option );
break;
}
if( block ){
PHB_ITEM p1 = hb_itemPutNI( NULL, 11017 );
PHB_ITEM p2 = hb_itemPutPtr( NULL, painter );
PHB_ITEM p3 = hb_itemPutPtr( NULL, &option );
hb_vmEvalBlockV( block, 3, p1, p2, p3 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
hb_itemRelease( p3 );
}
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawSelection( QPainter * painter, QRectF rect )
{
painter->save();
if( isSelected() )
{
QBrush a;
a.setColor( QColor( 200,0,0,150 ) );
a.setStyle( Qt::SolidPattern );
if( bDrawSelectionBorder )
{
QPen p( Qt::DashDotDotLine );
p.setBrush( a );
painter->setPen( p );
painter->drawRect( rect );
}
QPainterPath lt;
lt.moveTo( 0,0 );
lt.lineTo( 0,iResizeHandle );
lt.lineTo( iResizeHandle, 0 );
painter->fillPath( lt,a );
QPainterPath rt;
rt.moveTo( rect.width(),0 );
rt.lineTo( rect.width(),iResizeHandle );
rt.lineTo( rect.width()-iResizeHandle,0 );
painter->fillPath( rt,a );
QPainterPath lb;
lb.moveTo( 0,rect.height() );
lb.lineTo( 0,rect.height()-iResizeHandle );
lb.lineTo( iResizeHandle,rect.height() );
painter->fillPath( lb,a );
QPainterPath rb;
rb.moveTo( rect.width(),rect.height() );
rb.lineTo( rect.width(),rect.height()-iResizeHandle );
rb.lineTo( rect.width()-iResizeHandle,rect.height() );
painter->fillPath( rb,a );
}
else
{
if( bDrawSelectionBorder )
{
QBrush a;
a.setColor( QColor( 100,100,100,200 ) );
a.setStyle( Qt::SolidPattern );
QPen p( Qt::DashDotDotLine );
p.setBrush( a );
painter->setPen( p );
painter->drawRect( rect );
}
else
{
painter->setPen( QColor( 0,0,0,100 ) );
painter->drawLine( 0,0,0,2*iResizeHandle );
painter->drawLine( 0,0,2*iResizeHandle,0 );
painter->drawLine( rect.width(),0,rect.width()-2*iResizeHandle,0 );
painter->drawLine( rect.width(),0,rect.width(),2*iResizeHandle );
painter->drawLine( rect.width(),rect.height(),rect.width()-2*iResizeHandle, rect.height() );
painter->drawLine( rect.width(),rect.height(),rect.width(), rect.height()-2*iResizeHandle );
painter->drawLine( 0,rect.height(), 2*iResizeHandle, rect.height() );
painter->drawLine( 0,rect.height(), 0, rect.height()-2*iResizeHandle );
}
}
painter->restore();
}
/*----------------------------------------------------------------------*/
QRectF HBQGraphicsItem::adjustRect( QRectF & rect )
{
qreal penwidth = pen().widthF();
rect = rect.adjusted( penwidth, penwidth, -penwidth, -penwidth );
return rect;
}
/*----------------------------------------------------------------------*/
QRectF HBQGraphicsItem::adjustOption( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = ( option->type == QStyleOption::SO_GraphicsItem ) ? boundingRect() : option->exposedRect;
if( option->type == QStyleOption::SO_GraphicsItem ){
drawSelection( painter, rect );
}
setupPainter( painter );
adjustRect( rect );
return rect;
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawRect( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
//painter->drawRoundRect( rect, xRadius(), yRadius() );
painter->drawRect( rect );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawEllipse( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
painter->drawEllipse( rect );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawLine( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
switch( lineStyle() )
{
case HBQT_GRAPHICSITEM_LINE_VERTICAL:
painter->drawLine( rect.x() + rect.width() / 2, rect.y(), rect.x() + rect.width() / 2, rect.y() + rect.height() );
break;
case HBQT_GRAPHICSITEM_LINE_HORIZONTAL:
painter->drawLine( rect.x(), rect.y() + rect.height() / 2, rect.x() + rect.width(), rect.y() + rect.height() / 2 );
break;
case HBQT_GRAPHICSITEM_LINE_BACKWARDDIAGONAL:
painter->drawLine( rect.right(), rect.y(), rect.x(), rect.bottom() );
break;
case HBQT_GRAPHICSITEM_LINE_FORWARDDIAGONAL:
painter->drawLine( rect.x(), rect.y(), rect.right(), rect.bottom() );
break;
}
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawPie( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
painter->drawPie( rect, iStartAngle * 16, iSpanAngle * 16 );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawArc( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
painter->drawArc( rect, iStartAngle * 16, iSpanAngle * 16 );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawChord( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
painter->drawChord( rect, iStartAngle * 16, iSpanAngle * 16 );
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawPicture( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
QString m_text = QString_text;
qreal textH = 0;
qreal sw = 0;
qreal sh = 0;
if( m_drawTextType == HBQT_GRAPHICSITEM_TEXT_DRAW_ABOVE || m_drawTextType == HBQT_GRAPHICSITEM_TEXT_DRAW_BELOW ){
textH = QFontMetricsF( painter->font() ).height();
}
if( m_image.isNull() )
{
( option->type == QStyleOption::SO_GraphicsItem ) ?
painter->drawRect( rect ) : painter->drawText( rect, Qt::AlignCenter, "No Picture" );
}
else
{
QImage img( 0, 0 /*,QImage::Format_ARGB32_Premultiplied*/ );
QPointF point = rect.topLeft();
int cx = 0, cy = 0, cw = m_image.width(), ch = m_image.height();
switch( m_paintType )
{
case HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_KEEP_ASPECT_RATIO:
img = m_image.scaled( rect.width(), rect.height() - textH, Qt::KeepAspectRatio, Qt::SmoothTransformation );
break;
case HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_IGNORE_ASPECT_RATIO:
img = m_image.scaled( rect.width(), rect.height() - textH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation );
break;
case HBQT_GRAPHICSITEM_CENTER_PICTURE_TO_ITEM:
point.setX( point.x() + ( rect.width() - m_image.width() ) / 2 );
point.setY( point.y() + ( rect.height() - m_image.height() - textH ) / 2 );
if( point.x() < 0 )
{
cx = abs( point.x() );
cw -= 2 * cx;
point.setX( 0 );
}
if( point.y() < 0 )
{
cy = abs( point.y() );
ch -= 2 * cy;
point.setY( 0 );
}
img = m_image.copy( cx, cy, cw, ch );
break;
case HBQT_GRAPHICSITEM_RESIZE_ITEM_TO_PICTURE:
img = m_image;
sw = img.width()-width();
sh = img.height() - ( height() - textH );
break;
}
if( m_drawTextType == HBQT_GRAPHICSITEM_TEXT_DRAW_ABOVE ){
point.setY( point.y() + textH );
}
painter->drawImage( point, img );
}
painter->setPen( m_textColor );
switch( m_drawTextType )
{
case HBQT_GRAPHICSITEM_TEXT_DRAW_TOP:
painter->drawText( rect, Qt::AlignTop | Qt::AlignHCenter, m_text );
break;
case HBQT_GRAPHICSITEM_TEXT_DRAW_BOTTOM:
painter->drawText( rect, Qt::AlignBottom | Qt::AlignHCenter, m_text );
break;
case HBQT_GRAPHICSITEM_TEXT_DRAW_ABOVE:
painter->drawText( rect, Qt::AlignTop | Qt::AlignHCenter, m_text );
break;
case HBQT_GRAPHICSITEM_TEXT_DRAW_BELOW:
painter->drawText( rect, Qt::AlignBottom | Qt::AlignHCenter, m_text );
break;
default:
break;
}
if( sw || sh ){
setWidth( width() + sw );
setHeight( height() + sh );
}
if( m_borderWidth > 0 )
{
QPen pen;
pen.setWidth( m_borderWidth );
pen.setColor( m_borderColor );
pen.setJoinStyle( Qt::MiterJoin );
painter->setPen( pen );
painter->setBrush( Qt::NoBrush );
painter->drawRect( rect.x() + m_borderWidth / 2, rect.y() + m_borderWidth / 2,
rect.width() - m_borderWidth, rect.height() - m_borderWidth );
}
}
/*----------------------------------------------------------------------*/
void HBQGraphicsItem::drawText( QPainter * painter, const QStyleOptionGraphicsItem * option )
{
QRectF rect = adjustOption( painter, option );
painter->setRenderHint( QPainter::TextAntialiasing );
painter->drawText( rect, textFlags(), QString_text );
}
/*----------------------------------------------------------------------*/
#endif

View File

@@ -56,29 +56,195 @@
#include "hbqtgui.h"
#include <QtGui/QGraphicsItem>
#include <QtGui/QStyleOptionGraphicsItem>
#include <QtGui/QGraphicsScene>
#include <QtGui/QGraphicsSceneMouseEvent>
#include <QtGui/QPainter>
#include <QtGui/QWidget>
#include <QtGui/QTreeWidget>
#include <QtGui/QDesktopWidget>
#include <QtCore/QModelIndex>
#include <QtCore/QEvent>
#include <QtCore/QMimeData>
#define UNIT 0.1
#define RESIZE_MODE_FIXED 0
#define RESIZE_MODE_LEFT 1
#define RESIZE_MODE_TOP 2
#define RESIZE_MODE_RIGHT 4
#define RESIZE_MODE_BOTTOM 8
#define RESIZE_MODE_FIXEDPOS 16
#define HBQT_GRAPHICSITEM_NONE 0
#define HBQT_GRAPHICSITEM_RECT 1
#define HBQT_GRAPHICSITEM_LINE 2
#define HBQT_GRAPHICSITEM_ELLIPSE 3
#define HBQT_GRAPHICSITEM_ARC 4
#define HBQT_GRAPHICSITEM_CHORD 5
#define HBQT_GRAPHICSITEM_POLYGON 6
#define HBQT_GRAPHICSITEM_PIE 7
#define HBQT_GRAPHICSITEM_PATH 8
#define HBQT_GRAPHICSITEM_CHART 9
#define HBQT_GRAPHICSITEM_GRADIENT 10
#define HBQT_GRAPHICSITEM_PICTURE 11
#define HBQT_GRAPHICSITEM_BARCODE 12
#define HBQT_GRAPHICSITEM_TEXT 13
#define HBQT_GRAPHICSITEM_SIMPLETEXT 14
#define HBQT_GRAPHICSITEM_LINE_HORIZONTAL 0
#define HBQT_GRAPHICSITEM_LINE_VERTICAL 1
#define HBQT_GRAPHICSITEM_LINE_BACKWARDDIAGONAL 2
#define HBQT_GRAPHICSITEM_LINE_FORWARDDIAGONAL 3
#define HBQT_GRAPHICSITEM_TEXT_DRAW_NONE 0
#define HBQT_GRAPHICSITEM_TEXT_DRAW_TOP 1
#define HBQT_GRAPHICSITEM_TEXT_DRAW_BOTTOM 2
#define HBQT_GRAPHICSITEM_TEXT_DRAW_ABOVE 3
#define HBQT_GRAPHICSITEM_TEXT_DRAW_BELOW 4
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_NONE 0
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_AUTO 1
#define HBQT_GRAPHICSITEM_TEXT_SIZEPOLICY_STRETCH 2
#define HBQT_GRAPHICSITEM_IMAGE_NO_FRAME 0
#define HBQT_GRAPHICSITEM_IMAGE_PICTURE_BIND 1
#define HBQT_GRAPHICSITEM_IMAGE_PICTURE_BOX 2
#define HBQT_GRAPHICSITEM_RESIZE_ITEM_TO_PICTURE 1
#define HBQT_GRAPHICSITEM_CENTER_PICTURE_TO_ITEM 2
#define HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_KEEP_ASPECT_RATIO 3
#define HBQT_GRAPHICSITEM_RESIZE_PICTURE_TO_ITEM_IGNORE_ASPECT_RATIO 4
#define hbqt_screen_heightMM (((double)QDesktopWidget().screen()->height() / (double)QDesktopWidget().screen()->physicalDpiY() )*25.4)
#define hbqt_screen_widthMM (((double)QDesktopWidget().screen()->width() / (double)QDesktopWidget().screen()->physicalDpiX() )*25.4)
class HBQGraphicsItem : public QGraphicsItem
{
public:
HBQGraphicsItem( QGraphicsItem * parent = 0 );
HBQGraphicsItem( int type = 0, QGraphicsItem * parent = 0 );
~HBQGraphicsItem();
QRectF boundingRect() const;
virtual void paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
PHB_ITEM block;
int determineResizeMode( const QPointF & pos );
QRectF adjustRect( QRectF & rect );
virtual void prepare( QPainter * painter );
void drawSelection( QPainter * painter, QRectF rect );
void setupPainter( QPainter * painter );
private:
int iType;
bool bYes;
QBrush QBrush_brush, QBrush_bgBrush;
QPen QPen_pen;
QFont QFont_font;
qreal dWidth, dHeight;
QRectF QRectF_geometry;
int iOpacity;
int iResizeMode;
int iResizeFlags;
bool bDrawSelectionBorder;
int iResizeHandle;
int iBGMode;
int iLineStyle;
int iStartAngle;
int iSpanAngle;
QString QString_objectType;
QString QString_text;
/* Image */
int m_paintType;
int m_frameType;
int m_drawTextType;
QImage m_image;
QColor m_textColor;
QColor m_borderColor;
int m_borderWidth;
int m_sizePolicy;
int m_textFlags;
QRectF adjustOption( QPainter * painter, const QStyleOptionGraphicsItem * option );
//
void drawRect( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawEllipse( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawLine( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawPie( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawArc( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawChord( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawPicture( QPainter * painter, const QStyleOptionGraphicsItem * option );
void drawText( QPainter * painter, const QStyleOptionGraphicsItem * option );
protected:
void dragEnterEvent( QGraphicsSceneDragDropEvent * event );
void dragLeaveEvent( QGraphicsSceneDragDropEvent * event );
void dragMoveEvent( QGraphicsSceneDragDropEvent * event );
void dropEvent( QGraphicsSceneDragDropEvent * event );
void hoverEnterEvent( QGraphicsSceneHoverEvent * event );
void mousePressEvent( QGraphicsSceneMouseEvent * event );
void mouseReleaseEvent( QGraphicsSceneMouseEvent * event );
void mouseMoveEvent( QGraphicsSceneMouseEvent * event );
public slots:
void hbSetBlock( PHB_ITEM block );
QPen pen();
void setPen( const QPen & pen );
QBrush brush();
void setBrush( const QBrush & brush );
QBrush backgroundBrush();
void setBackgroundBrush( const QBrush & brush );
QFont font();
void setFont( const QFont & font );
int lineStyle();
void setLineStyle( int lineStyle );
int startAngle();
void setStartAngle( int startAngle );
int spanAngle();
void setSpanAngle( int spanAngle );
qreal width() const;
void setWidth( qreal width );
qreal height() const;
void setHeight( qreal height );
int opacity();
void setOpacity( const int opacity );
QRectF geometry();
void setGeometry( const QRectF & rect );
QString objectType();
void setObjectType( const QString & type );
QString text();
void setText( const QString & text );
int paintType();
void setPaintType( int paintType );
int frameType();
void setFrameType( int frameType );
int drawTextType();
void setDrawTextType( int drawTextType );
QPixmap pixmap();
void setPixmap( const QPixmap & pixmap );
QColor textColor();
void setTextColor( const QColor & color );
int borderWidth();
void setBorderWidth( int bWidth );
QColor borderColor();
void setBorderColor( const QColor & color );
int sizePolicy();
void setSizePolicy( int sizePolicy );
int textFlags();
void setTextFlags( int textFlags );
int resizeFlags();
void setResizeFlags( int resizeFlags );
};
#endif

View File

@@ -233,7 +233,7 @@ void HBQGraphicsRectItem::mouseMoveEvent( QGraphicsSceneMouseEvent * event )
{
if( resizeMode == RESIZE_MODE_NONE ){
setPos( pos() + QPoint( ( int ) ( event->scenePos().x() - event->lastScenePos().x() ),
( int ) ( event->scenePos().y() - event->lastScenePos().y() ) ) );
( int ) ( event->scenePos().y() - event->lastScenePos().y() ) ) );
}
else
{
@@ -262,6 +262,13 @@ void HBQGraphicsRectItem::mouseMoveEvent( QGraphicsSceneMouseEvent * event )
QGraphicsItem::mouseMoveEvent( event );
}
void HBQGraphicsRectItem::hoverEnterEvent( QGraphicsSceneHoverEvent * event )
{
HB_TRACE( HB_TR_ALWAYS, ( "hoverEnter" ) );
determineResizeMode( event->pos() );
QGraphicsItem::hoverEnterEvent( event );
}
int HBQGraphicsRectItem::determineResizeMode( const QPointF & pos )
{
int resizeModes = RESIZE_MODE_LEFT | RESIZE_MODE_TOP | RESIZE_MODE_RIGHT | RESIZE_MODE_BOTTOM ;
@@ -274,6 +281,7 @@ int HBQGraphicsRectItem::determineResizeMode( const QPointF & pos )
if( resizeModes & RESIZE_MODE_LEFT && leftRect.contains( pos ) ){
mode |= RESIZE_MODE_LEFT;
setCursor( QCursor( Qt::SizeHorCursor ) );
}
if( resizeModes & RESIZE_MODE_TOP && topRect.contains( pos ) ){
mode |= RESIZE_MODE_TOP;

View File

@@ -99,6 +99,8 @@ protected:
void mouseReleaseEvent( QGraphicsSceneMouseEvent * event );
void mouseMoveEvent( QGraphicsSceneMouseEvent * event );
void hoverEnterEvent( QGraphicsSceneHoverEvent * event );
public slots:
void hbSetBlock( PHB_ITEM block );
QRectF geometry();

View File

@@ -0,0 +1,733 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2010 Pritpal Bedi <bedipritpal@hotmail.com>
* 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 "hbvm.h"
#if QT_VERSION >= 0x040500
#include "hbqt_hbqgraphicsscene.h"
HBQGraphicsScene::HBQGraphicsScene( QObject * parent ) : QGraphicsScene( parent )
{
block = 0;
m_magnets = 0;
m_magnetArea = 1;
m_paperBorder = 0;
m_pageBorder = 0;
m_showGrid = true;
m_pageSize = QPrinter::A4;
m_orientation = QPrinter::Portrait;
setPageSize( QPrinter::A4 );
setOrientation( QPrinter::Portrait );
QFont m_font = QFont( "Serif" );
m_font.setPointSizeF( 3.5 );
m_font.setStyleStrategy( QFont::PreferMatch );
m_font.setStyleStrategy( QFont::ForceOutline );
setFont( m_font );
}
HBQGraphicsScene::~HBQGraphicsScene()
{
if( block ){
hb_itemRelease( block );
block = NULL;
}
}
void HBQGraphicsScene::hbSetBlock( PHB_ITEM b )
{
if( b ){
block = hb_itemNew( b );
}
}
QRectF HBQGraphicsScene::geometry()
{
return m_geometry;
}
void HBQGraphicsScene::setGeometry( QRectF rect )
{
m_geometry = rect & sceneRect();
drawBorder();
emit geometryChanged( m_geometry );
}
int HBQGraphicsScene::pageSize()
{
return m_pageSize;
}
void HBQGraphicsScene::setPageSize( int pageSize )
{
m_pageSize = pageSize;
updatePageRect();
m_paperRect = sceneRect();
setGeometry( QRect( 10 / UNIT, 10 / UNIT, sceneRect().width() - 10 / UNIT * 2, sceneRect().height()- 10 / UNIT * 2 ) );
}
QRectF HBQGraphicsScene::paperRect()
{
return m_paperRect;
}
void HBQGraphicsScene::setPaperRect( QRectF paperRect )
{
m_paperRect = paperRect;
}
int HBQGraphicsScene::orientation()
{
return m_orientation;
}
void HBQGraphicsScene::setOrientation( int orientation )
{
m_orientation = orientation;
updatePageRect();
m_paperRect = sceneRect();
setGeometry( QRect( 10 / UNIT, 10 / UNIT, sceneRect().width() - 10 / UNIT * 2, sceneRect().height() - 10 / UNIT * 2 ) );
}
int HBQGraphicsScene::magnetArea()
{
return m_magnetArea;
}
void HBQGraphicsScene::setMagnetArea( int magnetArea )
{
m_magnetArea = magnetArea;
}
void HBQGraphicsScene::updatePageRect()
{
QPrinter p;
p.setOutputFormat( QPrinter::PdfFormat );
p.setOrientation( ( QPrinter::Orientation ) orientation() );
p.setPageSize( ( QPrinter::PageSize ) pageSize() );
p.setFullPage( true );
setSceneRect( 0, 0, p.paperRect( QPrinter::Millimeter ).width() / UNIT, p.paperRect( QPrinter::Millimeter ).height() / UNIT );
}
void HBQGraphicsScene::mouseMoveEvent( QGraphicsSceneMouseEvent * mouseEvent )
{
HBQGraphicsItem * item = NULL;
if( itemAt( mouseEvent->scenePos() ) ){
item = dynamic_cast< HBQGraphicsItem * >( itemAt( mouseEvent->scenePos() ) );
}
if( item && mouseEvent->buttons() == Qt::NoButton )
{
if( item->objectType() == ( QString ) "Page" ){
item->setCursor( QCursor( Qt::ArrowCursor ) );
}
else
{
int pc = item->determineResizeMode( item->mapFromScene( mouseEvent->scenePos() ) );
if( RESIZE_MODE_FIXED != pc )
{
if( ( pc & RESIZE_MODE_TOP && pc & RESIZE_MODE_LEFT ) || ( pc & RESIZE_MODE_BOTTOM && pc & RESIZE_MODE_RIGHT ) )
item->setCursor( QCursor( Qt::SizeFDiagCursor ) );
else
if( ( pc & RESIZE_MODE_TOP && pc & RESIZE_MODE_RIGHT ) || ( pc & RESIZE_MODE_BOTTOM && pc & RESIZE_MODE_LEFT ) )
item->setCursor( QCursor( Qt::SizeBDiagCursor ) );
else
if( ( pc & RESIZE_MODE_TOP ) || ( pc & RESIZE_MODE_BOTTOM ) )
item->setCursor( QCursor( Qt::SizeVerCursor ) );
else
if( ( pc & RESIZE_MODE_RIGHT ) || ( pc & RESIZE_MODE_LEFT ) )
item->setCursor( QCursor( Qt::SizeHorCursor ) );
else
if( pc & RESIZE_MODE_FIXEDPOS )
item->setCursor( QCursor( Qt::ArrowCursor ) );
}
else
{
if( RESIZE_MODE_FIXED == pc ){
item->setCursor( QCursor( Qt::OpenHandCursor ) );
}
}
}
}
QGraphicsScene::mouseMoveEvent( mouseEvent );
if( mouseEvent->buttons() != Qt::LeftButton )
return;
item = 0;
if( selectedItems().size() ){
item = dynamic_cast< HBQGraphicsItem * >( selectedItems()[ 0 ] );
}
if( item && ! ( mouseEvent->modifiers() & Qt::ControlModifier ) ){
drawMagnets( item );
}
}
void HBQGraphicsScene::mousePressEvent( QGraphicsSceneMouseEvent * event )
{
QPointF mousePos( event->buttonDownScenePos( Qt::LeftButton ).x(), event->buttonDownScenePos( Qt::LeftButton ).y() );
movingItem = itemAt( mousePos.x(), mousePos.y() );
if( movingItem != 0 && event->button() == Qt::LeftButton )
mouseOldPos = movingItem->pos();
QGraphicsScene::mousePressEvent( event );
if( event->buttons() == Qt::LeftButton )
{
if( ! itemAt( event->scenePos() ) ){
emit itemSelected( parent(), event->scenePos() );
}
else {
if( itemAt( event->scenePos()) == m_paperBorder || itemAt( event->scenePos() ) == m_pageBorder ){
emit itemSelected( this, event->scenePos() );
}
}
}
}
void HBQGraphicsScene::mouseReleaseEvent( QGraphicsSceneMouseEvent * event )
{
foreach( QGraphicsItem * item, m_gideLines )
removeItem( item );
m_gideLines.clear();
if( movingItem != 0 && event->button() == Qt::LeftButton )
{
if( mouseOldPos != movingItem->pos() ){
emit itemMoved( dynamic_cast< QObject * >( movingItem ), mouseOldPos );
}
movingItem = 0;
}
QGraphicsScene::mouseReleaseEvent( event );
}
void HBQGraphicsScene::keyReleaseEvent( QKeyEvent * keyEvent )
{
foreach( QGraphicsItem * item, m_gideLines )
removeItem( item );
m_gideLines.clear();
QGraphicsScene::keyReleaseEvent( keyEvent );
}
void HBQGraphicsScene::keyPressEvent( QKeyEvent * keyEvent )
{
if( keyEvent->modifiers() == Qt::NoModifier || ( keyEvent->key() != Qt::Key_Left && keyEvent->key() != Qt::Key_Right &&
keyEvent->key() != Qt::Key_Up && keyEvent->key() != Qt::Key_Down ) )
{
QGraphicsScene::keyPressEvent( keyEvent );
return;
}
HBQGraphicsItem * itm = 0;
if( keyEvent->modifiers() & Qt::AltModifier )
{
foreach( QGraphicsItem * item, selectedItems() )
{
itm = dynamic_cast< HBQGraphicsItem* >( item );
if( itm )
{
QRectF curRect = itm->geometry();
QRectF rect;
switch( keyEvent->key() )
{
case Qt::Key_Left:
rect = QRectF( curRect.x() - 5, curRect.y(), curRect.width(), curRect.height() );
break;
case Qt::Key_Right:
rect = QRectF( curRect.x() + 5, curRect.y(), curRect.width(), curRect.height() );
break;
case Qt::Key_Up:
rect = QRectF( curRect.x(), curRect.y() - 5, curRect.width(), curRect.height() );
break;
case Qt::Key_Down:
rect = QRectF( curRect.x(), curRect.y() + 5, curRect.width(), curRect.height() );
break;
}
itm->setGeometry( rect );
drawMagnets( itm );
}
}
}
if( keyEvent->modifiers() & Qt::ControlModifier )
{
foreach( QGraphicsItem * item, selectedItems() )
{
HBQGraphicsItem * itm = dynamic_cast< HBQGraphicsItem* >( item );
if( itm )
{
QRectF curRect = itm->geometry();
QRectF rect;
switch( keyEvent->key() )
{
case Qt::Key_Left:
rect = QRectF( curRect.x() - 1, curRect.y(), curRect.width(), curRect.height() );
break;
case Qt::Key_Right:
rect = QRectF( curRect.x() + 1, curRect.y(), curRect.width(), curRect.height() );
break;
case Qt::Key_Up:
rect = QRectF( curRect.x(), curRect.y() - 1, curRect.width(), curRect.height() );
break;
case Qt::Key_Down:
rect = QRectF( curRect.x(), curRect.y() + 1, curRect.width(), curRect.height() );
break;
}
itm->setGeometry( rect );
drawMagnets( itm );
}
}
}
if( keyEvent->modifiers() & Qt::ShiftModifier )
{
foreach( QGraphicsItem * item, selectedItems() )
{
HBQGraphicsItem * itm = dynamic_cast< HBQGraphicsItem* >( item );
if( itm )
{
QRectF curRect = itm->geometry();
QRectF rect;
switch( keyEvent->key() )
{
case Qt::Key_Left:
rect = QRectF( curRect.x(), curRect.y(), curRect.width() - 1, curRect.height() );
break;
case Qt::Key_Right:
rect = QRectF( curRect.x(), curRect.y(), curRect.width() + 1, curRect.height() );
break;
case Qt::Key_Up:
rect = QRectF( curRect.x(), curRect.y(), curRect.width(), curRect.height() - 1 );
break;
case Qt::Key_Down:
rect = QRectF( curRect.x(), curRect.y(), curRect.width(), curRect.height() + 1 );
break;
}
itm->setGeometry( rect );
drawMagnets( itm );
}
}
}
}
/*----------------------------------------------------------------------*/
// Drag & Drop
/*----------------------------------------------------------------------*/
void HBQGraphicsScene::dragEnterEvent( QGraphicsSceneDragDropEvent * event )
{
if( block )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragEnter );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
}
else
{
QGraphicsScene::dragEnterEvent( event );
}
}
void HBQGraphicsScene::dragLeaveEvent( QGraphicsSceneDragDropEvent * event )
{
if( block )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragLeave );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
}
else
{
QGraphicsScene::dragLeaveEvent( event );
}
}
void HBQGraphicsScene::dragMoveEvent( QGraphicsSceneDragDropEvent * event )
{
if( block )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDragMove );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
}
else
{
QGraphicsScene::dragMoveEvent( event );
}
}
void HBQGraphicsScene::dropEvent( QGraphicsSceneDragDropEvent * event )
{
if( block )
{
const QMimeData * mime = event->mimeData();
if( mime->hasFormat( ( QString ) "application/x-qabstractitemmodeldatalist" ) )
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
PHB_ITEM p3 = hb_itemNew( NULL );
QTreeWidget * tree = dynamic_cast< QTreeWidget * >( event->source() );
QTreeWidgetItem * curItem = dynamic_cast< QTreeWidgetItem * >( tree->currentItem() );
if( tree->indexOfTopLevelItem( curItem ) == -1 )
{
QTreeWidgetItem * parent = dynamic_cast< QTreeWidgetItem * >( curItem->parent() );
if( curItem )
{
hb_arrayNew( p3, 3 );
//
hb_arraySetC( p3, 1, tree->objectName().toLatin1().data() );
hb_arraySetC( p3, 2, parent->text( 0 ).toLatin1().data() );
hb_arraySetC( p3, 3, curItem->text( 0 ).toLatin1().data() );
//
hb_vmEvalBlockV( block, 3, p1, p2, p3 );
//
hb_itemRelease( p1 );
hb_itemRelease( p2 );
hb_itemRelease( p3 );
}
}
}
else
{
PHB_ITEM p1 = hb_itemPutNI( NULL, ( int ) QEvent::GraphicsSceneDrop );
PHB_ITEM p2 = hb_itemPutPtr( NULL, event );
hb_vmEvalBlockV( block, 2, p1, p2 );
hb_itemRelease( p1 );
hb_itemRelease( p2 );
}
}
QGraphicsScene::dropEvent( event );
}
/*----------------------------------------------------------------------*/
// General
/*----------------------------------------------------------------------*/
bool HBQGraphicsScene::showGrid()
{
return m_showGrid;
}
void HBQGraphicsScene::setShowGrid( bool showGrid )
{
m_showGrid = showGrid;
drawBorder();
}
void HBQGraphicsScene::drawBorder()
{
QPen p;
p.setStyle( Qt::DashDotDotLine );
delete m_paperBorder;
delete m_pageBorder;
m_paperBorder = addRect( m_paperRect );
p.setStyle( Qt::SolidLine );
p.setColor( QColor( 0,0,255 ) );
p.setWidth( 4 );
m_pageBorder = addRect( geometry() );
m_pageBorder->setPen( p );
if( m_showGrid )
{
QPen p;
p.setColor( QColor( 225,225,225 ) );
p.setWidth( 1 );
p.setStyle( Qt::DotLine );
if( views().size() )
{
p.setWidth( 1 + 1 / views()[ 0 ]->transform().m11() );
}
for( int i = 0; i < width(); i += ( 5.0 / UNIT ) )
{
QGraphicsLineItem * line= new QGraphicsLineItem( m_paperBorder );
line->setPen( p );
line->setLine( i, 0, i, height() );
}
for( int i = 0; i < height(); i += ( 5.0 / UNIT ) )
{
QGraphicsLineItem * line= new QGraphicsLineItem( m_paperBorder );
line->setPen( p );
line->setLine( 0, i, width(), i );
}
}
m_pageBorder->setZValue( -1 ) ;
m_paperBorder->setZValue( -2 ) ;
}
/*----------------------------------------------------------------------*/
// Magnets
/*----------------------------------------------------------------------*/
void HBQGraphicsScene::setLeftMagnet( bool magneted )
{
if( magneted )
m_magnets |= Left;
else
{
int a = 0xffff;
a ^= Left;
m_magnets &= a;
}
}
void HBQGraphicsScene::setRightMagnet( bool magneted )
{
if( magneted )
m_magnets |= Right;
else
{
int a = 0xffff;
a ^= Right;
m_magnets &= a;
}
}
void HBQGraphicsScene::setTopMagnet( bool magneted )
{
if( magneted )
m_magnets |= Top;
else
{
int a = 0xffff;
a ^= Top;
m_magnets &= a;
}
}
void HBQGraphicsScene::setBottomMagnet( bool magneted )
{
if( magneted )
m_magnets |= Bottom;
else
{
int a = 0xffff;
a ^= Bottom;
m_magnets &= a;
}
}
void HBQGraphicsScene::setHorizontalMagnet( bool magneted )
{
if( magneted )
m_magnets |= Horizontal;
else
{
int a = 0xffff;
a ^= Horizontal;
m_magnets &= a;
}
}
void HBQGraphicsScene::setVerticalMagnet( bool magneted )
{
if( magneted )
m_magnets |= Vertical;
else
{
int a = 0xffff;
a ^= Vertical;
m_magnets &= a;
}
}
void HBQGraphicsScene::drawMagnets( HBQGraphicsItem * item )
{
foreach( QGraphicsItem * it, m_gideLines )
removeItem( it );
m_gideLines.clear();
if ( ! m_magnets )
return;
item->setToolTip( tr( "Press Ctrl key to ignore magnets when dragging the object" ) );
QPen p;
p.setWidth( 3 );
p.setColor( Qt::red );
p.setStyle( Qt::DotLine );
foreach( QGraphicsItem * it, items() )
{
HBQGraphicsItem * ite = dynamic_cast< HBQGraphicsItem * >( it );
if( ! ite || ! item->parentItem() || ite == item )
continue;
if( ( m_magnets & Left ) && abs( item->mapToScene( QPointF( 0, 0 ) ).x() - ite->mapToScene( QPointF( 0, 0 ) ).x() ) <= m_magnetArea )
{
item->setGeometry(QRectF(ite->mapToItem(item->parentItem(), QPointF(0, 0)).x(), item->geometry().y(), item->geometry().width(), item->geometry().height()));
if (item->mapToScene(0, 0).y() < ite->mapToScene(0, ite->geometry().height()).y())
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), item->mapToScene(0, 0).x(), ite->mapToScene(0, ite->geometry().height()).y(), p));
else
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), ite->mapToScene(0, 0).y(), item->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), p));
}
if ((m_magnets&Left) && abs(item->mapToScene(QPointF(0, 0)).x() - ite->mapToScene(QPointF(ite->geometry().width(), 0)).x()) <= m_magnetArea)
{
item->setGeometry(QRectF(ite->mapToItem(item->parentItem(), QPointF(ite->geometry().width(), 0)).x(), item->geometry().y(), item->geometry().width(), item->geometry().height()));
if (item->mapToScene(0, 0).y() < ite->mapToScene(0, ite->geometry().height()).y())
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), item->mapToScene(0, 0).x(), ite->mapToScene(0, ite->geometry().height()).y(), p));
else
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), ite->mapToScene(0, 0).y(), item->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), p));
}
if ((m_magnets&Right) && abs(item->mapToScene(item->geometry().width(), 0).x() - ite->mapToScene(0, 0).x()) <= m_magnetArea)
{
item->setGeometry(QRectF(ite->mapToItem(item->parentItem(), 0, 0).x() - item->geometry().width(), item->geometry().y(), item->geometry().width(), item->geometry().height()));
if (item->mapToScene(item->geometry().width(), 0).y() < ite->mapToScene(ite->geometry().width(), ite->geometry().height()).y())
m_gideLines.push_back(addLine(item->mapToScene(item->geometry().width(), 0).x(), item->mapToScene(item->geometry().width(), 0).y(), item->mapToScene(item->geometry().width(), 0).x(), ite->mapToScene(ite->geometry().width(), ite->geometry().height()).y(), p));
else
m_gideLines.push_back(addLine(item->mapToScene(item->geometry().width(), 0).x(), ite->mapToScene(ite->geometry().width(), 0).y(), item->mapToScene(item->geometry().width(), 0).x(), item->mapToScene(item->geometry().width(), item->geometry().height()).y(), p));
}
if ((m_magnets&Right) && abs(item->mapToScene(item->geometry().width(), 0).x() - ite->mapToScene(ite->geometry().width(), 0).x()) <= m_magnetArea)
{
item->setGeometry(QRectF(ite->mapToItem(item->parentItem(), ite->geometry().width(), 0).x() - item->geometry().width(), item->geometry().y(), item->geometry().width(), item->geometry().height()));
if (item->mapToScene(item->geometry().width(), 0).y() < ite->mapToScene(ite->geometry().width(), ite->geometry().height()).y())
m_gideLines.push_back(addLine(item->mapToScene(item->geometry().width(), 0).x(), item->mapToScene(item->geometry().width(), 0).y(), ite->mapToScene(ite->geometry().width(), 0).x(), ite->mapToScene(ite->geometry().width(), ite->geometry().height()).y(), p));
else
m_gideLines.push_back(addLine(ite->mapToScene(ite->geometry().width(), 0).x(), ite->mapToScene(ite->geometry().width(), 0).y(), item->mapToScene(item->geometry().width(), 0).x(), item->mapToScene(item->geometry().width(), item->geometry().height()).y(), p));
}
if ((m_magnets&Top) && abs(item->mapToScene(QPointF(0, 0)).y() - ite->mapToScene(QPointF(0, 0)).y()) <= m_magnetArea)
{
item->setGeometry(QRectF(item->geometry().x(), ite->mapToItem(item->parentItem(), QPointF(0, 0)).y(), item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), ite->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), p));
}
if ((m_magnets&Top) && abs(item->mapToScene(QPointF(0, 0)).y() - ite->mapToScene(QPointF(0, ite->geometry().height())).y()) <= m_magnetArea)
{
item->setGeometry(QRectF(item->geometry().x(), ite->mapToItem(item->parentItem(), QPointF(0, ite->geometry().height())).y(), item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), ite->mapToScene(0, 0).x(), item->mapToScene(0, 0).y(), p));
}
if ((m_magnets&Bottom) && abs(item->mapToScene(QPointF(0, item->geometry().height())).y() - ite->mapToScene(QPointF(0, ite->geometry().height())).y()) <= m_magnetArea)
{
item->setGeometry(QRectF(item->geometry().x(), ite->mapToItem(item->parentItem(), QPointF(0, ite->geometry().height())).y() - item->geometry().height(), item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), ite->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), p));
}
if ((m_magnets&Bottom) && abs(item->mapToScene(QPointF(0, item->geometry().height())).y() - ite->mapToScene(QPointF(0, 0)).y()) <= m_magnetArea)
{
item->setGeometry(QRectF(item->geometry().x(), ite->mapToItem(item->parentItem(), QPointF(0, 0)).y() - item->geometry().height(), item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), ite->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height()).y(), p));
}
if ((m_magnets&Horizontal) && abs(item->mapToScene(QPointF(0, item->geometry().height() / 2)).y() - ite->mapToScene(QPointF(0, ite->geometry().height() / 2)).y()) <= m_magnetArea)
{
item->setGeometry(QRectF(item->geometry().x(), ite->mapToItem(item->parentItem(), QPointF(0, ite->geometry().height() / 2)).y() - item->geometry().height() / 2, item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height() / 2).y(), ite->mapToScene(0, 0).x(), item->mapToScene(0, item->geometry().height() / 2).y(), p));
}
if ((m_magnets&Vertical) && abs(item->mapToScene(QPointF(item->geometry().width() / 2, 0)).x() - ite->mapToScene(QPointF(ite->geometry().width() / 2, 0)).x()) <= m_magnetArea)
{
item->setGeometry(QRectF(ite->mapToItem(item->parentItem(), QPointF(ite->geometry().width() / 2, 0)).x() - item->geometry().width() / 2, item->geometry().y(), item->geometry().width(), item->geometry().height()));
m_gideLines.push_back(addLine(item->mapToScene(item->geometry().width() / 2, 0).x(), item->mapToScene(0, 0).y(), item->mapToScene(item->geometry().width() / 2, 0).x(), ite->mapToScene(0, ite->geometry().height()).y(), p));
}
}
}
/*----------------------------------------------------------------------*/
// Zooming
/*----------------------------------------------------------------------*/
void HBQGraphicsScene::zoomIn()
{
if( views().size() )
{
views()[ 0 ]->scale( 1.1, 1.1 );
}
}
void HBQGraphicsScene::zoomOut()
{
if( views().size() )
{
views()[ 0 ]->scale( 0.9, 0.9 );
}
}
void HBQGraphicsScene::zoomWYSIWYG()
{
if( views().size() )
{
views()[ 0 ]->resetMatrix();
views()[ 0 ]->scale( ( double ) QDesktopWidget().screen()->width() / ( hbqt_screen_widthMM * 10 ),
( double ) QDesktopWidget().screen()->height() / ( hbqt_screen_heightMM * 10 ) );
views()[ 0 ]->centerOn( 0, 0 );
}
}
void HBQGraphicsScene::zoomOriginal()
{
if( views().size() )
{
views()[ 0 ]->resetMatrix();
views()[ 0 ]->centerOn( 0, 0 );
}
}
/*----------------------------------------------------------------------*/
#endif

View File

@@ -0,0 +1,163 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT wrapper main header
*
* Copyright 2010 Pritpal Bedi <bedipritpal@hotmail.com>
* 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.
*
*/
#ifndef HBQT_HBQGRAPHICSSCENE_H
#define HBQT_HBQGRAPHICSSCENE_H
#include <QtGui/QGraphicsScene>
#include <QtGui/QPrinter>
#include <QtGui/QGraphicsSceneMouseEvent>
#include <QtGui/QGraphicsLineItem>
#include <QtGui/QCursor>
#include <QtGui/QKeyEvent>
#include <QtGui/QGraphicsView>
#include <QtCore/QList>
#include "hbqt_hbqgraphicsitem.h"
#define RESIZE_MODE_FIXED 0
#define RESIZE_MODE_LEFT 1
#define RESIZE_MODE_TOP 2
#define RESIZE_MODE_RIGHT 4
#define RESIZE_MODE_BOTTOM 8
#define RESIZE_MODE_FIXEDPOS 16
#define hbqt_screen_heightMM (((double)QDesktopWidget().screen()->height() / (double)QDesktopWidget().screen()->physicalDpiY() )*25.4)
#define hbqt_screen_widthMM (((double)QDesktopWidget().screen()->width() / (double)QDesktopWidget().screen()->physicalDpiX() )*25.4)
class HBQGraphicsScene : public QGraphicsScene
{
Q_OBJECT
public:
enum Magnet
{
Left = 1,
Right = 2,
Top = 4,
Bottom = 8,
Vertical = 16,
Horizontal = 32
};
public:
HBQGraphicsScene( QObject * parent = 0 );
~HBQGraphicsScene();
PHB_ITEM block;
void hbSetBlock( PHB_ITEM b );
virtual int pageSize();
virtual void setPageSize( int pageSize );
QRectF paperRect();
void setPaperRect( QRectF paperRect );
virtual int orientation();
virtual void setOrientation( int orientation );
virtual QRectF geometry();
virtual void setGeometry( QRectF rect );
int magnetArea();
void setMagnetArea( int magnetArea );
virtual bool showGrid();
virtual void setShowGrid( bool showGrid );
virtual void zoomWYSIWYG();
virtual void zoomIn();
virtual void zoomOut();
virtual void zoomOriginal();
public slots:
virtual void setLeftMagnet( bool magneted );
virtual void setRightMagnet( bool magneted );
virtual void setTopMagnet( bool magneted );
virtual void setBottomMagnet( bool magneted );
virtual void setHorizontalMagnet( bool magneted );
virtual void setVerticalMagnet( bool magneted );
protected:
virtual void mouseMoveEvent( QGraphicsSceneMouseEvent * mouseEvent );
virtual void mousePressEvent( QGraphicsSceneMouseEvent *event );
virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent * mouseEvent );
virtual void keyPressEvent( QKeyEvent * keyEvent );
virtual void keyReleaseEvent( QKeyEvent * keyEvent );
virtual void dragEnterEvent( QGraphicsSceneDragDropEvent * event );
virtual void dragLeaveEvent( QGraphicsSceneDragDropEvent * event );
virtual void dragMoveEvent( QGraphicsSceneDragDropEvent * event );
virtual void dropEvent( QGraphicsSceneDragDropEvent * event );
virtual void updatePageRect();
signals:
void itemSelected( QObject * thisObject, QPointF cursorPos );
void geometryChanged( QRectF newGeometry );
void itemMoved( QObject*, QPointF );
private:
void drawMagnets( HBQGraphicsItem * item );
void drawBorder();
private:
int m_pageSize;
int m_orientation;
QRectF m_geometry, m_paperRect;
int m_magnets, m_magnetArea;
QList< QGraphicsItem * > m_gideLines;
QGraphicsRectItem * m_paperBorder;
QGraphicsRectItem * m_pageBorder;
bool m_showGrid;
QGraphicsItem * movingItem;
QPointF mouseOldPos;
};
#endif

View File

@@ -10,6 +10,7 @@ g/filelist.hbm
hbqt_hbqabstractitemmodel.cpp
hbqt_hbqgraphicsitem.cpp
hbqt_hbqgraphicsrectitem.cpp
hbqt_hbqgraphicsscene.cpp
hbqt_hbqmainwindow.cpp
hbqt_hbqplaintextedit.cpp
hbqt_hbqsyntaxhighlighter.cpp
@@ -17,6 +18,7 @@ hbqt_hbqtableview.cpp
hbqt_utils.cpp
hbqt_hbqabstractitemmodel.h
hbqt_hbqgraphicsscene.h
hbqt_hbqmainwindow.h
hbqt_hbqplaintextedit.h
hbqt_hbqsyntaxhighlighter.h

View File

@@ -57,8 +57,8 @@
<CLASS>
QObject = no
Inherit = QGraphicsItem
Type =
New =
Type =
New =
</CLASS>
<CODE>
@@ -72,7 +72,17 @@ New =
*/
HB_FUNC( QT_HBQGRAPHICSITEM )
{
// hb_retptr( new HBQGraphicsItem() );
if( hb_pcount() == 1 && HB_ISNUM( 1 ) )
{
hb_retptr( new HBQGraphicsItem( hb_parni( 1 ) ) );
}
else if( hb_pcount() == 2 && HB_ISNUM( 1 ) && HB_ISPOINTER( 2 ) )
{
hb_retptr( new HBQGraphicsItem( hb_parni( 1 ), hbqt_par_QGraphicsItem( 2 ) ) );
}
else {
hb_retptr( new HBQGraphicsItem() );
}
}
</CODE>
@@ -80,7 +90,56 @@ HB_FUNC( QT_HBQGRAPHICSITEM )
</ENUMS>
<PROTOS>
void hbSetBlock( PHB_ITEM block )
void hbSetBlock( PHB_ITEM block )
QPen pen()
void setPen( const QPen & pen )
QBrush brush()
void setBrush( const QBrush & brush )
QBrush backgroundBrush()
void setBackgroundBrush( const QBrush & brush )
QFont font()
void setFont( const QFont & font )
int lineStyle()
void setLineStyle( int lineStyle )
int startAngle()
void setStartAngle( int startAngle )
int spanAngle()
void setSpanAngle( int spanAngle )
qreal width() const
void setWidth( qreal width )
qreal height() const
void setHeight( qreal height )
int opacity()
void setOpacity( const int opacity )
QRectF geometry()
void setGeometry( const QRectF & rect )
QString objectType()
void setObjectType( const QString & type )
QString text()
void setText( const QString & type )
int paintType()
void setPaintType( int paintType )
int frameType()
void setFrameType( int frameType )
int drawTextType()
void setDrawTextType( int drawTextType )
QPixmap pixmap()
void setPixmap( const QPixmap & pixmap )
QColor textColor()
void setTextColor( const QColor & color )
int borderWidth()
void setBorderWidth( int bWidth )
QColor borderColor()
void setBorderColor( const QColor & color )
int sizePolicy()
void setSizePolicy( int sizePolicy )
int textFlags()
void setTextFlags( int textFlags )
int resizeFlags()
void setResizeFlags( int resizeFlags )
</PROTOS>
<SLOTS>

View File

@@ -0,0 +1,128 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* QT Source Generator for Harbour
*
* Copyright 2009-2010 Pritpal Bedi <bedipritpal@hotmail.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>
QObject =
Inherit = QGraphicsScene
Type =
New =
</CLASS>
<CODE>
#include <QtGui/QGraphicsScene>
#include "hbqt_hbqgraphicsscene.h"
/*
* HBQGraphicsScene()
* HBQGraphicsScene( QObject * parent )
* ~HBQGraphicsScene()
*/
HB_FUNC( QT_HBQGRAPHICSSCENE )
{
if( hb_pcount() == 1 && HB_ISPOINTER( 1 ) )
{
hb_retptr( new HBQGraphicsScene( hbqt_par_QObject( 1 ) ) );
}
else
{
hb_retptr( new HBQGraphicsScene() );
}
}
</CODE>
<ENUMS>
enum Magnet { Left, Right, Top, Bottom, Vertical, Horizontal }
</ENUMS>
<PROTOS>
void hbSetBlock( PHB_ITEM block )
virtual int pageSize()
virtual void setPageSize( int pageSize )
QRectF paperRect()
void setPaperRect( const QRectF & paperRect )
virtual int orientation()
virtual void setOrientation( int orientation )
virtual QRectF geometry()
virtual void setGeometry( const QRectF & rect )
int magnetArea()
void setMagnetArea( int magnetArea )
virtual bool showGrid()
virtual void setShowGrid( bool showGrid )
virtual void zoomWYSIWYG();
virtual void zoomIn();
virtual void zoomOut();
virtual void zoomOriginal();
</PROTOS>
<SLOTS>
virtual void setLeftMagnet( bool magneted )
virtual void setRightMagnet( bool magneted )
virtual void setTopMagnet( bool magneted )
virtual void setBottomMagnet( bool magneted )
virtual void setHorizontalMagnet( bool magneted )
virtual void setVerticalMagnet( bool magneted )
</SLOTS>
<SIGNALS>
</SIGNALS>
<VARIABLES>
</VARIABLES>

View File

@@ -9,6 +9,7 @@
HBQAbstractItemModel.qth
HBQGraphicsItem.qth
HBQGraphicsRectItem.qth
HBQGraphicsScene.qth
HBQMainWindow.qth
HBQPlainTextEdit.qth
HBQSyntaxHighlighter.qth