(use goo)

(use samurui/samurui)
(use samurui/gtk.swig)

(dc <simple-app> (<any>))

(dc <str-hold> (<any>))
(iprop <str-hold>  da-str <str> "DaString")

(dm hold (s|<str>)
  (def o (new <str-hold>))
  (set (da-str o) s)
  o
  )

(dm to-str (h|<str-hold> => <str>)
  (da-str h)
  )

(iprop <simple-app> tree-nodes <col> "Tree Nodes")

(dv my-app (new <simple-app>))

(set (tree-nodes my-app) (vec (hold "Apples")
                              (hold "Bananas")
                              (hold "Pears" )
                              (vec (hold "Cows")
                                   (hold "Pigs")
                                   (hold "Ducks"))
                              (vec (vec (hold "Spaceships")
                                        (hold "Monkeys")
                                        (hold "Dogs")
                                        (vec (hold "Enterprise")
                                             (hold "Endeavor")
                                             (hold "Challenger"))
                                        (vec (hold "Soup")
                                             (hold "Crackers"))
                                        (hold "Zoos"))
                                   (hold "Kings")
                                   (hold "Queens")
                                   (hold "Pawns"))
                              ))

(imodel <simple-app>
        "Tree View Hopefully"
        (attr tree-nodes fill scroll)
        )

(samurui-init)

(present my-app)
(samurui-go)