Interface

Gtk.Scrollable

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.

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 overlaid graphics, like the overshoot indication, at the right position.

gtk_scrollable_get_hadjustment

Retrieves the GtkAdjustment used for horizontal scrolling.

gtk_scrollable_get_hscroll_policy

Gets the horizontal GtkScrollablePolicy.

gtk_scrollable_get_vadjustment

Retrieves the GtkAdjustment used for vertical scrolling.

gtk_scrollable_get_vscroll_policy

Gets the vertical GtkScrollablePolicy.

gtk_scrollable_set_hadjustment

Sets the horizontal adjustment of the GtkScrollable.

gtk_scrollable_set_hscroll_policy

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

gtk_scrollable_set_vadjustment

Sets the vertical adjustment of the GtkScrollable.

gtk_scrollable_set_vscroll_policy

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

Properties

Gtk.Scrollable:hadjustment

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

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.

Gtk.Scrollable:vadjustment

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

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.

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 overlaid graphics, like the overshoot indication, at the right position.