Interface

GtkScrollable

Description [src]

interface Gtk.Scrollable : GObject.Object

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.

Prerequisite

In order to implement Scrollable, your type must inherit from GObject.

Instance methods

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

Available since: 3.16

gtk_scrollable_get_hadjustment

Retrieves the GtkAdjustment used for horizontal scrolling.

Available since: 3.0

gtk_scrollable_get_hscroll_policy

Gets the horizontal GtkScrollablePolicy.

Available since: 3.0

gtk_scrollable_get_vadjustment

Retrieves the GtkAdjustment used for vertical scrolling.

Available since: 3.0

gtk_scrollable_get_vscroll_policy

Gets the vertical GtkScrollablePolicy.

Available since: 3.0

gtk_scrollable_set_hadjustment

Sets the horizontal adjustment of the GtkScrollable.

Available since: 3.0

gtk_scrollable_set_hscroll_policy

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

Available since: 3.0

gtk_scrollable_set_vadjustment

Sets the vertical adjustment of the GtkScrollable.

Available since: 3.0

gtk_scrollable_set_vscroll_policy

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

Available since: 3.0

Properties

Gtk.Scrollable:hadjustment

Horizontal GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Available since: 3.0

Gtk.Scrollable:hscroll-policy

Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width.

Available since: 3.0

Gtk.Scrollable:vadjustment

Verical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Available since: 3.0

Gtk.Scrollable:vscroll-policy

Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height.

Available since: 3.0

Interface structure

struct GtkScrollableInterface {
  GTypeInterface base_iface;
  gboolean (* get_border) (
    GtkScrollable* scrollable,
    GtkBorder* border
  );
  
}
Interface members
base_iface
GTypeInterface
 No description available.
get_border
gboolean (* get_border) (
    GtkScrollable* scrollable,
    GtkBorder* border
  )
 No description available.

Virtual methods

Gtk.Scrollable.get_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.