Page 1 of 5

HMG 3.4.0 (Retired)

Posted: Wed Jan 14, 2015 8:02 pm
by Rathinagiri
This version is retired and will be replaced with a new version soon.
Download at your own risk!


Dear HMGians,

It has been a long time since we had released our HMG. Rolling out in this new year 2015, here comes the latest version of HMG 3.4.0 (Test) with so many exciting and awesome features like DynamicFont, Grouping in Grid, CheckBox in Grid, ToolTip for menuitems, print to pdf etc.,

This is a test version. Please see the changelog for changes from the last version. I have uploaded only to SourceForge.net. I will upload to our site tomorrow. Till then you can download this version from here (46.70 MB).

Change Log:

HMG 3.4.0 (Test) 2015/01/15
  • Updated to latest Harbour Nightly Build (2015-01-14)
  • New HMG IDE version 1.0.7
    • now stops build app if app is running
    • if not specified text editor, search for text editor associate with PRG files
  • New in Grid control
    • <ParentWindowName>.<GridControlName>.PaintDoubleBuffer [ := | -->] lBoolean // Paints via double-buffering, which reduces flicker
    • New Groups in Grid (see samples in grid samples folder)
      • <ParentWindowName>.<GridControlName>.GroupEnabled [ := | -->] lBoolean
      • <ParentWindowName>.<GridControlName>.GroupDeleteAll
      • <ParentWindowName>.<GridControlName>.GroupDelete ( nGroupID )
      • <ParentWindowName>.<GridControlName>.GroupExpand ( nGroupID )
      • <ParentWindowName>.<GridControlName>.GroupCollapsed ( nGroupID )
      • <ParentWindowName>.<GridControlName>.GroupAdd ( nGroupID [, nPosition ] )
      • <ParentWindowName>.<GridControlName>.GroupInfo ( nGroupID ) [ := | -->] { [ cHeader ] , [ nAlignHeader ] , [ cFooter ] , [ nAlingFooter ] , [ nState ] }
      • <ParentWindowName>.<GridControlName>.GroupItemID ( nItem ) [ := | -->] nGroupID
        • nAlignHeader & nAlingFooter --> GRID_GROUP_LEFT | GRID_GROUP_CENTER | GRID_GROUP_RIGHT
        • nState --> GRID_GROUP_NORMAL | GRID_GROUP_COLLAPSED
    • New CheckBox to select item(s) in Grid (see samples in grid samples folder)
      • <ParentWindowName>.<GridControlName>.CheckBoxes [ := | -->] lBoolean
      • <ParentWindowName>.<GridControlName>.CheckBoxItem ( nRow ) [ := | -->] lBoolean
    • New DynamicFont property to have any text font and style in any cell/header.
      • <ParentWindowName>.<GridControlName>.HeaderDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
    • New HeaderDynamicForeColor and HeaderDynamicBackColor
      • <ParentWindowName>.<GridControlName>.HeaderDYNAMICFORECOLOR ( nCol ) := {|| aColor }
      • <ParentWindowName>.<GridControlName>.HeaderDYNAMICBACKCOLOR ( nCol ) := {|| aColor } // not work
    • Miscellaneous Features
      • <ParentWindowName>.<GridControlName>.Image ( lTransparent ) := { "image1.png", "image2.bmp", ... }
      • <ParentWindowName>.<GridControlName>.ImageIndex ( nRow , nCol ) [ := | -->] nIndex
      • <ParentWindowName>.<GridControlName>.ImageList [ := | -->] hImageList
      • <ParentWindowName>.<GridControlName>.ColumnDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
      • <ParentWindowName>.<GridControlName>.HeaderImageIndex ( nCol ) [ := | -->] nIndex
      • <ParentWindowName>.<GridControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Grid control
  • New Dynamic Font (in Grid and Tree controls see respective samples in Grid and Tree sample folders )
  • New ToolTip Menu
    • SET TOOLTIPMENU ON|OFF --> For default ToolTip MENU is ON
    • SET TOOLTIPMENU TO <lOn>
    • ToolTipMenuIsActive ()
  • New ToolTip Custom Draw (see DOC\Misc. Commands\Set ToolTipCustomDraw)
  • New concept of Array Font for various uses described elsewhere below.
    • aFont := ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] --> { cFontName, nFontSize, lBold, lItalic, lUnderline, lStrikeout }
    • aFont := CREATE ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD <lBold> ] [ ITALIC <lItalic> ] [ UNDERLINE <lUnderline> ] [ STRIKEOUT <lStrikeout> ] --> { cFontName, nFontSize, lBold, lIitalic, lUnderline, lStrikeout }
  • New Functions:
    • FindFirstChangeNotification()
    • FindNextChangeNotification()
    • FindCloseChangeNotification()
    • WaitForSingleObject()
    • WaitForMultipleObjects()
    • SetCursorSystem()
    • SetWindowTheme (hWnd, cSubAppName, cSubIdList)
    • HMG_StrCmp ( Text1 , Text2 , [ lCaseSensitive ] ) --> CmpValue
    • HMG_IsValidFileName ( cFileName ) // cFileName --> ONLY FILE NAME without Path
    • HMG_GetFileAssociatedWithExtension ( cExt ) --> return the full file name associated with extension (extension with point, e.g. ".TXT")
  • New in SPLITBOX functions:
    • REBAR_GETHEIGHT()
    • REBAR_GETBANDCOUNT()
    • REBAR_GETBARRECT()
    • REBAR_GETBANDBORDERS()
    • REBAR_SETMINCHILDSIZE()
    • REBAR_GETBANDINFO()
  • New Set icon of StatusBar item
    • <ParentWindowName>.StatusBar.IconHandle (nItem) := hIcon
  • New Addition of 455 new colors definitions, see INCLUDE\i_color.ch (contrib by Grigory Filatov)
  • New GetFile() and PutFile() functions support parameter nFilterIndex, this is an index of the filter array (based upon a contribution of Kevin Carmody)
  • New in PLAYER control:
    • Volume (Set/Get)
    • Seek (Set)
  • New in Tree Control
    • New Events
      • ON EXPAND
      • ON COLLAPSE
      • This.TreeItemValue // available for OnExpand and OnCollapse events and DynamicForeColor, DynamicBackColor and DynamicFont properties.
    • New DynamicFont, DynamicForeColor and DynamicBackColor
      • <ParentWindowName>.<TreeControlName>.DynamicForeColor := {|| aColor }
      • <ParentWindowName>.<TreeControlName>.DynamicBackColor := {|| aColor }
      • <ParentWindowName>.<TreeControlName>.DynamicFont := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
      • <ParentWindowName>.<TreeControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Tree control
    • New properties
      • <ParentWindowName>.<TreeControlName>.IsExpand ( nValue ) --> lBoolean
      • <ParentWindowName>.<TreeControlName>.ImageList [ := | --> ] hImageList
      • <ParentWindowName>.<TreeControlName>.HasLines [ := | --> ] lBoolean
      • <ParentWindowName>.<TreeControlName>.FullRowSelect [ := | --> ] lBoolean
      • <ParentWindowName>.<TreeControlName>.HasButton ( nValue ) [ := | --> ] lBoolean
      • <ParentWindowName>.<TreeControlName>.Cargo ( nValue ) [ := | --> ] xData
      • <ParentWindowName>.<TreeControlName>.CargoScan ( xData ) --> nValue | NIL
      • <ParentWindowName>.<TreeControlName>.GetPathValue ( nValue ) --> anPathValue | NIL
      • <ParentWindowName>.<TreeControlName>.GetPathName ( nValue ) --> acPathName | NIL
      • <ParentWindowName>.<TreeControlName>.GetDisplayLevel ( nValue ) --> nDisplayColumn | NIL
  • New Printer Features
    • Select Printer PDF (Directly print to a pdf file)
    • Select Printer DialogFileName and SaveAs
      • SELECT PRINTER <cPrinter> [ PREVIEW ] [ NOSAVEBUTTON ] [ DIALOGFILENAME <cDialogFileName> ] [ SAVEAS <cFullFileName> ]
        • cDialogFileName --> [ cPath\ ] cFileName + [ cExt ] --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
        • cFullFileName --> [ cPath\ ] cFileName + cExt --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
    • New property ANGLE <nAngle> in PRINT DATA (nAngle: are in degrees and counterclockwise)
  • New BosTaurus Functions
    • BT_ToolBarBottomHeight (Win)
    • BT_ToolBarBottomWidth (Win)
    • BT_ToolBarTopHeight (Win)
    • BT_ToolBarTopWidth (Win)
    • BT_MathPI ()
    • BT_MathSIN ( AngleInDegrees )
    • BT_MathCOS ( AngleInDegrees )
    • BT_MathTAN ( AngleInDegrees )
    • BT_MathCircumferenceY ( Radius, AngleInDegrees ) --> nRow
    • BT_MathCircumferenceX ( Radius, AngleInDegrees ) --> nCol
    • BT_MathCircumferenceArcAngle ( Radius, Arc ) --> AngleInDegrees
    • BT_SelectObject (hDC, hGDIobj)
    • BT_DeleteObject (hGDIobj)
    • BT_DrawTextSize (hDC, cText, cFontName, nFontSize, nTypeText) --> { w , h , ABC of first character }
    • BT_RegionCreateElliptic (nCol1, nRow1, nCol2, nRow2)
    • BT_RegionCombine ( @hRgnDest, hRgnSrc1, hRgnSrc2, nCombineMode ) --> nResult
    • BT_RegionFrame (hDC, hRgn, aColor, nWidth, nHeight)
    • BT_ImageListGetSystemIcon ( [ lLargeIcon ] ) --> hImageList ( You NEVER add, remove or delete icons from the System Imagelist )
    • BT_ImageListExtractIcon (hImageList, nIndex) --> hIcon
    • BT_DirectoryInfo ( [nCSIDL | cPath] , [nTypeList] , @nIndexRoot, @CSIDL_Name ) --> { { Data1, Data2, Data3, ... } , ... }
  • New Demos
    • MiniWriter (RichEditBox demo in Applications contributed by Eduardo L. Azar)
  • Enhanced BUILD.BAT and BUILD64.BAT stops build app if app is running (contrib by Pablo César)
  • Enhanced DEFINE WINDOW: now AT, ROW, COL, WIDTH and HEIGHT parameters are optional (contrib by Pablo César)
  • Fixed bug in RichEdit Control Justify text and in ParaNumberingStyle constants (contrib by Kevin Carmody)
