code: def insert(self, position, item, select=False):
          
          if item in self:
              raise ValueError("item %s already in list" % item)
          modeliter = self.model.insert(position, (item,))
          self._id_to_iter[id(item)] = modeliter
          if select:
              self.selected_item = item
          self.emit('item-inserted', item, position)
docs: Insert an item at the specified position in the list.
  
          :param position: The position to insert the item at
          :param item: The item to be added
          :param select: Whether the item should be selected after adding