Method: Command_table#clone_rows

Defined in:
lib/class/Command_table.rb

#clone_rowsObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/class/Command_table.rb', line 76

def clone_rows
  return 0 if @cmd_table.currentItem.nil?
  rows_to_delete = []
  @cmd_table.selectedItems.each do |item|
    rows_to_delete.push item.row
  end
  rows_to_delete.uniq!
  rows_to_delete.each_with_index do |row, i|
    @cmd_table.insertRow(@cmd_table.rowCount)
    unless @cmd_table.item(row, 1).nil?
      @cmd_table.setItem(@cmd_table.rowCount - 1, 1, Qt::TableWidgetItem.new(@cmd_table.item(row, 1).text))
    end
    if @bus == 'SPI'
      unless @cmd_table.item(row, 2).nil?
        repetition_item =  Qt::TableWidgetItem.new
        repetition_item.setData(0, Qt::Variant.new(@cmd_table.item(row, 2).text.to_i))
        @cmd_table.setItem(@cmd_table.rowCount - 1, 2, repetition_item)
      end
      unless @cmd_table.item(row, 3).nil?
        @cmd_table.setItem(@cmd_table.rowCount - 1, 3, Qt::TableWidgetItem.new(@cmd_table.item(row, 3).text))
      end
    else
      unless @cmd_table.item(row, 2).nil?
        @cmd_table.setItem(@cmd_table.rowCount - 1, 2, Qt::TableWidgetItem.new(@cmd_table.item(row, 2).text))
      end
    end
    unless @cmd_table.item(row, 0).nil?
      order_item =  Qt::TableWidgetItem.new
      order_item.setData(0, Qt::Variant.new(@cmd_table.item(row, 0).text.to_i))
      @cmd_table.setItem(@cmd_table.rowCount - 1, 0, order_item)
    end
  end
end