
BBjTree::isRootVisible
Description
Returns whether the BBjTree root node is visible.
Syntax
Return Value |
Method |
boolean |
isRootVisible() |
Parameters
None.
Return Value
Returns whether the tree root node is visible (0 = hidden, 1 = visible).
Remarks
By default, the tree root node is visible.
Example
rem ' isRootVisible sysgui = unt open (sysgui)"X0" sysgui! = bbjapi().getSysGui() title$ = "BBjTree" pos = iff(info(3,6)="5",10,100) window! = sysgui!.addWindow(pos,pos,250,450,title$,$00090003$) window!.setCallback(window!.ON_CLOSE,"eoj") window!.setCallback(window!.ON_RESIZE,"resize") rem ' Define tree data 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 Water" 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" dim image$[2,4] rem ' fill in filenames here to set node-specific icons image$[0,0]=""; rem "The Beatles" image$[0,1]=""; rem "Hey Jude" image$[0,2]=""; rem "Let It Be" image$[0,3]=""; rem "Twist and Shout" image$[0,4]=""; rem "Yesterday" image$[1,0]=""; rem "Paul Simon" image$[1,1]=""; rem "Bridge Over Troubled Water" image$[1,2]=""; rem "Hearts and Bones" image$[1,3]=""; rem "Kathy's Song" image$[1,4]=""; rem "The Sound of Silence" image$[2,0]=""; rem "Willie Nelson" image$[2,1]=""; rem "Always On My Mind" image$[2,2]=""; rem "Getting Over You" image$[2,3]=""; rem "Old Fords and Natural Stone" image$[2,4]=""; rem "This Morning" rem ' Create and populate tree tree! = window!.addTree(101,25,25,200,350) tree!.setSelectionMode(tree!.SINGLE_TREE_SELECTION) root = 0 node = 0 root$ = "Musical Tree" root$ = "<html><h2>" + root$ + "</h2></html>" tree!.setRoot(root,root$) tree!.setToolTipText(root,root$) color! = sysgui!.makeColor(rnd(255),rnd(255),rnd(255)) tree!.setNodeForeColor(root,color!) for artist = 0 to 2 node = node + 1 artist$ = "<html><h3>"+music$[artist,0]+"</h3></html>" tree!.addExpandableNode(node,root,artist$) tree!.expandNode(node) tree!.setToolTipText(node,artist$) color! = sysgui!.makeColor(rnd(255),rnd(255),rnd(255)) tree!.setNodeForeColor(node,color!) if len(image$[artist,0]) then tree!.setNodeIcon(node,image$[artist,0]) endif parent = node for song = 1 to 4 node = node + 1 song$ = music$[artist,song] tree!.addNode(node,parent,song$) tree!.setToolTipText(node,song$) color! = sysgui!.makeColor(rnd(255),rnd(255),rnd(255)) tree!.setNodeForeColor(node,color!) if len(image$[artist,song]) then tree!.setNodeIcon(node,image$[artist,song]) endif next song next artist tree!.setCallback(tree!.ON_TREE_SELECT,"event") tree!.setCallback(tree!.ON_TREE_DESELECT,"event") tree!.setCallback(tree!.ON_TREE_EXPAND,"event") tree!.setCallback(tree!.ON_TREE_COLLAPSE,"event") tree!.setCallback(tree!.ON_TREE_EDIT_STOP,"event") tree!.setCallback(tree!.ON_TREE_MOUSE_UP,"event") tree!.setCallback(tree!.ON_TREE_MOUSE_DOWN,"event") tree!.setCallback(tree!.ON_TREE_DOUBLE_CLICK,"event") tree!.setCallback(tree!.ON_TREE_RIGHT_MOUSE_UP,"event") tree!.setCallback(tree!.ON_TREE_RIGHT_MOUSE_DOWN,"event") rem tree!.setCallback(tree!.ON_POPUP_REQUEST,"event") setRootVisible! = window!.addCheckBox(102,25,400,200,25,"setRootVisible",$0004$) setRootVisible!.setCallback(setRootVisible!.ON_CHECK_ON,"setRootVisibleOn") setRootVisible!.setCallback(setRootVisible!.ON_CHECK_OFF,"setRootVisibleOff") event = 0 process_events eoj: release setRootVisibleOn: tree!.setRootVisible(1) print "isRootVisible? ",tree!.isRootVisible() return setRootVisibleOff: tree!.setRootVisible(0) print "isRootVisible? ",tree!.isRootVisible() return event: event = event + 1 dim event$:tmpl(sysgui),generic$:noticetpl(0,0) event$ = sysgui!.getLastEventString() e$ = sysgui!.getLastEvent().toString() e$ = e$(1,pos("@"=e$)-1) print e$,event,":", if event.code$ = "N" then generic$ = notice(sysgui,event.x) dim notice$:noticetpl(generic.objtype,event.flags) notice$ = generic$ fields = pos($0a$=fattr(notice$,""),1,0) dim field$:"name["+str(fields)+"]:c(1*)" let field$=fattr(notice$,"") for field=1 to fields name$ = field.name$[field] info$ = fattr(notice$,name$,$$) print " ",name$,"=", if asc(info$)=1 then print field(notice$,name$), else print str(nfield(notice$,name$)), endif next field endif print "" print "Selected node:",tree!.getSelectedNode() print "" return resize: event! = sysgui!.getLastEvent() print "Resized; width=",str(event!.getWidth()),", height=",str(event!.getHeight()) return setRootVisibleOff: tree!.setRootVisible(0) print "isRootVisible? ",tree!.isRootVisible() return event: event = event + 1 dim event$:tmpl(sysgui),generic$:noticetpl(0,0) event$ = sysgui!.getLastEventString() e$ = sysgui!.getLastEvent().toString() e$ = e$(1,pos("@"=e$)-1) print e$,event,":", if event.code$ = "N" then generic$ = notice(sysgui,event.x) dim notice$:noticetpl(generic.objtype,event.flags) notice$ = generic$ fields = pos($0a$=fattr(notice$,""),1,0) dim field$:"name["+str(fields)+"]:c(1*)" let field$=fattr(notice$,"") for field=1 to fields name$ = field.name$[field] info$ = fattr(notice$,name$,$$) print " ",name$,"=", if asc(info$)=1 then print field(notice$,name$), else print str(nfield(notice$,name$)), endif next field endif print "" print "Selected node:",tree!.getSelectedNode() print "" return resize: event! = sysgui!.getLastEvent() print "Resized; width=",str(event!.getWidth()),", height=",str(event!.getHeight()) return |
See Also
See the BBj Object Diagram for an illustration of the relationship between BBj Objects.