26 lines
493 B
Plaintext
26 lines
493 B
Plaintext
-- parent script "TreeItem"
|
|
-- (minimal implementation with direct property access)
|
|
|
|
property name
|
|
property children
|
|
|
|
on new (me, itemName)
|
|
me.name = itemName
|
|
me.children = []
|
|
return me
|
|
end
|
|
|
|
on addChild (me, child)
|
|
me.children.add(child)
|
|
end
|
|
|
|
-- print a tree
|
|
on printTree (me, treeItem, indent)
|
|
if voidP(treeItem) then treeItem = me
|
|
if voidP(indent) then indent = ""
|
|
put indent&treeItem.name
|
|
repeat with c in treeItem.children
|
|
me.printTree(c, indent&" ")
|
|
end repeat
|
|
end
|