FixedLayout

Added October 2015

FixedLayout = True

When set, XTREE attempts to handle the specified column in a more "INMEMO-friendly" manner. INMEMO uses a fixed rectangular grid layout, which maps easily on to a 2 dimentional array of R rows by C columns, whereas "normal Windows" multi-line text fields do not typically impose any such concept on the format of the lines. Instead, the only limitation is the total number of characters allowed. Lines may or may not be wrapped according to the font and column display width, and you may also have embedded CRLFs marking hard line breaks. The "normal Windows" method, used by XTREE and INFLD, has various advantages, but is hard to reconcile with legacy printing forms and fixed record layouts.

To use the new option, set XTR.ITEMLINES to the number of lines of text in your multi-line text cells. The width of each line will be inferred from the total width of the column as defined to COLDEF, with any remainder discarded. XTREE will then assume that the data for the cell is arranged accordingly, with each line space padded rather than terminated by CRLF. In addition to converting to and from that format, it will also attempt to prevent the user from exceeding the specified maximum number of lines and columns when editing the cell.

For example, if XTR.ITEMLINES is 4 and the width of the CWDITH value for the column is 100, it will be treated as an array of 4 by 25 characters, and the user will be limited to no more than 4 rows, and no more than 25 characters on any one row.

Notes / restrictions: Not compatible with XTF_VARY or XTF2_UTF8. This is purely a client-side enhancement; no changes needed on the server side, other than to your application to supply the column text in the alternate format.

History

2015 October, A-Shell 6.1.1420:  Added to A-Shell