method append_data = fun c ?parent ?color () -> let iter = self#append ?parent () in self#set_data c ~row:iter ?color (); iter