def add(self, row, col, child):
if (row, col) in self._children:<EOL><INDENT>self._detach_child(self._children[row, col])<EOL><DEDENT>self._attach_child(child)<EOL>self._children[row, col] = child<EOL>self._repack_and_regroup_children()<EOL>
Add a widget to the grid at the given position.

It's not an error to specify a cell that's not currently in the grid 
(i.e. 3,3 in a 2x2 grid).  The grid will simply be expanded to fit all 
of its children.