When a parent widget sets the scrollable child widget’s adjustments, the widget should connect to the [[email protected]:
GtkScrollable:value-changed] signal. The child widget should then populate the adjustments’ properties as soon as possible,
which usually means queueing an allocation right away and populating the properties in the [[email protected]_allocate]
implementation.
Because its preferred size is the size for a fully expanded widget, the scrollable widget must be able to cope with underallocations.
This means that it must accept any value passed to its [[email protected]_allocate] implementation.
When the parent allocates space to the scrollable child widget, the widget must ensure the adjustments’ property values are correct
and up to date, for example using [[email protected]].
When any of the adjustments emits the [[email protected]:GtkScrollable:value-changed] signal, the scrollable widget
should scroll its contents.