module Gtk::Scrollable
Overview
Gtk::Scrollable
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 [signal@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
Gtk::Widget#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::Widget#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 [signal@Gtk.Adjustment::value-changed] signal, the scrollable widget should scroll its contents.
Direct including types
- Adw::ClampScrollable
- Gtk::ColumnView
- Gtk::GridView
- Gtk::IconView
- Gtk::ListBase
- Gtk::ListView
- Gtk::TextView
- Gtk::TreeView
- Gtk::Viewport
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/scrollable.crClass Method Summary
Instance Method Summary
- #border : Gtk::Border
- #hadjustment : Gtk::Adjustment?
- #hadjustment=(hadjustment : Gtk::Adjustment?) : Nil
- #hscroll_policy : Gtk::ScrollablePolicy
- #hscroll_policy=(policy : Gtk::ScrollablePolicy) : Nil
- #to_unsafe
- #vadjustment : Gtk::Adjustment?
- #vadjustment=(vadjustment : Gtk::Adjustment?) : Nil
- #vscroll_policy : Gtk::ScrollablePolicy
- #vscroll_policy=(policy : Gtk::ScrollablePolicy) : Nil