2010-08-24 18:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp

  * contrib/hbide/resources/f-image.png
  + contrib/hbide/resources/r-page.png
  + contrib/hbide/resources/r-report.png
  * contrib/hbide/hbide.qrc

  * contrib/hbide/idemisc.prg
  * contrib/hbide/idereportsmanager.prg
    + Implemented: ideReports Manager: 
        * "Objects" tree now showsup type of object icon.

        * Rotate selected object clock wise and anti-clock wise.
            Currently it is 10 deg per click. Later an interface 
            to rotate precisely to be introduced.

            Rotated objects keep the exact aspect ratio. This is 
            testified on barcode which reads the correct string
            after 90, 180, 270 and 360 deg rotation.

        * Atarted API to separate this component from direct calls 
          to hbIDE to gather various info from the application.
          Right now these are the images which now call app_image()
          instead of hbide_image(). app_image() function will 
          reside in application so that this class be linked with
          application independently of hbIDE.
This commit is contained in:
Pritpal Bedi
2010-08-25 02:05:16 +00:00
parent f7d150322d
commit 9bb591e5e6
8 changed files with 180 additions and 87 deletions

View File

@@ -16,6 +16,34 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-08-24 18:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbide/resources/f-image.png
+ contrib/hbide/resources/r-page.png
+ contrib/hbide/resources/r-report.png
* contrib/hbide/hbide.qrc
* contrib/hbide/idemisc.prg
* contrib/hbide/idereportsmanager.prg
+ Implemented: ideReports Manager:
* "Objects" tree now showsup type of object icon.
* Rotate selected object clock wise and anti-clock wise.
Currently it is 10 deg per click. Later an interface
to rotate precisely to be introduced.
Rotated objects keep the exact aspect ratio. This is
testified on barcode which reads the correct string
after 90, 180, 270 and 360 deg rotation.
* Atarted API to separate this component from direct calls
to hbIDE to gather various info from the application.
Right now these are the images which now call app_image()
instead of hbide_image(). app_image() function will
reside in application so that this class be linked with
application independently of hbIDE.
2010-08-24 09:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
* contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp

View File

@@ -265,6 +265,8 @@
<file>resources/f-strike-1.png</file>
<file>resources/toback.png</file>
<file>resources/tofront.png</file>
<file>resources/r-page.png</file>
<file>resources/r-report.png</file>
</qresource>
</RCC>

View File

@@ -2119,15 +2119,11 @@ FUNCTION hbide_buildToolbarButton( qToolbar, aBtn )
RETURN qBtn
/*----------------------------------------------------------------------*/
/* An interface component function which will be called by Reports Manager
whenever a request is made. Application will supply the required info
in this case it is hbIDE. */
FUNCTION hbide_getNextID( cType )
STATIC hIDs := {=>}
IF ! hb_hHasKey( hIDs, cType )
hIDs[ cType ] := 0
ENDIF
RETURN ++hIDs[ cType ]
FUNCTION app_image( cName )
RETURN hbide_image( cName )
/*----------------------------------------------------------------------*/

View File

