class Formotion::RowType::CheckRow

Public Instance Methods

build_cell(cell) click to toggle source

This is actually called whenever again cell is checked/unchecked in the UITableViewDelegate callbacks. So (for now) don't instantiate long-lived objects in them. Maybe that logic should be moved elsewhere?

# File lib/formotion/row_type/check_row.rb, line 16
def build_cell(cell)
  cell.selectionStyle = self.row.selection_style || UITableViewCellSelectionStyleBlue
  update_cell_value(cell)
  observe(self.row, "value") do |old_value, new_value|
    update_cell_value(cell)
  end
  nil
end
on_select(tableView, tableViewDelegate) click to toggle source
# File lib/formotion/row_type/check_row.rb, line 25
def on_select(tableView, tableViewDelegate)
  if !row.editable?
    return
  end
  if row.section.select_one and !row.value
    row.section.rows.each do |other_row|
      other_row.value = (row == other_row)
    end
  elsif !row.section.select_one
    row.value = !row.value
  end
end
update_cell_value(cell) click to toggle source
# File lib/formotion/row_type/check_row.rb, line 8
def update_cell_value(cell)
  cell.accessoryType = cell.editingAccessoryType = row.value ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone
end