method insert_data = fun ?parent i data -> let iter = self#insert ?parent i in self#set_data data ~row:iter; iter