7. Cells

Seventh task of The 7 Tasks from 7GUIs

Challenges: change propagation, widget customization, implementing a more authentic/involved GUI application.

The task is to create a simple but usable spreadsheet application. The spreadsheet should be scrollable. The rows should be numbered from 0 to 99 and the columns from A to Z. Double-clicking a cell C lets the user change C’s formula. After having finished editing the formula is parsed and evaluated and its updated value is shown in C.

In addition, all cells which depend on C must be reevaluated. This process repeats until there are no more changes in the values of any cell (change propagation). Note that one should not just recompute the value of every cell but only of those cells that depend on another cell’s changed value.

Supported formulas : SUM (=sum) and AVERAGE (=avg). Example, =avg(a1:10) will average cells a1 to a10.

1
2
3
4
5
6
7
8
9
10
A
B
C
D
E
F
G
H
I
J
Deploys by Netlify