summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte.benjamin@googlemail.com>2022-04-12 23:48:55 +0000
committerBenjamin Otte <otte.benjamin@googlemail.com>2022-04-12 23:48:55 +0000
commita2599c2bb938b0b1afa9bed2f762d18772aa5fc0 (patch)
treeda1eb5bb74d298cb880d29814d4f8d8c4ca2e754
parent7d1429cb91c4a6b6eb851af5dce9c27334045e8c (diff)
parente2675306e1b7f92313e3e9c9dc930aa4d207db5e (diff)
downloadgtk+-a2599c2bb938b0b1afa9bed2f762d18772aa5fc0.tar.gz
Merge branch 'clarify-scrollable-docs' into 'main'
scrollable: Clarify when to set adjustment props See merge request GNOME/gtk!4632
-rw-r--r--gtk/gtkscrollable.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/gtk/gtkscrollable.c b/gtk/gtkscrollable.c
index 041f09ac04..4df0c170f6 100644
--- a/gtk/gtkscrollable.c
+++ b/gtk/gtkscrollable.c
@@ -29,13 +29,11 @@
* All scrollable widgets should do the following.
*
* - When a parent widget sets the scrollable child widget’s adjustments,
- * the widget should populate the adjustments’
- * [property@Gtk.Adjustment:lower],
- * [property@Gtk.Adjustment:upper],
- * [property@Gtk.Adjustment:step-increment],
- * [property@Gtk.Adjustment:page-increment] and
- * [property@Gtk.Adjustment:page-size] properties and connect to the
- * [signal@Gtk.Adjustment::value-changed] signal.
+ * 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 [vfunc@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.
@@ -43,7 +41,8 @@
* [vfunc@Gtk.Widget.size_allocate] implementation.
*
* - When the parent allocates space to the scrollable child widget,
- * the widget should update the adjustments’ properties with new values.
+ * the widget must ensure the adjustments’ property values are correct and up
+ * to date, for example using [method@Gtk.Adjustment.configure].
*
* - When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed]
* signal, the scrollable widget should scroll its contents.