def add_to_selection crow=@current_index-@_header_adjustment
      @last_clicked ||= crow
      min = [@last_clicked, crow].min
      max = [@last_clicked, crow].max
      case @selection_mode 
      when :multiple
        @widget_scrolled = true # FIXME we need a better name
        if @selected_indices.include? crow
          # delete from last_clicked until this one in any direction
          min.upto(max){ |i| @selected_indices.delete i }
          lse = ListSelectionEvent.new(min, max, self, :DELETE)
          fire_handler :LIST_SELECTION_EVENT, lse
        else
          # add to selection from last_clicked until this one in any direction
          min.upto(max){ |i| @selected_indices << i unless @selected_indices.include?(i) }
          lse = ListSelectionEvent.new(min, max, self, :INSERT)
          fire_handler :LIST_SELECTION_EVENT, lse
        end
      else
      end
      @repaint_required = true
      self
    end
def add_to_selection crow=@current_index-@_header_adjustment
      @last_clicked ||= crow
      min = [@last_clicked, crow].min
      max = [@last_clicked, crow].max
      case @selection_mode 
      when :multiple
        @widget_scrolled = true # FIXME we need a better name
        if @selected_indices.include? crow
          # delete from last_clicked until this one in any direction
          min.upto(max){ |i| @selected_indices.delete i }
          lse = ListSelectionEvent.new(min, max, self, :DELETE)
          fire_handler :LIST_SELECTION_EVENT, lse
        else
          # add to selection from last_clicked until this one in any direction
          min.upto(max){ |i| @selected_indices << i unless @selected_indices.include?(i) }
          lse = ListSelectionEvent.new(min, max, self, :INSERT)
          fire_handler :LIST_SELECTION_EVENT, lse
        end
      else
      end
      @repaint_required = true
      self
    end
Only for multiple mode.
 add an item to selection, if selection mode is multiple
 if item already selected, it is deselected, else selected
 typically bound to Ctrl-Space
 @example
     bind_key(0) { add_to_selection }