Interface

GtkScrollable

Description [src]

interface Gtk.Scrollable : GObject.Object

GtkScrollable is an interface for 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 connect to the GtkAdjustment::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 Gtk.WidgetClass.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 Gtk.WidgetClass.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_configure().

  • 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 fromGObject.

Instance methods

gtk_scrollable_get_border

Returns the size of a non-scrolling border around the outside of the scrollable.

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.

gtk_scrollable_set_vadjustment

Sets the vertical adjustment of the GtkScrollable.

gtk_scrollable_set_vscroll_policy

Sets the GtkScrollablePolicy.

Properties

Gtk.Scrollable:hadjustment

Horizontal GtkAdjustment of the scrollable widget.

Gtk.Scrollable:hscroll-policy

Determines when horizontal scrolling should start.

Gtk.Scrollable:vadjustment

Vertical GtkAdjustment of the scrollable widget.

Gtk.Scrollable:vscroll-policy

Determines when vertical scrolling should start.

Interface structure

struct GtkScrollableInterface {
  GTypeInterface base_iface;
  gboolean (* get_border) (
    GtkScrollable* scrollable,
    GtkBorder* border
  );
  
}

No description available.

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.