method edit_first_selected f =
match view#selection#get_selected_rows with
[] -> ()
| path :: _ ->
let rr = self#rr_of_path path in
let d = store#get ~row: rr#iter ~column: col_data in
let d = f d in
store#set ~row: rr#iter ~column: col_data d;
self#set_display rr#iter d