BBjTree::addExpandableNode

Description

Adds an expandable child node to a parent node in the BBjTree control.

Syntax

Return Value

Method

void

addExpandableNode(int childID, int parentID, string text)

Parameters

Variable

Description

childID

Specifies the ID of the child node.

parentID

Specifies the ID of the parent node.

text

Specifies the label of the child node.

Return Value

None.

Remarks

The child node will become the last node in its parent's child node list. The node will always appear as an expandable node, even if it has no children.

Example

REM Add expandable nodes to a tree control

REM Obtain the instance of the BBjAPI object
LET myAPI!=BBjAPI()

REM Open the SysGui device
SYSGUI=UNT
OPEN (SYSGUI) "X0"

REM Obtain the instance of the BBjSysGui object
LET mySysGui!=myAPI!.getSysGui()

REM Set addWindow param values
X=10
Y=10
WIDTH=200
HEIGHT=200
TITLE$="BBj Window"

REM Set the current context
mySysGui!.setContext(0)

REM Create a window that is initially invisible
myWindow! = mySysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$,$00000012$)

REM Create the tree control on the window
myTree!=myWindow!.addTree(101,0,0,WIDTH,HEIGHT)

REM Create root node of tree
PARENT_ID=0
myTree!.setRoot(PARENT_ID,"Musical Tree")

REM Create array to hold ARTIST and songs
DIM MUSIC$[2,4]
MUSIC$[0,0]="The Beatles"
MUSIC$[0,1]="Hey Jude",MUSIC$[0,2]="Let It Be",MUSIC$[0,3]="Twist and Shout",MUSIC$[0,4]="Yesterday"
MUSIC$[1,0]="Paul Simon"
MUSIC$[1,1]="Bridge Over Troubled Waters",MUSIC$[1,2]="Hearts and Bones",MUSIC$[1,3]="Kathy's Song",MUSIC$[1,4]="The Sound of Silence"
MUSIC$[2,0]="Willie Nelson"
MUSIC$[2,1]="Always On My Mind",MUSIC$[2,2]="Getting Over You",MUSIC$[2,3]="Old Fords and Natural Stone",MUSIC$[2,4]="This Morning"

REM Add nodes to tree
FOR ARTIST=0 TO 2
        NODE_ID=NODE_ID+1
        REM Add the artists as expandable nodes on the tree control
        myTree!.addExpandableNode(NODE_ID,PARENT_ID,MUSIC$[ARTIST,0])
        SONG_PARENT_ID=NODE_ID
        FOR SONG=1 TO 4
        NODE_ID=NODE_ID+1
        myTree!.addNode(NODE_ID,SONG_PARENT_ID,MUSIC$[ARTIST,SONG])
        NEXT SONG
NEXT ARTIST

REM Show the window
myWindow!.setVisible(mySysGui!.TRUE)

REM Register the CALLBACK routines
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

REM Process Events
PROCESS_EVENTS

REM Callback routine called when the user closes the application window
APP_CLOSE:
RELEASE
RETURN

See Also

BBjAPI

BBjSysGui

BBjControl

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.