@update_function<EOL><INDENT>def _repack(self):<DEDENT>
if not self.is_attached_to_gui:<EOL><INDENT>return<EOL><DEDENT>has_claim_changed = self._claim()<EOL>if has_claim_changed:<EOL><INDENT>self.__is_claim_stale = False<EOL>self.parent._repack()<EOL>self.__is_claim_stale = True<EOL><DEDENT>else:<EOL><INDENT>self._realign()<EOL><DEDENT>
Indicate that the widget's size may have changed, and that the sizes of 
its children and parents may also need to change in response.

This method triggers a recursive update that first goes down the widget 
hierarchy figuring out how much space each widget needs, and then goes 
up the hierarchy figuring out how much space each widget gets.

The most common way to use this method is in setter functions in 
`Widget` subclasses, where the attribute being set might change the 
shape of the widget.  If the attribute being set might change the 
widget's appearance, but *not* it's size, call `_draw()` instead.