# 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