method edit_selected f_edit =
let sorted_select = List.sort compare list_select in
match sorted_select with
[] -> ()
| n :: _ ->
try
let ele = List.nth !listref n in
let ele2 = f_edit ele in
let rec iter m = function
[] -> []
| e :: q ->
if n = m then
ele2 :: q
else
e :: (iter (m+1) q)
in
self#update (iter 0 !listref);
wlist#select n 0
with
Not_found ->
()