Enjoy!

HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 8:12 pm
by Pablo César
Thank you Rathi and Claudio for this release.

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 8:17 pm
by Javier Tovar
Pablo César wrote:Thank you Rathi and Claudio for this release.

+1

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 8:28 pm
by Javier Tovar
Hello,

I wanted to compile the example of Grid_Checkboxes and gives me the following error.
Harbour 3.2.0dev (r1501091819)
Copyright (c) 1999-2014, http://harbour-project.org/

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(51) Error E0030 Syntax error "syntax error at '.'"

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(53) Error E0030 Syntax error "syntax error at '.'"

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(68) Error E0030 Syntax error "syntax error at '.'"

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(78) Error E0030 Syntax error "syntax error at 'ELSE'"

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(80) Error E0030 Syntax error "syntax error at 'ENDIF'"

C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg(82) Error E0017 Unclosed control structure 'IF'

6 errors

No code generated.
hbmk2: Error: Ejecutando compilador Harbour (interno): 1
(C:\hmg.3.4.0\harbour\bin\harbour.exe) -n2 C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_CheckBoxes\demo.prg -DHBMK_HAS_HMG=1 -q -oC:\Users\Maquina9\AppData\Local\Temp\hbmk_c4m93c.dir\ -iC:\hmg.3.4.0\harbour\include -i. -iC:\hmg.3.4.0\include