@@ -154,7 +154,9 @@ CLASS IdeReportsManager INHERIT IdeObject
METHOD loadReport( cName )
METHOD saveReport()
METHOD prepareReport()
METHOD updateObjectsTree( cType, cParent, cName )
METHOD getNextID( cType )
METHOD getImageOfType( cType )
METHOD updateObjectsTree( cType, cParent, cName, cSubType )
ENDCLASS
@@ -293,6 +295,8 @@ METHOD IdeReportsManager:buildDesignReport()
::qPageL01Lay:addWidget( ::qTreeObjects )
::qTreeObjects:setHeaderHidden( .t. )
::qTreeObjects:setObjectName( "ObjectsTree" )
::qTreeObjects:setIconSize( QSize():new( 12,12 ) )
::qTreeObjects:setIndentation( 12 )
::connect( ::qTreeObjects, "itemClicked(QTWItem)", {|p,p1| ::execEvent( "treeObjects_clicked", p, p1 ) } )
::qTabL1 := QTabWidget():new()
@@ -354,38 +358,6 @@ METHOD IdeReportsManager:buildDesignReport()
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:updateObjectsTree( cType, cParent, cName )
LOCAL qParent, qItem
DO CASE
CASE cType == "ReportName"
qItem := QTreeWidgetItem():new() ; qItem:setText( 0, cName )
::qTreeObjects:addTopLevelItem( qItem )
::hObjTree[ cName ] := qItem
qItem:setExpanded( .t. )
CASE cType == "Page" .OR. cType == "Object" .OR. cType == "Field"
IF hb_hHasKey( ::hObjTree, cParent )
qParent := ::hObjTree[ cParent ]
ENDIF
IF !empty( qParent )
IF hb_hHasKey( ::hObjTree, cName )
//
ENDIF
qItem := QTreeWidgetItem():new() ; qItem:setText( 0, cName )
qParent:addChild( qItem )
::hObjTree[ cName ] := qItem
qParent:setExpanded( .t. )
ENDIF
ENDCASE
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:loadReport( cName )
LOCAL aSource, qItem, qItmC, aFld, a_, i, b_
@@ -484,8 +456,10 @@ METHOD IdeReportsManager:execEvent( cEvent, p, p1, p2 )
DO CASE
CASE p == 21101 // Object selected
IF hb_hHasKey( ::hObjTree, p1 )
::qCurGraphicsItem := ::hObjTree[ p1 ]
::qTreeObjects:setCurrentItem( ::qCurGraphicsItem )
::qCurGraphicsItem := ::hItems[ p1 ]
::qTreeObjects:setCurrentItem( ::hObjTree[ p1 ] )
ELSE
::qCurGraphicsItem := NIL
ENDIF
ENDCASE
@@ -505,6 +479,16 @@ METHOD IdeReportsManager:execEvent( cEvent, p, p1, p2 )
ENDIF
EXIT
CASE "buttonRotateL_clicked"
IF !empty( ::qCurGraphicsItem )
::qCurGraphicsItem:rotate( -10 )
ENDIF
EXIT
CASE "buttonRotateR_clicked"
IF !empty( ::qCurGraphicsItem )
::qCurGraphicsItem:rotate( 10 )
ENDIF
EXIT
CASE "buttonToBack_clicked"
EXIT
CASE "buttonToFront_clicked"
@@ -543,13 +527,13 @@ METHOD IdeReportsManager:execEvent( cEvent, p, p1, p2 )
METHOD IdeReportsManager:addObject( qPos, cType )
LOCAL oWidget, cName, nW, nH, qGrad, cCode, qStrList, i
cName := cType + "_" + hb_ntos( hbide_getNextID( cType ) )
cName := cType + "_" + hb_ntos( ::getNextID( cType ) )
SWITCH cType
CASE "Image"
nW := 300 ; nH := 300
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_PICTURE )
oWidget:setPixmap( QPixmap():new( hbide_image( "hbide" ) ) )
oWidget:setPixmap( QPixmap():new( app_image( "hbide" ) ) )
oWidget:setBorderWidth( 2 )
EXIT
CASE "Chart"
@@ -570,7 +554,7 @@ METHOD IdeReportsManager:addObject( qPos, cType )
EXIT
CASE "Barcode"
nW := 300 ; nH := 200
cCode := ::fetchBarString( "Harbour" )
cCode := ::fetchBarString( "51550621" )
qStrList := QStringList():new()
FOR i := 1 TO len( cCode )
IF substr( cCode, i, 1 ) == "1"
@@ -602,7 +586,7 @@ METHOD IdeReportsManager:addObject( qPos, cType )
oWidget:setPos( qPos )
ENDIF
::hItems[ cName ] := oWidget
::updateObjectsTree( "Object", "Page_1", cName )
::updateObjectsTree( "Object", "Page_1", cName, cType )
RETURN Self
@@ -612,7 +596,7 @@ METHOD IdeReportsManager:addField( qPos, cAlias, cField )
LOCAL oWidget, nW := 300, nH := 50
LOCAL cName := cAlias + "..." + cField
cName := cName + "_" + hb_ntos( hbide_getNextID( cName ) )
cName := cName + "_" + hb_ntos( ::getNextID( cName ) )
oWidget := HBQGraphicsItem():new( HBQT_GRAPHICSITEM_SIMPLETEXT )
oWidget:setText( cName )
@@ -629,7 +613,48 @@ METHOD IdeReportsManager:addField( qPos, cAlias, cField )
ENDIF
::hItems[ cName ] := oWidget
::updateObjectsTree( "Field", "Page_1", cName )
::updateObjectsTree( "Field", "Page_1", cName, NIL )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:updateObjectsTree( cType, cParent, cName, cSubType )
LOCAL qParent, qItem
DO CASE
CASE cType == "ReportName"
qItem := QTreeWidgetItem():new() ; qItem:setText( 0, cName )
qItem:setIcon( 0, app_image( "r-report" ) )
::qTreeObjects:addTopLevelItem( qItem )
::hObjTree[ cName ] := qItem
qItem:setExpanded( .t. )
CASE cType == "Page" .OR. cType == "Object" .OR. cType == "Field"
IF hb_hHasKey( ::hObjTree, cParent )
qParent := ::hObjTree[ cParent ]
ENDIF
IF !empty( qParent )
IF hb_hHasKey( ::hObjTree, cName )
//
ENDIF
qItem := QTreeWidgetItem():new() ; qItem:setText( 0, cName )
qParent:addChild( qItem )
::hObjTree[ cName ] := qItem
IF cType == "Page"
qItem:setIcon( 0, app_image( "r-page" ) )
ELSEIF cType == "Object"
qItem:setIcon( 0, ::getImageOfType( cSubType ) )
ELSEIF cType == "Field"
qItem:setIcon( 0, ::getImageOfType( "Field" ) )
ENDIF
qParent:setExpanded( .t. )
ENDIF
ENDCASE
RETURN Self
@@ -674,14 +699,17 @@ METHOD IdeReportsManager:buildToolbar()
::qToolbar:orientation := Qt_Horizontal
::qToolbar:create( "ReportManager_Top_Toolbar" )
::qToolbar:addToolButton( "New" , "New Report" , hbide_image( "new" ), {|| ::execEvent( "buttonNew_clicked" ) } )
::qToolbar:addToolButton( "Open" , "Open Report" , hbide_image( "open3" ), {|| ::execEvent( "buttonOpen_clicked" ) } )
::qToolbar:addToolButton( "Save" , "Save Report" , hbide_image( "save3" ), {|| ::execEvent( "buttonSave_clicked" ) } )
::qToolbar:addToolButton( "Close", "Close Report", hbide_image( "close3" ), {|| ::execEvent( "buttonClose_clicked" ) } )
::qToolbar:addToolButton( "Print", "Print Report", hbide_image( "print" ), {|| ::execEvent( "buttonPrint_clicked" ) } )
::qToolbar:addToolButton( "New" , "New Report" , app_image( "new" ), {|| ::execEvent( "buttonNew_clicked" ) } )
::qToolbar:addToolButton( "Open" , "Open Report" , app_image( "open3" ), {|| ::execEvent( "buttonOpen_clicked" ) } )
::qToolbar:addToolButton( "Save" , "Save Report" , app_image( "save3" ), {|| ::execEvent( "buttonSave_clicked" ) } )
::qToolbar:addToolButton( "Close" , "Close Report" , app_image( "close3" ), {|| ::execEvent( "buttonClose_clicked" ) } )
::qToolbar:addToolButton( "Print" , "Print Report" , app_image( "print" ), {|| ::execEvent( "buttonPrint_clicked" ) } )
::qToolbar:addSeparator()
::qToolbar:addToolButton( "ToBack" , "Push to back" , hbide_image( "toback" ), {|| ::execEvent( "buttonToBack_clicked" ) }, .f., .f. )
::qToolbar:addToolButton( "ToFront", "Bring to front", hbide_image( "tofront"), {|| ::execEvent( "buttonToFront_clicked" ) }, .f., .f. )
::qToolbar:addToolButton( "ToBack" , "Push to back" , app_image( "toback" ), {|| ::execEvent( "buttonToBack_clicked" ) }, .f., .f. )
::qToolbar:addToolButton( "ToFront", "Bring to front", app_image( "tofront" ), {|| ::execEvent( "buttonToFront_clicked" ) }, .f., .f. )
::qToolbar:addSeparator()
::qToolbar:addToolButton( "RotateL", "Rotate anti-clock wise", app_image( "unload_1" ), {|| ::execEvent( "buttonRotateL_clicked" ) }, .f., .f. )
::qToolbar:addToolButton( "RotateR", "Rotate clock wise" , app_image( "load_1" ), {|| ::execEvent( "buttonRotateR_clicked" ) }, .f., .f. )
::qToolbar:addSeparator()
RETURN Self
@@ -694,37 +722,37 @@ METHOD IdeReportsManager:buildToolbarAlign()
::qToolbarAlign:orientation := Qt_Horizontal
::qToolbarAlign:create( "ReportManager_Top_Toolbar_Align" )
::qToolbarAlign:addToolButton( "FontG" , "Font" , hbide_image( "f-generic" ), {|| ::execEvent( "button_clicked" ) }, .f., .f. )
::qToolbarAlign:addToolButton( "FontG" , "Font" , app_image( "f-generic" ), {|| ::execEvent( "button_clicked" ) }, .f., .f. )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "FontB" , "Text Bold" , hbide_image( "f-bold-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontI" , "Text Italic" , hbide_image( "f-italic-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontU" , "Text Underlined" , hbide_image( "f-underline-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontS" , "Text Strikethrough", hbide_image( "f-strike-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontB" , "Text Bold" , app_image( "f-bold-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontI" , "Text Italic" , app_image( "f-italic-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontU" , "Text Underlined" , app_image( "f-underline-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "FontS" , "Text Strikethrough", app_image( "f-strike-1" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "JustL" , "Align left" , hbide_image( "f_align_left" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustC" , "Align center" , hbide_image( "f_align_center" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustR" , "Align right" , hbide_image( "f_align_right" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustJ" , "Align justify" , hbide_image( "f_align_justify" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustL" , "Align left" , app_image( "f_align_left" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustC" , "Align center" , app_image( "f_align_center" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustR" , "Align right" , app_image( "f_align_right" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustJ" , "Align justify" , app_image( "f_align_justify" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "JustT" , "Align top" , hbide_image( "f_align_top" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustM" , "Align middle" , hbide_image( "f_align_middle" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustB" , "Align bottom" , hbide_image( "f_align_bottom" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustT" , "Align top" , app_image( "f_align_top" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustM" , "Align middle" , app_image( "f_align_middle" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "JustB" , "Align bottom" , app_image( "f_align_bottom" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "BoxT" , "Box-frame top" , hbide_image( "f_box_top" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxL" , "Box-frame left" , hbide_image( "f_box_left" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxB" , "Box-frame bottom" , hbide_image( "f_box_bottom" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxR" , "Box-frame right" , hbide_image( "f_box_right" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxT" , "Box-frame top" , app_image( "f_box_top" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxL" , "Box-frame left" , app_image( "f_box_left" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxB" , "Box-frame bottom" , app_image( "f_box_bottom" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addToolButton( "BoxR" , "Box-frame right" , app_image( "f_box_right" ), {|| ::execEvent( "button_clicked" ) }, .t., .f. )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "BoxA" , "Box-frame all" , hbide_image( "f_box_all" ), {|| ::execEvent( "button_clicked" ) } )
::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:addToolButton( "BoxA" , "Box-frame all" , app_image( "f_box_all" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "BoxP" , "No box-frame" , app_image( "f_box_plain" ), {|| ::execEvent( "button_clicked" ) } )
::qToolbarAlign:addToolButton( "BoxS" , "Box shadowed" , app_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:addToolButton( "ZoomIn" , "Zoom In" , app_image( "zoomin3" ), {|| ::execEvent( "buttonZoom_clicked", 1 ) } )
::qToolbarAlign:addToolButton( "ZoomOut", "Zoom Out" , app_image( "zoomout3" ), {|| ::execEvent( "buttonZoom_clicked", 2 ) } )
::qToolbarAlign:addToolButton( "ZoomWYS", "Zoom WYSIWYG" , app_image( "zoomin" ), {|| ::execEvent( "buttonZoom_clicked", 3 ) } )
::qToolbarAlign:addToolButton( "ZoomOrg", "Zoom Original" , app_image( "zoomout" ), {|| ::execEvent( "buttonZoom_clicked", 4 ) } )
::qToolbarAlign:addSeparator()
::qToolbarAlign:addToolButton( "Grid" , "Show Grid" , hbide_image( "grid" ), {|| ::execEvent( "buttonGrid_clicked", 4 ) }, .t., .f. )
::qToolbarAlign:addToolButton( "Grid" , "Show Grid" , app_image( "grid" ), {|| ::execEvent( "buttonGrid_clicked", 4 ) }, .t., .f. )
::qToolbarAlign:addSeparator()
::qToolbarAlign:setItemChecked( "Grid", .t. )
@@ -739,11 +767,11 @@ METHOD IdeReportsManager:buildToolbarLeft()
::qToolbarL:orientation := Qt_Vertical
::qToolbarL:create( "ReportManager_Left_Toolbar" )
::qToolbarL:addToolButton( "Image" , "Image" , hbide_image( "f-image" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::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. )
::qToolbarL:addToolButton( "Image" , "Image" , app_image( "f-image" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Chart" , "Chart" , app_image( "f_chart" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Gradient", "Gradient", app_image( "f_gradient" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Barcode" , "Barcode" , app_image( "f_barcode" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
::qToolbarL:addToolButton( "Text" , "Text" , app_image( "text" ), {|| ::execEvent( "buttonNew_clicked" ) }, .t., .t. )
RETURN Self
@@ -774,6 +802,40 @@ METHOD IdeReportsManager:buildStatusBar()
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:getImageOfType( cType )
LOCAL cImage
DO CASE
CASE cType == "Image"
cImage := "f-image"
CASE cType == "Barcode"
cImage := "f_barcode"
CASE cType == "Chart"
cImage := "f_chart"
CASE cType == "Gradient"
cImage := "f_gradient"
CASE cType == "Text"
cImage := "text"
CASE cType == "Field"
cImage := "text"
ENDCASE
RETURN app_image( cImage )
/*----------------------------------------------------------------------*/
METHOD IdeReportsManager:getNextID( cType )
STATIC hIDs := {=>}
IF ! hb_hHasKey( hIDs, cType )
hIDs[ cType ] := 0
ENDIF
RETURN ++hIDs[ cType ]
/*----------------------------------------------------------------------*/
/* */
/* NOTE: the code below is works of someone else I do not remmeber */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

View File

@@ -110,7 +110,7 @@ HBQGraphicsItem::HBQGraphicsItem( int type, QGraphicsItem * parent ) : QGraphics
m_barsIdentation = 1 / UNIT;
m_showLabels = true;
m_toColorFactor = 2;
m_toColorFactor = 1.5;
m_drawBorder = true;
m_showGrid = true;
@@ -1245,6 +1245,7 @@ void HBQGraphicsItem::drawBarcode39( QPainter * painter, const QStyleOptionGraph
QRectF rect = adjustOption( painter, option );
QRectF rc = rect.adjusted( 5, 5, -10, -10 );
QColor fl( Qt::white );
QColor clr( Qt::black );
int iBars = m_barValues.size();
qreal w = rc.width() / iBars;
@@ -1255,6 +1256,10 @@ void HBQGraphicsItem::drawBarcode39( QPainter * painter, const QStyleOptionGraph
{
painter->fillRect( QRectF( rc.x() + x, rc.y(), w, rc.height() ), clr );
}
else
{
painter->fillRect( QRectF( rc.x() + x, rc.y(), w, rc.height() ), fl );
}
x += w;
}
}