Please enable JavaScript to view this site.

A-Shell Reference

Updated April 2022

This is a structure containing various extended parameters and options. If omitted, suitable defaults will be supplied, although that will severely limit the capabilities of the tree control. For those parameters which are essentially Boolean options, 0=false and 1=true. Most of the fields in XTRCTL are input-only, but a few, such as COLUMNACTIVE are updated as well, and some are output-only; these are indicated with "[in/out]" or "[out]" in the following table, which lists the structure members alphabetically for easy reference. To use the XTRCTL structure in your program, include the xtree.sdf and xtree.def files and then map an instance of the structure for each XTREE in the program, e.g.:

MAP1 XTR, XTRCTL                ! define instance of XTRCTL structure named xtr

...

XTR.OPCODE = XTROP_CREATE

XTR.CTLNO = -1

etc.

 

Or include the xtree.map file which includes actual map statements for XTRCTL (rather than a structure definition); in that case, members would be assigned as follows:

XTR'OPCODE = XTROP_CREATE

XTR'CTLNO = -1

etc.

 

Note that the first method (declaring an instance of the defined structure XTRCTL and using the structure dot member notation) has the advantage of making it easy to define and maintain separate copies of the structure for multiple XTREEs.

By convention in this document, we refer to the members of the XTRCTL structure using structure.member notation, as if you had declared an instance of the structure XTRCTL named XTR, as in the example above.

Symbol

Type

I/O

Description

CLOSEDENDED

B,1

in

Set size of last column to "open ended" or fixed.

COLID

B,1

in

Associate column with a numeric ID.

COLORDER (31)

B,1

in/out

Array indicating the display order of the first 31 physical columns. For example, COLORDER(3)=7 would indicate that physical column 7 is actually in display position 3.  Supports up to 127 physical columns. The 8th bit (values 128+) indicates the physical column (-128) is hidden.

COLUMNACTIVE

B,1

in/out

Col # with focus (for kbd search)

COLUMNSORT (3)

B,1

in/out

Array indicating physical column numbers for up to to three sort levels. See SORTORDER(3).

CTLID

B,2

out

Returns standard control ID of XTREE control (allowing access by AUI_CONTROL)

CTLNO

B,1

in/out

Specifies which XTREE control to use.

DELCTLID

B,4

in

Control to delete when XTREE load is complete; used with progress/lifesigns.

EXPANDLEVEL

B,1

in

0=collapse, #=expand through level # (9 max)

FILTERED

B,1

 

Returns 1 if one or more display rows had been removed through filtering upon exit from the tree.

FLYBY

B,1

in

Fly-by highlighting? 0=no, 1 = first column, 2 = entire row.

FOOTERSTYLE

B,1

in

Controls the display and style of column footers.

GRIDSTYLE

B,1

in

0=vert solid, 1=horz solid, 2=both, 3=vert dotted, 4=horz dotted, 5=both. See XTR.SHOWGRID.

HEADERSTYLE

B,1

in

Column header style flags

HIDEHEADER

B,1

in

Hide headers? (0=no)

ITEMLINES

B,1

in

Display lines per item.

KBDSTR

S,10

in

Click code.

LEFTINDEX

B,1

 

Left-most visible column

LEFTPANECOLS

B,1

in

Number of columns in left pane.

LEFTPANEWIDTH

B,1

in

Width of left pane.

MISCFLAGS

B,1

in

Misc flags (overlays XTR.TRUNCATED, which is now deprecated)

NFSELSTYLE

B,1

in

Determines how selected item(s) are highlighted, mostly when tree is inactive

OPCODE

B,1

in

Opcode.

PARENTID

B,2

in

ID of parent of control (e.g. a dialog). To specify parent by its alphanumeric control name, set XTR.PARENTID to zero and add the ParentID=<name> clause to any column; see Advanced Coldef Options.

ROWHDRSTYLE

B,1

in

Options related to row headers. See SHOWROWHDR. The style flags are the same as those used for XTR.HEADERSTYLE. Sample image here.

SCROLLTIPS

B,1

in

Show scroll tips (0=no).

SEARCHMODE

B,1

in

Options for implicit selection based on typing.

SELECTAREA

B,1

in

Clickable area and style.

SHOW3D

B,1

in

Use 3D style? (0=no).

SHOWBUTTONS

B,1

in

Control visibility of the expand/collapse (+/-) button for multi-level trees.

SHOWBUTTONS0

B,1

 

No longer used. See SHOWBUTTONS.

SHOWFOOTER

B,1

in

See FOOTERSTYLE.

SHOWGRID

B,1

in

Show grid lines (0=no, 1=yes). Sample image here.

SHOWROWHDR

B,1

in

Determines whether row headers are displayed.

SKEY

S,10

in

Search key.

SORTORDER (3)

B,1

in/out

Array indicating sort order corresponding to the 3 sort levels specified in the COLUMNSORT(3) array. 0=ascending, 1=descending.

SYNCCTLNO

B,1

in

CTLNO (+1) of a second 'scroll slave' tree. See Sync Scrolling.

TARGETCOL

B,1

in/out

Column of "target" cell; see TARGET.

TARGETROW

B,4

in/out

Row of "target" cell; see TARGET.

TIMEOUT

B,4

in

Timeout (ms).The timer is reset after each keystroke and after each mouse event; you can avoid the timeout by just wiggling the mouse. If the timer expires, XTREE will return EXITCODE=11 like INFLD timeout.

TOPINDEX

B,4

in/out

Force the initial display vertical scroll position.

TREELINESTYLE

B,1

 

Style of lines linking child lines to parent: 0=none, 1=solid, 2=dotted

TRUNCATED

B,1

in

Deprecated, replaced by MISCFLAGS. Show dots if text truncated?

USECOLORDER

B,1

in

Use COLORDER() to reorder?

USETHEMES

B,1

in

Use Windows themes? (0=no)

USRCFG

B,1

 

Used for Saving User Adjustments.

XCOL

B,1

in/out

Column of last cell to have the focus (see TARGETCOL).

XNAVCOD

B,1

in/out

Used in cell editing

XNAVMASK

B,1

in/out

 "    "     "    "

XROW

B,4

in/out

Row of last cell to have the focus. See TARGET.

XVALIDATE

B,1

out

 

Definition file: xtree.sdf