Method: Packet_List#on_cmd_header

Defined in:
lib/Packet_List.rb

#on_cmd_header(header_item_index) ⇒ Object

Called whenever a header is clicked



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/Packet_List.rb', line 50

def on_cmd_header(header_item_index)
  @data.gui_mutex.synchronize do
    header.setArrowDir(@header_item_index, MAYBE)
    if @header_item_index == header_item_index
      @reversed = !@reversed
    else
      @reversed = true
    end
    @header_item_index = header_item_index
    header.setArrowDir(@header_item_index, @reversed)
    sortItems
  end
  # sort array
  @data.items.sort! do |a, b|
    cmp = a.sortable(header_item_index) <=> b.sortable(header_item_index)
    if @reversed
      -cmp
    else
      cmp
    end
  end
  return 0
end