regards

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 8:37 pm
by Javier Tovar
In the example Grid_Groups if you click on the cell that makes the division of the groups the program stops working.
Error.jpg
Error.jpg (84.16 KiB) Viewed 8096 times
regards

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 8:51 pm
by luisvasquezcl
Thanks for the new version.
The grid group demo crashes when you click on the title of the group.
Windows 7 - Aero Enabled.
HMG 3.4.0
Best regards
Luis Vasquez

Gracias por la nueva version.
El demo de grid grupo se cae cuando se hace clic sobre el título del grupo.
Windows 7 - Aero Activado.
HMG 3.4.0
Saludos cordiales,
Luis Vasquez

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 9:15 pm
by EduardoLuis
Hi Great Master:

Thanks for your efforts and congratulations.-
With Regards.
Eduardo

Re: HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 9:31 pm
by Rathinagiri
It works fine in my 64 bit machine with Windows 7 Ultimate. Let me check from my home and confirm.

HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 10:29 pm
by Pablo César
Rathinagiri wrote:  
New HeaderDynamicForeColor and HeaderDynamicBackColor
  • <ParentWindowName>.<GridControlName>.HeaderDYNAMICFORECOLOR ( nCol ) := {|| aColor }
  • <ParentWindowName>.<GridControlName>.HeaderDYNAMICBACKCOLOR ( nCol ) := {|| aColor } // not work
For me this HeaderDynamicBackColor is working ! :D

In C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_Dynamic_Font\demo.prg, just to put like this:

Code: Select all

       for i=1 to 3
		     SetProperty( "Form_1","Grid_1","HeaderDYNAMICBACKCOLOR", i, {|| {212,208,200} } )
		 next

or like this:

Code: Select all

		 Form_1.Grid_1.HeaderDYNAMICBACKCOLOR (1) := {|| {212,208,200} }
		 Form_1.Grid_1.HeaderDYNAMICBACKCOLOR (2) := {|| {212,208,200} }
		 Form_1.Grid_1.HeaderDYNAMICBACKCOLOR (3) := {|| {212,208,200} }
Works perfectly in Win 7 32 bits in Classic and AERO is working too. :D

HMG 3.4.0 (Test)

Posted: Wed Jan 14, 2015 10:41 pm
by Pablo César
Javier Tovar wrote:In the example Grid_Groups if you click on the cell that makes the division of the groups the program stops working.
+1

Demo C:\hmg.3.4.0\SAMPLES\Controls\Grid\Grid_Groups crashes when is clicking inside the red rectangle.
Screen1.png
Screen1.png (34.81 KiB) Viewed 8046 times
luisvasquezcl wrote:The grid group demo crashes when you click on the title of the group.
Windows 7 - Aero Enabled.
+1

Rgds / Keeping informed