Page 1 of 1

New FTDN August 2014 (FWH 14.08)

Posted: Sat Sep 06, 2014 11:55 am
by Antonio Linares
September 2014
==============

* Enhancement: function CtrlDrawFocus() was not taking into account the
MDIClient window when MDI windows are used. Now it is ok. This change
was required to make EasyReport properly work with current FWH version:

http://forums.fivetechsupport.com/viewt ... 84#p163784

* Fix: Fix in function DrawTransBmp() used from Class TBtnBmp: nBmpWidth()
was used instead of nBmpHeight(). Now it is ok.

* Enhancement: Class TTreeView new Methods SetItemImage( oItem, nImage ) and
SetItemHeight( nHeight ), thanks to Manuel Calero!

* Enhancement: Class TBtnFlat Method Redefine() is already available. It was
missing. Thanks to Manuel Alvarez!

* Enhancement: Class TTreeView Method Redefine() now receives bChange
parameter also. REDEFINE TREEVIEW command is now available also. Many
thanks to Manuel Alvarez!

* New: samples\testtrev.prg showing the use of a TreeView with different
bitmaps and firing an action on each item, developed by Victor Cuatecatl!

* Fix: Minor fix on Class TButton when the Button is redefined and the
command is not used. Thanks to Manuel Calero!

* Fix: Due to recent Class TBtnBmp Method Paint reorganization, it was not
properly painting the LEFT and RIGHT styles. Now it is ok.

* Enhancement: ErrorSys now reports the length of the used arrays as
parameters.

* Fix: TScrollPanel: Combobox and DbCombo were not functioning correctly.
fixed.

* Enhancement: TDataRow: New default Edit Dialog with Navigation.

* Enhancement: XBrowse: If a multidim array is assigned to ::aEditListTxt.
first column is considered as ::aEditListBound an second column as
::aEditListTxt.

* Enhancement: FW_Greatest(...) and FW_Least(...) now accept nested arrays
too. source: \fwh\source\function\fwdecode.prg

* Enhancement: MsgGet( cTitle, cText, aData )
Now MsgGet can handle arrays also.

(a) Simplest usage:
aVars := { Space(40), CToD(""), .f., 0.00 }
lModified := MsgGet( "TEST", "Edit Values", aVars )
(b) Provide Prompts
lModified := MsgGet( "TEST", { "Name", "DOB", "Married", "Salary" }, aVars )
(c) Using Multi-Dim array. This is the most recommended form, as this supports
greater degree of formatting, customization, setting up comboboxes/dbcombo,
memoedits, bValid/bChange, lReadOnly, etc.
aData := { { "Name", Space(40) }, ;
{ "DOB", CToD(''), nil, nil, { || aData[ 2, 2 ] < STOD('19900101" ) } }, ; // valid
{ "Salary", 0, nil, NumPict(11,2) }, ; // picture clause
{ "State", "NY", nil, { { "NY", "NewYork" }, { "CA", "California" } } }, ; // dbcombo
{ "Married", .f. }, ; // auto checkbox
{ "Country", "USA", .f. }, ; // not editable
{ "Notes", "", nil, 'M' } } // MemoEdit
lModified := MsgGet( "EDIT VALUES", "Short Msg", aData )
Second parameter can be an array of prompts which override the first column of the
multi-dim array.

* New: Translate EDITVARS v1,v2,...vN [TITLE <title>] [PROMPTS <apromtpts,...> ] ;
[PICTURES ...] [VALIDS ...]

Quick dialg for getting (editing) multiple variables with a short command.
Example:
nAge := 20
cName := "Anthony "
dDate := Date()

EDITVARS nAge, cName, dDate
? nage, cname, ddate

For further usage refer to \fwh\samples\editvars.prg

* Enhancement: TRecSet class:
New methods to modify automatically derived field attributes:
FieldLen( cnfld, nNew ) --> nPrevLen ( Use with caution for numerics )
FieldDec( cnFld, nNew ) --> nPrevDec
FieldPic( cnFld, cNew ) --> cPrevPic
FieldType( cnFld, cNew ) --> cPrev ( Use only between D and T OR C and M )
FieldCbxItems( cnFld, aItems ) --> aPrev
If aItems is a single dimentional array this is used as combobox items in XBrowse and DataRow edit
If aItems is a multi dim array this is used as dbcombo

* Enhancement: XBrowse method Report(): Group headers are exported along with
column headers which are shown on top of the column headers in the report.

* Enhancement: Report column data can be vertically aligned by adding clause
TOP (default) / VCENTER / BOTTOM while defining column.

* New: INLINE CHARTS in Reports:
Columns in reports can now contain charts (line/bar) based on the row
data.
Syntax Example:
COLUMN TITLE "CHART" BAR CHART ; // or LINE CHART
SERIES SCH->USAS, SCH->EUROS, SCH->ASIAS ;
SERIES SCH->USAC, SCH->EUROC, SCH->ASIAC ;
MAXVAL 2000 HEIGHT 3 SIZE 16 CENTER
Sample: \fwh\samples\inlnchrt.prg

* New: INLINE CHARTS in XBrowse:
Cells in xbrowse can now contain (line/bar) charts based on the row data.
Syntax Example
WITH OBJECT oBrw:AddCol()
:cHeader := "CHART"
:aChartCols := { { 2, 3, 4 }, { 5, 6, 7 } }
// :aChartCols := { "SALES", "COSTS" } // Can also specify Group Names
:nChartMaxVal := 2000
:nWidth := 160
END
Data to be assigned to oCol:aChartCols should be an array, with one
sub-array for each series.
Individual elements can refer to other data columns either by the
numeric Creation Order, Header or column object.
Group Name is resolved as an arry of columns in the group.
Instead of a column object, some or all of them can contain codeblocks.

oBrw:Report() creates correponding chart columns in the Report object.
Sample: \fwh\samples\inlnchrt.prg

* Enhancements TDataRow:
- Can now handle Hashes
- New methods GoTop, GoUp, GoDown, GoBottom
- Default edit dialog interface modified completely.

Re: New FTDN August 2014 (FWH 14.08)

Posted: Sat Sep 06, 2014 7:39 pm
by rhlawek
There is much to like in this release, I'll make immediate use of the inline charts.

I noticed that FiveHC.lib, the C library for BCC582, did not get rebuilt between 14.07 and 14.08. This may be intentional, but if not I wanted to point it out.

Robb

Re: New FTDN August 2014 (FWH 14.08)

Posted: Sat Sep 06, 2014 8:09 pm
by Antonio Linares
Robb,

Thanks, surely it is because it has not been modified in this release.