Package org.gnome.gtk

Interface Scrollable

All Superinterfaces:
Proxy
All Known Implementing Classes:
ClampScrollable, ColumnView, GridView, IconView, ListBase, ListBase.ListBaseImpl, ListView, Map, Scrollable.ScrollableImpl, TextView, TreeView, View, Viewport

@Generated("io.github.jwharm.JavaGI") public interface Scrollable extends Proxy
GtkScrollable is an interface for widgets with native scrolling ability.

To implement this interface you should override the Gtk.Scrollable:hadjustment and Gtk.Scrollable: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 Gtk.Adjustment::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 Widget.sizeAllocate(org.gnome.gtk.Allocation, int) 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 Widget.sizeAllocate(org.gnome.gtk.Allocation, int) implementation.
  • When any of the adjustments emits the Gtk.Adjustment::value-changed signal, the scrollable widget should scroll its contents.