rem 'Set a node to be non-editable in 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 'Make the tree editable
myTree!.setTreeEditable(mySysGui!.TRUE)
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
rem 'Add the songs as child nodes of the Artists on the tree control
myTree!.addNode(NODE_ID,SONG_PARENT_ID,MUSIC$[ARTIST,SONG])
NEXT SONG
NEXT ARTIST
rem 'Set the node ("Willie Nelson") not to be editable
myTree!.setNodeEditable(SONG_PARENT_ID, mySysGui!.FALSE)
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
|