Returns the size of a non-scrolling border around the outside of the scrollable. An example for this would be treeview headers. GTK+ can use this information to display overlayed graphics, like the overshoot indication, at the right position.
Retrieves the #GtkAdjustment used for horizontal scrolling.
Gets the horizontal #GtkScrollablePolicy.
Get the main Gtk struct
Retrieves the #GtkAdjustment used for vertical scrolling.
Gets the vertical #GtkScrollablePolicy.
Sets the horizontal adjustment of the #GtkScrollable.
Sets the #GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.
Sets the vertical adjustment of the #GtkScrollable.
Sets the #GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.
#GtkScrollable is an interface that is implemented by widgets with native scrolling ability.
To implement this interface you should override the #GtkScrollable:hadjustment and #GtkScrollable:vadjustment 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 populate the adjustments’ #GtkAdjustment:lower, #GtkAdjustment:upper, #GtkAdjustment:step-increment, #GtkAdjustment:page-increment and #GtkAdjustment:page-size properties and connect to the #GtkAdjustment::value-changed signal.
- 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 #GtkWidgetClass.size_allocate() function.
- When the parent allocates space to the scrollable child widget, the widget should update the adjustments’ properties with new values.
- When any of the adjustments emits the #GtkAdjustment::value-changed signal, the scrollable widget should scroll its contents.