GtkScrollable

gtk.scrollable.Scrollable is an interface for widgets with native scrolling ability.

To implement this interface you should override the gtk.scrollable.Scrollable.Adjustment and gtk.scrollable.Scrollable.Adjustment properties.

Creating a scrollable widget

All scrollable widgets should do the following.

  • When a parent widget sets the scrollable child widget’s adjustments, the widget should connect to the signal@Gtk.Adjustment::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 vfunc@Gtk.Widget.size_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 vfunc@Gtk.Widget.size_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 gtk.adjustment.Adjustment.configure.
  • When any of the adjustments emits the signal@Gtk.Adjustment::value-changed signal, the scrollable widget should scroll its contents.
struct GtkScrollable