XTR.MISCFLAGS

Updated May 2015; see History

A collection of miscellaneous on/off options affecting the entire tree:

Symbol

Value

Meaning

XTMF_TRUNCATED

&h0001

Show "…" if cell contents need to be truncated for display. This field overlays the old XTR.TRUNCATED field, which is now deprecated.

XTMF_INTHEIGHT

&h0002

For trees with fixed-height items (see XTF_VARY in XTREE Flags), adjusts overall tree height to avoid the partial display of an item at the bottom.

XTMF_INHERITBG

&h0004

Causes the left margin area (if any) to inherit the background color of the first column, rather than the default background color of the tree. See example below.

XTMF_STDPRGBAR

&h0008

Causes a standard progress bar to display during loading of large trees over ATE connections. See "Loading," below.

XTMF_CUSPRGBAR

&h0010

Same as above, but instead of creating a progress bar, uses one created by program. See "Loading," below.

XTMF_LOADABORT

&h0020

Allows user to ESC to abort the loading process; result is same as if user waited until tree was displayed and then hit ESC (exitcode 1). See "Loading," below.

XTMF_EDITONLY

&h0040

Causes XTREE to attempt to remain in cell editing mode, and avoiding selection mode, to the extent reasonable possible. There are still situations and events that will result in XTREE reverting to selection mode, but this option will minimize them.

XTMF_NOEXTARGET

&h0080

This addresses an obscure situation involving dual editable trees. Normally, if the user clicks on Tree #2, row X, col Y while editing Tree #1, the return value of XTR.TARGETROW and XTR.TARGETCOL will be set according to clicked cell in the external Tree #2. XTR.XROW / XTR.XCOL will be set to the cell Tree #1 that was last active at the time of that external click. If the XTMF_NOEXTARGET flag is set, the location of click in the external tree is ignored and the returned XTR.TARGETROW / XTR.TARGETCOL will be set the same as XTR.XROW / XTR.XCOL, i.e. to the cell last active before the click. A rationale for this subtle feature may be found in the A-Shell Forum post "Multiple XTREE's target row/col question."

 

Examples

Here are examples of the effect of the XTMF_INHERITBG flag. In the left image the flag is set, in the right image it is not:

inheritbg1

 

inheritbg0

 

Loading

The three loading-related flags provide options to improve the user interface during loading of large trees over ATE connections, which might take several seconds and therefore leave the user wondering if the process died or something went wrong.

If using the custom progress bar option (XTMF_CUSPRGBAR), you must create your own progress bar with a control id of "xtrProgBar". Optionally, you can embed it inside of a container dialog, along with other controls. If you want the container dialog deleted when the tree is ready to display, it must have the control id "xtrProgDlg".

Note that the progress bar/dialog option probably supersedes the XTR.DELCTLID feature, although they are not mutually exclusive. The progress bars are handled exclusively on the server side during the data transfer to ATE, while the XTR.DELCTLID feature is handled on the client side. For that reason, before using the XTMF_CUSPRGBAR option, you should use AUI_ENVIRONMENT to verify that you are actually running in the ATE environment. Otherwise the custom dialog you create will not get deleted by XTREE, unless you also obtain the numeric ID of the "xtrProgBar" control and plug it into the XTR.DELCTLID field.

History

2015 May, A-Shell 6.1.1409:  Add XTMF_NOEXTARGET

2013 May, A-Shell 6.1.1352:  Add XTMF_EDITONLY

2013 April, A-Shell 6.1.1349:  Add XTMF_STDPRGBAR, XTMF_CUSPRGBAR and XTMF_LOADABORT to help with time problems when loading data over telnet connections. See "Loading" above.