Method: ActiveTableModel#data

Defined in:
ext/ruby/qtruby/rails_support/active_table_model.rb

#data(index, role = Qt::DisplayRole) ⇒ Object



66
67
68
69
70
71
72
73
74
75
# File 'ext/ruby/qtruby/rails_support/active_table_model.rb', line 66

def data(index, role=Qt::DisplayRole)
    invalid = Qt::Variant.new
    return invalid unless role == Qt::DisplayRole or role == Qt::EditRole
    item = @collection[index.row]
    return invalid if item.nil?
    raise "invalid column #{index.column}" if (index.column < 0 ||
        index.column >= @keys.size)
    value = eval("item.attributes['%s']" % @keys[index.column].gsub(/\./, "'].attributes['"))
    return Qt::Variant.new(value)
end