method insert_ele ?parent ele =
let row = store#append ?parent () in
store#set row col_data ele;
store#set row col_display
(to_utf8 (self#display_string_of_ele ele));
begin
match self#string_type_of_ele ele with
None -> ()
| Some s ->
store#set row col_type (to_utf8 s);
end;
match self#subs_of_ele ele with
[] -> ()
| l -> List.iter (self#insert_ele ~parent: row) l