// This file contains helpers for managing child controls.
structchild{
uiControl*c;
GtkWidget*widget;
gbooleanoldhexpand;
GtkAlignoldhalign;
gbooleanoldvexpand;
GtkAlignoldvalign;
// Some children can be boxed; that is, they can have an optionally-margined box around them.
// uiGroup, uiTab, and uiWindow all do this.
GtkWidget*box;
// If the child is not boxed, this is its parent.
// If the child is boxed, this is the box.
GtkContainer*parent;
// This flag is for users of these functions.
// For uiBox, this is "spaced".
// For uiTab, this is "margined". (uiGroup and uiWindow have to maintain their margined state themselves, since the margined state is independent of whether there is a child for those two.)