method edit () =
match f_edit, view#selection#get_selected_rows with
None, _ | _, [] -> ()
| Some f, path::_ ->
let row = store#get_iter path in
let t = store#get ~row ~column: datacol in
let (t2 : 'a) = f t in
self#set_row row t2