Fixes and more Goodies
Dear PrintList Pro user,
We are pleased to inform you that PrintList Pro v5 alpha 2 is now available.
You can download the plug-in from our site.
- fixed common baseline calculation (used when vertical alignment is default – all cells in a line have the same baseline in first text line) when style is overridden on row or cell level NOTE: this works only if the respective “number of rows” = 0, IOW when using variable row height
- fixed few other bugs in drawing (like 2 lines header on first page, but 4 lines on second one)
- added support for preview on Windows with 4D v12
- added missing RGB variants of some calls:
PL_SetBrkColRGBOpt (area:L; breakLevel:I; column:I; showColDivider:I; lineWidth:8; red:L; green:L; blue:L)
PL_SetBkHColRGBOpt (area:L; breakLevel:I; column:I; showColDivider:I; lineWidth:8; red:L; green:L; blue:L)
PL_SetBrkRowRGBDiv (area:L; lineWidth:8; red:L; green:L; blue:L)
- added new functions for break processing not related to PLP printing: PL_ProcessArrays (callbackMethodName:S; breakArrays:Y; dataArrays:Y; useDetail:L) -> error:L
Both breakArrays and dataArrays have to be ARRAY POINTER with pointers to arrays (can use local arrays).
First element in breakArrays determines break level 1, second 2, …
First element in dataArrays is column 1 for PL_GetBreakValue, second is 2, …
Set useDetail to 0 to be called only with break information, set it to 1 to be called with every data row and with breaks.
PL_GetBreakValue (handle:L; column:L; whichValue:L) -> value:8
handle is some identification of the current PL_ProcessArrays call (currently process ID is used -> don’t call PL_ProcessArrays in the callback!)
column is index into the dataArrays whichValue can be one of:
1 – Sum
2 – Minimum
3 – Average
4 – Maximum
5 – Count
6 – Variance
7 – Standard deviation
When column is out of range, zero is returned.
callbackMethodName is called as:
callbackMethodName (handle:L; row:L; breakLevel:L) where handle is to be used as parameter 1 in call to PL_GetBreakValue row is current row number breakLevel is current break level, -1 for data row (if useDetail = 1)
Only in the callback you can call PL_GetBreakValue, use the provided handle. PL_ProcessArrays operates on copy of the arrays, you can freely modify them in the callback.
When breakArrays is empty, the only break generated will be 0.
When dataArrays is empty, no calculations are performed.
Calculations are performed “on the fly” – after fetching each data row. So when you call PL_GetBreakValue on some data row (not on a break), you will get current values for that row. E.g. using empty breakArrays and useDetail=1, calling PL_GetBreakValue to get SUM, you get sum of rows 1 through current row
Please report any issues that you may find or send feature requests and comments: now is the time. Thanks!
— Best regards,
The PrintList Pro v5 team