Now I understand. Thank you very much! =) 2017-04-01 17:48 GMT+03:00 Peter Uhnak <i.uh...@gmail.com>:
> Hi, > > I wanted to point you to the new Spec book ( http://files.pharo.org/books- > pdfs/spec/2017-01-23-SpecBooklet.pdf ), but apprently it's not there. > > Many Spec widgets have examples accompanying them, so always check class > side (not for all though). For TreeModel you can see couple there - good > for playing around; e.g. > > exampleWithNoSpecifiedNodes > "self exampleWithNoSpecifiedNodes" > TreeModel new > roots: (1 to: 5); > childrenBlock: [ :item | 1+item to: 5+item ]; > openWithSpec > > You specify the initial data (root nodes) via the `roots:` message. > The `childrenBlock:` then specifies how one would retrieve data given a > particular node; note that this applies to _any node_, not just the root > ones; so you can have potentially infinitely deep trees. > > A more complex example could be this (this is awful code for demonstration > only ;): > > TreeModel new > roots: {#parent. #childless. 20. #root -> #(a b c)}; > childrenBlock: [ :item | > item isSymbol ifTrue: [ > item = #parent > ifTrue: [ #(child1 child2) ] > ifFalse: [ #() ] > ] ifFalse: [ > item isNumber > ifTrue: [ {item + 2. item ** 2} ] > ifFalse: [ "association" item value ] > ] > ]; > openWithSpec > > > Peter > > On Sat, Apr 01, 2017 at 06:49:41AM -0700, chrismihaylyk wrote: > > Hi! > > > > Could anyone explain me how works childrenBlock: method from TreeModel? > > step-by-step. > > What data it operates? How makes a result? > > > > Thanks a lot? Khrystyna. > > > > > > > > > > > > -- > > View this message in context: http://forum.world.st/How- > childrenBlock-in-TreeModel-works-tp4940884.html > > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > > >