April 2015
==========
* New: Class TBar Method Redefine(). We explain here why this should not
be used, though anyhow we have implemented it in case someone needs it:
viewtopic.php?p=174212#p174212
Sample: barfrmrc.prg, barfrmrc.rc
* New: Buttonbar and buttons can now be defined along with defining dialog.
It is not any more necessary to define bar and buttons in ON INIT clause.
sample: barondlg.prg
* Enhancement: dialog.prg: Data or codeblocks assigned to lCentered, lCenterInWnd,
lModal, bLClicked, bRClicked, bWhen, bValid, bInit, bPainted are used by
Activate() method if not overriden in the ACTIVATE command.
* Enhancement: XBrowse MakeTotals(): It is now possible to total calculated
values of a column. If oCol:bSumCondition is assigned with a codeblock,
this block is evaluated with two parameters Column's Value and Column
Object. The value is considered for totalling only if the return value
is .T.. Now the codeblock can replace the value with a calculated value
In that case the replaced value is considered for totalling instead of
the original value.
Example:
oCol:nFooterType := AGGR_SUM
oCol:bSumCondition := { |nValue, o| If( oBrw:DRCR:Value == 'D', nValue := -nValue, nil ), .T. }
* New: XBrowse METHOD RefreshHeaders() to repaint Headers only.
* Fix: database.prg. Long fieldnames are not properly recoginized. now fixed.
viewtopic.php?f=6&t=30447
* Improvement: TScrollPanel class (scrlpanl.prg) is now touch friendly.
User can push up or pull down the panel with finger or pressing the mouse
anywhere on the panel area (not occupied by controls)
* Enhancement: TMataFile class (tmetafil.prg) can now handle WMF files too
* Fix: Class TImage had some 64 bits bugs. Now it is ok:
viewtopic.php?p=174911#p174911
* Enhancement: TSwitch.prg: Now Checkbox style is painted using programmer
specified colors instead of using hardcoded colors.
* Enhancement: Pivot functions in adofuncs.prg now accept complex sql
select statements too instead of table names.
* New: function OfficeExtractImage( cOfficeFileX, [ lReExtract := .f. ] ).
--> cThumbNailFile ( Empty string when fails )
Similar to IExtractImage function, this function Extracts thumbnail
emf, wmf, jpg from docx,xlsx,pptx if the file is saved with thumbnail.
file \source\function\olefuncs.prg
* Enhancement: BtnBmp: COLOR clause added to BtnBmp command.
* Fix: Translate SQL UPDATE in fwsqlcmd.ch: Converting single quotes in
where clause to double quotes. Fixed now.
* New: TXBrowse and TXBrwColumn: Methods AddVar( uVar, uVal )
We can create new DATA for specific instances of browse or column.
Eg: oBrw:AddVar( "aMySelect", {} )
AAdd( oBrw:aMySelect, RECNO() )
We can also add codeblocks:
Eg:
oBrw:AddVar( "ToggleRec", ;
< |Self|
local nAt
if ( nAt := AScan( ::aMySelect, RECNO() ) ) > 0
ADel( ::aMySelect, nAt, .t. )
else
AAdd( ::aMySelect, RECNO() )
endif
return nil
> )
Now, we can use this like a method:
oBrw:ToggleRec()
This can also be used for any specific column
* Enhancement: XBrowse: Now support for viewing EMF files also as image files,
using oCol:cDataType := 'F'
* Enhancement: TRect():New(...) now accepts windows RECT structue as character
buffer, in addition to array or t,l,b,r coordinates.
* New function in TMetaFil.prg
GETEMFSIZE( hMeta/cMetaFile, [ hDC/lScreen/NIL ], [ @nWidth ], [ @nHeight ] )
--> { nWidth, nHeight }
If second parameter is omitted or NIL, width and height are returned in MM
If hDC or lScreen, width and height are in pixels for the device context
* New function ISENHMETA( hobj ) --> lIsEnhMeta
* New: Simple stack implementation though xcommand/xtranlate directives
in fivewin.ch:
StackPush( v1, v2, ... vn )
StackPeek() --> last item pushed
StackPop() --> Last Item pushed and removes it from stack
IsStachEmpty() --> logical
Example Usage:
StackPush( recno(), ordsetfocus(), select() )
...
Select( StackPop() )
OrdSetFocus( StackPop() )
DbGoTo( StackPop() )