[gtk+] gtkcontainer: clarify requirements for implementations
- From: Carlos Soriano SĂĄnchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtkcontainer: clarify requirements for implementations
- Date: Mon, 16 Nov 2015 16:19:04 +0000 (UTC)
commit 81cb57b260b22ab2e1a0cb2b29c7c09fd3de128c
Author: Carlos Soriano <csoriano gnome org>
Date: Wed Nov 11 11:37:28 2015 +0100
gtkcontainer: clarify requirements for implementations
Spent quite a few time investigating why the widgets were
not shown in my GtkContainer implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=758087
gtk/gtkcontainer.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 30a6d1e..9c4b81d 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -80,6 +80,16 @@
* children in a horizontal row, and a #GtkGrid arranges the widgets it contains
* in a two-dimensional grid.
*
+ * For implementations of #GtkContainer the virtual method #GtkContainerClass.forall()
+ * is always required, since it's used for drawing and other internal operations
+ * on the children.
+ * If the #GtkContainer implementation expect to have non internal children
+ * it's needed to implement both #GtkContainerClass.add() and #GtkContainerClass.remove().
+ * If the GtkContainer implementation has internal children, they should be added
+ * with gtk_widget_set_parent() on init() and removed with gtk_widget_unparent()
+ * in the #GtkWidgetClass.destroy() implementation.
+ * See more about implementing custom widgets at https://wiki.gnome.org/HowDoI/CustomWidgets
+ *
* # Height for width geometry management
*
* GTK+ uses a height-for-width (and width-for-height) geometry management system.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]