
# A spreadsheet storage class which is responsible for basic
# manipulation of the area.  row and col indexes are given as
# zero based integers.  Values can be anything.
class SpreadStore

  # methods for cell access

  # Read a cell value.  
  def read(row_idx, col_idx)
  end

  # Write a cell value.  
  def write(row_idx, col_idx, val)
  end
  
  alias [] read
  alias []= write
  
  # Get the number of rows.
  def rows
  end
  
  # Get the number of columns.
  def cols
  end
  
  # methods for area manipulation
  # cells beyond given ranges are moved accordingly

  # Insert rows before given row_idx.
  def insert_rows(row_idx, count = 1)
  end

  # Insert columns before given col_idx.  
  def insert_cols(col_idx, count = 1)
  end
  
  # Insert an area at the given position with the given
  # size.
  def insert_area(row_idx, col_idx, rows, cols)
  end
  
  # Delete rows at given row_idx.
  def delete_rows(row_idx, count = 1)
  end

  # Delete columns at given col_idx.  
  def delete_cols(col_idx, count = 1)
  end
  
  # Delete an area at the given position with the given
  # size.
  def delete_area(row_idx, col_idx, rows, cols)
  end
  
  # completely clear the sheet
  def clear
  end
  
end
