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