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 theGtk.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 from
GObject
.
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
);
}
Interface members
base_iface |
|
No description available. | |
get_border |
|
No description available. |
Virtual methods
Gtk.Scrollable.get_border
Returns the size of a non-scrolling border around the outside of the scrollable.