Translate coordinate to cell or point. If the table contains a cell at
the given location, this cell will be returned. Otherwise, if the
location is within the column/row range of the table, a point will be
returned containing the coordinates of the (empty) cell. This may be
used to create a cell at the indicated location. For example:
start_typing(Table, Ev:event) :->
get(Table, cell_from_position, Ev, CellOrPos),
( send(CellOrPos, instance_of, table_cell)
-> send(CellOrPos?image, keyboard_focus, @on)
; object(CellOrPos, point(X, Y)),
send(Table, append,
new(T, editable_text('')), X, Y),
send(Table, compute), % force display now
send(T, keyboard_focus, @on)
).