method get_children (it_opt : Gtk.tree_iter option) =
let first =
match it_opt with
None -> store#get_iter_first
| Some it ->
if store#iter_has_child it then
find_first_child store it
else
None
in
match first with
None -> []
| Some it ->
let rr it = store#get_row_reference (store#get_path it) in
let rec f acc it =
if store#iter_next it then
f (rr it :: acc) it
else
List.rev acc
in
f [rr it] it