Scrollable

#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.

Members

Functions

getBorder
bool getBorder(gtk.border.Border border)

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.

getHadjustment
gtk.adjustment.Adjustment getHadjustment()

Retrieves the #GtkAdjustment used for horizontal scrolling.

getHscrollPolicy
gtk.types.ScrollablePolicy getHscrollPolicy()

Gets the horizontal #GtkScrollablePolicy.

getVadjustment
gtk.adjustment.Adjustment getVadjustment()

Retrieves the #GtkAdjustment used for vertical scrolling.

getVscrollPolicy
gtk.types.ScrollablePolicy getVscrollPolicy()

Gets the vertical #GtkScrollablePolicy.

setHadjustment
void setHadjustment(gtk.adjustment.Adjustment hadjustment)

Sets the horizontal adjustment of the #GtkScrollable.

setHscrollPolicy
void setHscrollPolicy(gtk.types.ScrollablePolicy policy)

Sets the #GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.

setVadjustment
void setVadjustment(gtk.adjustment.Adjustment vadjustment)

Sets the vertical adjustment of the #GtkScrollable.

setVscrollPolicy
void setVscrollPolicy(gtk.types.ScrollablePolicy policy)

Sets the #GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.

Properties

hadjustment
gtk.adjustment.Adjustment hadjustment [@property getter]

Get hadjustment property.

hadjustment
gtk.adjustment.Adjustment hadjustment [@property setter]

Set hadjustment property.

hscrollPolicy
gtk.types.ScrollablePolicy hscrollPolicy [@property getter]

Get hscrollPolicy property.

hscrollPolicy
gtk.types.ScrollablePolicy hscrollPolicy [@property setter]

Set hscrollPolicy property.

vadjustment
gtk.adjustment.Adjustment vadjustment [@property getter]

Get vadjustment property.

vadjustment
gtk.adjustment.Adjustment vadjustment [@property setter]

Set vadjustment property.

vscrollPolicy
gtk.types.ScrollablePolicy vscrollPolicy [@property getter]

Get vscrollPolicy property.

vscrollPolicy
gtk.types.ScrollablePolicy vscrollPolicy [@property setter]

Set vscrollPolicy property.

Static functions

_getGType
GType _getGType()